Originariamente inviata da
Fr4nkWeb
In ogni caso, così funziona:
codice:
do {
printf("Inserisci l'operatore (+, -, *, /): ");
scanf("%c", &op);
while (getchar() != '\n');
if (op != '+' && op != '-' && op != '*' && op != '/') {
printf("\nErrore di inserimento!\n\n");
i = 0;
} //end if
else {
i = 1;
} //end else
} //end do
while (i == 0);
Funzionerà anche, ma prova ad analizzare il seguente codice e cerca di comprendere perché, pur essendo volutamente lontano dall'ottimalità, è comunque nettamente migliore di quello che hai scritto finora.
codice:
i = 0;
do
{
printf("Inserisci l'operatore (+, -, *, /): ");
scanf("%c", &op);
while (getchar() != '\n');
if (NULL != strchr("+-/*", op))
{
i = 1;
}
else
{
puts("Errore di inserimento!");
}
}
while (i == 0);