Oppure

Loading
26/04/18 7:38
Faby_941
Ciao a tutti, ho scritto un frammento di codice davvero semplice e mi sembra giusto.. solo che non funziona come dovrebbe:d:d

ecco il codice:

#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;
int main () {
    int flag;

printf("\n\nPREMI 1 PER INSERIRE ALTRE REFERENZE, 0 PER PASSARE ALLO STOCK, 2 PER ANNULLARE E RINIZIARE L'INSERIMENTO PICKING:\n\n";);
cin>>flag;
if(flag!=1 || flag!=0 || flag!=2) {
do{
printf("\n\nERRORE! valore non valido\n\n";)    ;
printf("PREMI 1 PER INSERIRE ALTRE REFERENZE, 0 PER PASSARE ALLO STOCK, 2 PER ANNULLARE E RINIZIARE L'INSERIMENTO PICKING:";);
cin >> flag;
}while(flag!=1 || flag!=0 || flag!=2);
}
return 0;
}

L'errore è il seguente:

Se inserisco flag uguale a 0,1 o 2 (valori che vanno bene) non esce dal ciclo!
come mai?
Grazie mille:asd::asd:
Ultima modifica effettuata da Faby_941 26/04/18 7:43
aaa
26/04/18 7:55
Mikelius
Hai letto bene la condizione?
Se inserisci 2, che reputa diverso da 1, non esce giustamente. (Stessa cosa l' if , che è sempre vero)

Se vuoi che esca con uno di quei numeri, devi cambiarla.

Provaci tu, se l'|| non va bene....
Ultima modifica effettuata da Mikelius 26/04/18 7:57
aaa