Ir ao conteúdo
  • Cadastre-se

lixo na variavel


mersinho
Ir à solução Resolvido por mersinho,

Posts recomendados

Sobre um projeto que estou fazendo pra faculdade

 

Criei o algoritimo é sbre venda de passagens e impressão do ticket da passagem, toto o codigo esta funcionando..

 

mas  tem uma variavel que insiste em imprimir na tela um monte de numeros (lixo de memoria) em vez do valor armazenado..

 

inicializei a variavel em zero quando declarei (tipo int)

 

e armazenei um novo valor nela com o scanf

 

fiz um printf em varias partes do codigo so pra teste pra ver se estava com a saida correta ..

 

até 3 linhas antes da parte do codigo onde deveria ter a saida correta ta tudo ok..

 

mas quando tem que imprimir .. sai um monte de numeros..

 

ja tentei de quase tudo , pesquisei um monte e não consegui imprimir o valor..

 

o que posso ta fazendo de errado... ???

 

como faço para limpar o lixo ..???

Link para o comentário
Compartilhar em outros sites

veja se está imprimindo a variável corretamente, se é inteiro %d, se float %F ...

Naão coloque & no printf,

Sem o código não da pra fazer mais do que isso...

Cara é inteiro e a entrada e saida do valor é com %d e o operador de & esta somente no scanf...

 

se precisar posto o código inteiro pra analisar... ok...mas é grande...

Cara é inteiro e a entrada e saida do valor é com %d e o operador de & esta somente no scanf...

 

se precisar posto o código inteiro pra analisar... ok...mas é grande...

 

veja se está imprimindo a variável corretamente, se é inteiro %d, se float %F ...

Naão coloque & no printf,

Sem o código não da pra fazer mais do que isso...

