Oppure

Loading
05/10/16 7:27
Birkhoff92
salve, ho creato questo banale codice ma quando vado a premere r mi riporta sempre la scelta tra l, r e q mentre con l e q funziona come dovrebbe . Lo sto riguardando da 15 minuti e non riesco a vedere il problema dove risiede :/ Se qualcuno potesse aiutarmi.... grazie :)
#include <iostream>
using namespace std;
int main(){
	char c;
	while(true){
		cout<<"MENU DI SISTEMA :"<<endl;
		cout<<" l: sinistra, r:destra, q:uscita"<<endl;
		cin>>c;
		if(c=='q')
			break;
		if( c=='l'){
			cout<<"Menu di sinistra "<<endl;
		cout<<"scegli a  o b ? ";
		cin>>c;
		if(c=='a') {
			cout<<"hai scelto a"<<endl;
			continue;
		}

		 if (c=='b'){
			cout<<"hai scelto b "<<endl;
			continue;
		}
		 else {
			cout<<"non hai scelto ne a ne b"<<endl;
			continue;
		}
		if (c=='r'){
			cout<<"scelto menu di destra"<<endl;
			cout<<"scegli c o d? "<<endl;
			cin>>c;
			if (c=='c'){
				cout<<"hai scelto c "<<endl;
				continue;
			} if (c=='d'){
				cout<<"hai scelto d "<<endl;
				continue;

			}
			else {
				cout<<"non hai scelto ne c ne d "<<endl;
				continue;
			}
	}
	cout<<"devi digitare l , r oppure q"<<endl;
	}

	} cout<<"uscita dal menu "<<endl;
}
 
aaa
05/10/16 9:50
torn24
Sono su telefono e non vedo bene. Ma mi pare che hai dimenticato la graffa } di chiusura del blocco if(c== l), per cui if(c==r) ne fa parte, porando risultati inattesi, dimmi se era l errore giusto.
aaa
06/10/16 8:17
Birkhoff92
si era quello ;) errore di distrazione :) grazie
Ultima modifica effettuata da Birkhoff92 06/10/16 8:21
aaa
06/10/16 9:54
nessuno
Postato originariamente da Birkhoff92:

errore di distrazione


No, errore di cattiva indentazione ... se non indenti correttamente, capiterà nuovamente ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.