• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

andronikus

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

3 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora