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!