Jump to content

[C++] Ajuda: O menu entra em ciclo infinito (Resolvido)


Recommended Posts

Posted

Boas...

Gostava que me ajudassem aqui numa duvida....

Tenho  seguinte menu implementado:

do{

	espera=MENU();

		if((espera < 0 || espera>3))
			cout<< "Insira uma opcao entre 0 e 3"<<endl << endl;


		switch(espera) {
			case 1: rede.Print_Rede(); break;
			case 2: cout<<"No de origem: ";cin >> no_origem;
					cout<<"No de destino: ";cin >> no_destino;
					rede.PRINT_path(rede.descobre_nodo(no_origem),rede.descobre_nodo(no_destino),0);
					break;
			case 3: cout<<"No de origem: ";cin >> no_origem;
					cout<<"No de destino: ";cin >> no_destino;
					rede.PRINT_path(rede.descobre_nodo(no_origem),rede.descobre_nodo(no_destino),1);
					break;
		}

}while(espera !=0);	

O que acontece aqui é que quando introduzo um caratcter, por exemplo 'a' em vez de me ser solicitado de novo a introdução de uma opção o menu entra em cilo infinito, i.e., está sempre é mostrado continuamente.

O que queria era que quando é introduzido um caracter diferente de 0,1,2,3 o programa voltasse a pedir a inserção de uma nova opção

Cumps

Posted

Tens de meter o menu de opções dentro do ciclo do...while.

Aqui no fórum há muitos exemplos de menus, da uma olhada pela secção de C++ e até de C. 😉

"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.