I have a problem, I am reading a int %d
by scanf
, but if the user types a letter the program enters loop .
void chama_menu_switch(Fila **f, int n){
char confi;
int i,y,x,a,z;
double r;
a = 0;
int b;
for (i = 0; z != 11; i++) { // inicio for
printf("|*|Comandos Menu 1.0|*|\n1 - Criar nova coluna\n2 - Deletar uma coluna\n3 - Inserir receita em coluna\n4 - Remover receita em coluna\n5 - Visualizar lista de colunas\n6 - Remover despesa em coluna\n7 - Inserir despesa em coluna\n8 - Visualiza despesas em uma coluna\n9 - Visualiza receitas em uma coluna\n10 - Calcular lucro bruto\n11 - Sair\n");
//_flushall();
b = scanf("%d%*c",&z);
__fpurge(stdin);
fflush(stdout);
if (b == 0) {
printf("entro");
system("pause");
scanf(" %d",&b);
}
I made a mini menu using switch
in the console .. it works normally, the default of switch
realizes that it is not in cases and of break , but it ignores scanf
e enter loop .