-3
I need help with my code with switch case inside for loop.
I’m a beginner in programming and I don’t understand why the loop doesn’t run as desired. The desired would be to run the printfs before the switch and later the switch itself. Once the option inside the switch was chosen and everything inside it was run, the loop would start again. For some reason, it restarts but printfs before the switch appear more than once (once being the desired).
If anyone can tell me what I did wrong and what I can do to fix it I’d appreciate it.
#include <stdio.h>
int main(void) {
char opcao;//opcao=a vista ou parcelado
float trans, soma;//transações, soma=soma das trans
int numt;//número de trasações
trans = 0;
soma = 0;
for(numt=0;numt<15;numt++)/* Este loop é feito duas vezes seguidas sem chance de interação após a primeira entrada de dados, por algum motivo */
{
printf("\nEscolha umas das duas opções:");
printf("\nv = transações à vista");
printf("\np = transações a prazo");
printf("\nDigite a sua escolha: ");
scanf("%c", &opcao);
switch(opcao)
{
case'v':
printf("\nDigite uma transação: ");
scanf("%f", &trans);
soma = soma + trans;
break;
case'p':
printf("");
printf("\nDigite uma transação: ");
break;
default:
printf("\nERRO! A opção deve ser 'v' ou 'p'. Reinicie o programa.");
}
}
printf("\nO valor das compras à vista é: %.2f", soma);
printf("\nO valor total das compras");
return 0;
}
https://stackoverflow.com/a/2979217
– hkotsubo
https://answall.com/a/325635/101
– Maniero