case (1):

                

                printf("Numero da poltrona                    :  ");

                scanf("%d", &poltrona);

                

                printf("\n\n");

                a = poltrona;

                a--;

                    for (i=0; i<30; i++){

                        if (cont_polt <= 30){

                            if (i == a){

                                if (vet_polt1[a]==poltrona){

                                printf("POLTRONA INDISPONIVEL...");

                                x=2;

                                }

                                    else{

                                    vet_polt1 = poltrona;

                                    printf("Poltrona reservada com sucesso !!! \n\n");

                                    cont_polt =cont_polt +1;

                                    x=1;

                                    }

                                }

                                                    

                            }

                    

                        

                            else{

                                printf(" ONIBUS LOTADO.. TENTE OUTRO ONIBUS... \n");

                            }

                    }

                    

                    for (i=0; i<30; i++){ //teste

                        printf(" - %d", vet_polt1); //teste

                    } //teste

                    do {

                    if (x==1){

                    printf("\n\n\n");

                    printf("Tipo de Passageiro  [1 = Normal]  -  [2 = Estudante]  -  [3 = Idoso] ? :  ");

                    scanf("%d", &tipo);

                    printf("\n\n");

                    printf("\n\n");

                                        

                        if (tipo==1){

                            cont1 = cont1 +1;

                            t1 = v1 * cont1;

                            printf("%d", poltrona);//teste

                            printf("\n\n");

                            printf("------------------------------------------------------------------------------------------\n");

                            printf("          TICKET DE PASSAGEM DE ONIBUS - TERMINAL RODOVIARIO DE TUPANCIRETA \n\n\n");

                            printf(" Valor da passagem ------>  R$  %.2f ", v1);

                            printf(" \n\n");

                            printf(" ONIBUS :  1                         DESTINO : %s\n",destino1 );

                            printf(" \n");

                            printf(" DATA   :  10/10/2015                HORA    : 12:30                POLTRONA :  %d "),poltrona ;// imprime lixo

                            printf("\n------------------------------------------------------------------------------------------\n");

 

 

 

 

como podes ver  o numero 5 em amarelo é o valor absorvido na scanf e no item poltrona  sai um monte de numeros...

 

ahh e no item data e hora tava a mesma coisa , desisti e resolvi fazer sem variavel  mas o numero da poltrona tem que ser por variavel...

anexei print do arquivo rodando na parte que imprime o lixo..

post-788131-0-26189300-1447344919_thumb.

Link para o comentário
Compartilhar em outros sites

  • Solução

 

Cara, fica difícil analisar só por essa parte do código, mas parece que a variável poltrona está fora do ();

faça assim:

 

printf(" DATA   :  10/10/2015                HORA    : 12:30                POLTRONA :  %d ",poltrona);

Cara... perfeito o olhar clinico.....  kkkk.. te agradeço muito....... um errinho tão básico, mas que acontece com quem tá começando... mas....

 

sou fã daquele ditado é errando que se aprende, lógico que isso é esporadicamente nehh...

 

rodou beleza... e isso tava acontecendo também com a data e hora  tinha variaveis nela e acabei tirando...

Obrigado amigo.....

 

Muita sabedoria na vida....

 

Abraço :D :D :D

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

escreva o programa completo

Cara é inteiro e a entrada e saida do valor é com %d e o operador de & esta somente no scanf...

 

se precisar posto o código inteiro pra analisar... ok...mas é grande...

 

case (1):
                
                printf("Numero da poltrona                    :  ");
                scanf("%d", &poltrona);
                
                printf("\n\n");
                a = poltrona;
                a--;
                    for (i=0; i<30; i++){
                        if (cont_polt <= 30){
                            if (i == a){
                                if (vet_polt1[a]==poltrona){
                                printf("POLTRONA INDISPONIVEL...");
                                x=2;
                                }
                                    else{
                                    vet_polt1 = poltrona;
                                    printf("Poltrona reservada com sucesso !!! \n\n");
                                    cont_polt =cont_polt +1;
                                    x=1;
                                    }
                                }
                                                    
                            }
                    
                        
                            else{
                                printf(" ONIBUS LOTADO.. TENTE OUTRO ONIBUS... \n");
                            }
                    }
                    
                    for (i=0; i<30; i++){ //teste
                        printf(" - %d", vet_polt1); //teste
                    } //teste
                    do {
                    if (x==1){
                    printf("\n\n\n");
                    printf("Tipo de Passageiro  [1 = Normal]  -  [2 = Estudante]  -  [3 = Idoso] ? :  ");
                    scanf("%d", &tipo);
                    printf("\n\n");
                    printf("\n\n");
                                        
                        if (tipo==1){
                            cont1 = cont1 +1;
                            t1 = v1 * cont1;
                            printf("%d", poltrona);//teste
                            printf("\n\n");
                            printf("------------------------------------------------------------------------------------------\n");
                            printf("          TICKET DE PASSAGEM DE ONIBUS - TERMINAL RODOVIARIO DE TUPANCIRETA \n\n\n");
                            printf(" Valor da passagem ------>  R$  %.2f ", v1);
                            printf(" \n\n");
                            printf(" ONIBUS :  1                         DESTINO : %s\n",destino1 );
                            printf(" \n");
                            printf(" DATA   :  10/10/2015                HORA    : 12:30                POLTRONA :  %d "),poltrona ;// imprime lixo
                            printf("\n------------------------------------------------------------------------------------------\n");

 

 

 

 

como podes ver  o numero 5 em amarelo é o valor absorvido na scanf e no item poltrona  sai um monte de numeros...

 

ahh e no item data e hora tava a mesma coisa , aí desisti e resolvi fazer sem variavel  mas o numero da poltrona tem que ser por variavel...

anexei print do arquivo rodando na parte que imprime o lixo..

Sobre um projeto que estou fazendo pra faculdade

 

Criei o algoritimo é sbre venda de passagens e impressão do ticket da passagem, toto o codigo esta funcionando..

 

mas  tem uma variavel que insiste em imprimir na tela um monte de numeros (lixo de memoria) em vez do valor armazenado..

 

inicializei a variavel em zero quando declarei (tipo int)

 

e armazenei um novo valor nela com o scanf

 

fiz um printf em varias partes do codigo so pra teste pra ver se estava com a saida correta ..

 

até 3 linhas antes da parte do codigo onde deveria ter a saida correta ta tudo ok..

 

mas quando tem que imprimir .. sai um monte de numeros..

 

ja tentei de quase tudo , pesquisei um monte e não consegui imprimir o valor..

 

o que posso ta fazendo de errado... ???

 

como faço para limpar o lixo ..???

escreva o programa completo

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!