Ir ao conteúdo
  • Cadastre-se

C++ (bug no compilador)


Leonardocdd

Posts recomendados

Boa tarde!

 

Pessoal,

 

Estou com o seguinte problema, ao compilar o código abaixo a variável i_idoso mesmo você digitando zero na entrada ja começa com o valor 1.

Alguém sabe me dizer o que pode estar causando este erro???

{
    while(true)
    {
    scanf ("%d",&idoso);        
    scanf ("%d",&meiaentrada);
    scanf ("%d",&comum);
            int i_idoso, i_meia, i_comum;
            int saldo, total;
            i_idoso+=idoso;
            i_meia+=meiaentrada;
            i_comum+=comum;
            total+=idoso+meiaentrada+comum;
            printf ("\n Ingressos Vendidos: %d ",total);
            printf ("\n Ingressos Vendidos idoso %d ",i_idoso);
            printf ("\n Ingressos Vendidos Meia: %d ",i_meia);
            printf ("\n Ingressos Vendidos Comum: %d ",i_comum);
            saldo=(idoso*0)+(meiaentrada*13)+(comum*26);
            printf ("\n Saldo: R$%d,00",saldo);      

    }
}

 

Link para o comentário
Compartilhar em outros sites

Olá! tente inicializar suas variáveis i_idoso, i_meia e i_comum.

 

Não sei se há diferença do C para o C++ quanto a este caso em específico (acredito que não) mas em C uma variável declarada dentro de um bloco são da classe auto, que são criadas em tempo de execução e por isso iniciam-se com o valor de lixo de memória, ou seja, um valor não conhecido previamente.

 

Fiz um teste aqui e deu certo;

 

            i_idoso = 0;
            i_meia = 0;
            i_comum = 0;

 

Link para o comentário
Compartilhar em outros sites

Qual o valor que retorna no seu printf()?

 

while(true)
    {
    scanf ("%d",&idoso);
    scanf ("%d",&meiaentrada);
    scanf ("%d",&comum);
            int i_idoso, i_meia, i_comum;
            int saldo, total;

            i_idoso = 0;
            i_meia = 0;
            i_comum = 0;


            i_idoso+=idoso;
            i_meia+=meiaentrada;
            i_comum+=comum;
            total+=idoso+meiaentrada+comum;
            printf ("\n Ingressos Vendidos: %d ",total);
            printf ("\n Ingressos Vendidos idoso %d ",i_idoso);
            printf ("\n Ingressos Vendidos Meia: %d ",i_meia);
            printf ("\n Ingressos Vendidos Comum: %d ",i_comum);
            saldo=(idoso*0)+(meiaentrada*13)+(comum*26);
            printf ("\n Saldo: R$%d,00",saldo);

    }

 

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...