Ir ao conteúdo
  • Cadastre-se

[C] - Programa não funciona como o esperado


Trying
Ir à solução Resolvido por Ansi C,

Posts recomendados

Olá pessoal,

 

Estava tentando fazer um programa que faça uma soma simples dos números de 2 laços for aninhados, até essa parte foi tudo bem, mas também gostaria que na transição, antes do primeiro contador incrementar pela segunda vez e executar o contador seguinte, me fosse solicitado se eu gostaria de continuar em frente ou terminar o programa.

 

O problema é que quando chego nessa parte abaixo, o programa não para e espera eu digitar o caracter S ou o N, e prossegue como se estivesse pulando esse trecho do código. Não era para o programa esperar eu digitar no scanf?

 printf("Quer continuar? \n");                           // transição de laço        scanf("%c", &continua);         switch(continua)        {        case 'S':                    goto inicio;         case 'N':                    goto fim;        }

código completo:

#include <stdio.h>#include <stdlib.h> int main(){    int i=0,j=0,resposta,erro=0,acerto=0;    char continua; inicio:    for(i; i<10; i++)    {         for(j; j<10; j++)        {            printf("Qual a resposta %d + %d ",i,j);            scanf("%d", &resposta);             if(resposta!=(i+j))    {        erro++;    }     else    {        acerto++;    }        printf("Acertos: %d \n", acerto);        printf("Erros: %d \n", erro);        }        j=0;         printf("Quer continuar? \n");                           // transição de laço        scanf("%c", &continua);         switch(continua)        {        case 'S':                    goto inicio;         case 'N':                    goto fim;        }    }  fim:     system("PAUSE");    return 0;

Muito obrigado!

Link para o comentário
Compartilhar em outros sites

  • Solução

Boa Dia @Trying,
Esse problema é causado pelo o caractere nova linha que resta no buffer de entrada apos digitar o número e teclar ENTER;

Com isso é capturado pelo função scanf.

Eu já abordei uma solução no seguinte poste: Meu vetor esta pulando a primera Posisão 0 para 1

Ficou com dúvida, questione?

  • Curtir 1
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!