0
Code compiles and runs normally until "switch".
#include <stdio.h>
int main(){
float mg, sp, rj, ms, produto;
int escolha;
printf("Digite o preço do produto: ");
scanf("%f", &produto);
// Impostos dos produtos nos respectivos estados
mg = (produto * 7) / 100;
sp = (produto * 12) / 100;
rj = (produto * 15) / 100;
ms = (produto * 8) / 100;
printf("Escolha o estado de destino: \n1.Minas Gerais\n2.São
Paulo\n3.Rio de Janeiro\n4.Mato Grosso do Sul\n");
scanf("%d", escolha);
switch (escolha) {
case '1':
printf("Preço final do produto: %f", mg);
break;
case '2':
printf("Preço final do produto: %f", sp);
break;
case '3':
printf("Preço final do produto: %f", rj);
break;
case '4':
printf("Preço final do produto: %f", ms);
break;
default:
printf("Digite um Estado válido!!!\n");
}
return 0;
}
A detail that @Lacobus corrected, but I don’t remember him specifying it in his reply, because it is very detailed. The condition of his
case
is a character-type constant, such ascase '1'
. It will only be directed to this case when the entered value is49
. ASCII magic, the character'1'
is a constant number in the case of49
, as well as'a'
would be97
– Jefferson Quesado