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

owny

menu / switch

8 mensagens neste tópico

bons dias,

Ando aqui com umas duvidas de como voltar a uma parte do codigo.

Ora bem tenho um menu onde são afixadas 4 opções com um printf.

depois tenho um switch onde tem os 4 cases.

Gostava de saber como consigo no final de cada case voltar ao menu onde tem as opções.

obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A minha forma pessoal de usar menus é sempre a mesma, vou-te mostrar.

int opcao;

do{
cout<<"---------------------------------MENU----------------------------------"<< endl;
cout<<"1. Opçao 1"<< endl;
cout<<"2. Opçao 2"<< endl;
cout<<"3. Opçao 3"<< endl;
cout<<"0. Sair"<< endl;

cin >> opcao;
system("cls"); // Para limpar o ecran
switch(opcao)
{
case 1: 
{
...; //codigo
break; // Para nao executar mais nada neste ciclo
}

case 2: 
{
...; //codigo
break; // Para nao executar mais nada neste ciclo
}

case 3: 
{
...; //codigo
break; // Para nao executar mais nada neste ciclo
}

case 0: 
{
break; // Para nao executar mais nada neste ciclo
}

default:

cout<<"O valor inserido nao e valido."<<endl;
break;
} // Fecho do switch
}while(opcao!=0); // fecho do ciclo "do" com condição while.

Espero ter ajudado, cumprimentos Forrest.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

è dessa forma que tenho a unica diferença é que nao tenho o switch dentro de um do/whide.

Mas explica-me uima coisa:

Imaginando que estou a trabalhar dentro do case 1 e já fiz tudo o que precisava... como volto a mostrar o menu?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Imaginando que estou a trabalhar dentro do case 1 e já fiz tudo o que precisava... como volto a mostrar o menu?

O que te falta é exactamente:

nao tenho o switch dentro de um do/whide.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

acabei agora de colocar o do while e lá dentro o switch e quando acaba por ex o case 1 ele simplesmente fica frizado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Afinal até funciona... o problema está no primeiro case... não percebo pk ele nunca corre os ciclos tem que haver aqui alguma coisa que nunca lê o ciclo(ja tentei cm for e cm switch e é igual).

Existe alguma forma de percebermos onde está o erro?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Existe. Faz debug linha a linha até veres onde falha.

Kudos por tentares perceber sozinho onde está o problema :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Weeeeeeeeeeeeeeeeeeee =)

consegui!

tive k criar um contador e depois defenir quantas operações iraiam ser feitas.

isso com um while.

ta espetacular agora falta-me afinar promunores.

descubri o erro com o break.

Obrigado a todos!

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