Eu estou fazendo um trabalho de programação em C em que o código principal possui um Switch Case e em cada Case há outro Switch Case. O meu problema é o seguinte: Após compilado, o Menu Principal logo aparece... Ao selecionar a primeira opção ele mostra o submenu e assim pode-se executar o que é pedido lá. Porém quando é finalizado ele não volta para o submenu, pede novamente os dados que eu inseri.
Exemplo:
MENU PRINCIPAL
OPÇÕES
OPÇÃO 1 SELECIONADA
SUBMENU
ENTRADA DE DADOS
--> NESTE PONTO AQUI DEVERIA VOLTAR PARA O SUBMENU QUE CONTÉM A OPÇÃO DE VOLTAR AO MENU PRINCIPAL TAMBÉM.
Vou mostrar o código... Usei um DO WHILE, mas não está funcionando. Não mostrarei as funções e estruturas, pois são mais de 400 linhas de código.
Gente... se puderem me ajudar... ficarei muitooo grata mesmo! Preciso entregar este trabalho Segunda-feira, o prazo foi realmente muito curto. Mas, quero mesmo é aprender como se faz!!
Brigadão!! Abraços!!
Segue a partir do MAIN:
main()
{
TipoPilha PilhaExperimentos;
TipoLista ListaResultados;
TipoFila FilaCientistas;
TipoItem Item_P, Item_L, Item_F;
int opc1, opc2;
FPVazia(&PilhaExperimentos);
FLVazia(&ListaResultados);
FFVazia(&FilaCientistas);
do
{
opc1=menu();
switch(opc1)
{
case 1: // Opção 1 = Pilha de Experimentos
opc2=submenu_P();
do{
switch(opc2)
{
case 1: // Opção 1.1 = Inserir Item na Pilha
printf("Por favor. Insira a Chave\n");
scanf("%d", &Item_P.Chave);
printf("Agora, insira o nome\n");
scanf("%s", &Item_P.nome);
Empilha(Item_P, &PilhaExperimentos);
break;
case 2: // Opção 1.2 = Desempilhar Item da Pilha (FILO)
Desempilha(&PilhaExperimentos, &Item_P);
break;
case 3:// Opção 1.3 = Imprimir a Pilha
//Função Imprime
case 4: //Opção 1.4 = Voltar ao Menu Principal
break;
default:
printf("\n\t\t\a Digite uma opcao valida!\n");
break;
}
}while(opc2!=4);
case '2': // Opção 2 = Lista de Resultados
opc2=submenu_L();
switch(opc2)
{
do{
case 1: // Opção 2.1 = Inserir Item na Lista
printf("Por favor. Insira o Codigo\n");
scanf("%d", &Item_L.Chave);
printf("Agora, insira o nome\n");
gets(Item_L.nome);
Insere(Item_L, &ListaResultados);
break;
case 2: // Opção 2.2 = Retirar Item da Lista
// VERIFICAR FUNÇÃO RETIRAAAAA
case 3: // Opção 2.3 = Imprimir lista
printf("\t\aLista Atual:\n");
ImprimeLista(ListaResultados);
break;
case 4: // Opção 2.4 = Pesquisar Item na Lista
break;
case 5: // Opção 2.5 = Voltar ao Menu Principal
break;
default:
printf("\n\t\t\a Digite um numero valido!\n");
break;
}while(opc2!=5);
}
case '3': // Opção 3 = Fila de Cientistas
opc2=submenu_F();
switch(opc2)
{
do{
case 1: // Opção 3.1 = Inserir Cientista da Fila
printf("Digite um Codigo para Identificar o Cientista\n");
scanf("%d", &Item_F.Chave);
printf("Digite o nome do Cientista\n");
gets(Item_F.nome);
Enfileira(Item_F,&FilaCientistas);
break;
case 2: // Opção 3.2 = Retirar Cientista da Fila
Desenfileira(&FilaCientistas, &Item_F);
printf("Proximo\n\n");
break;
case 3: // Opção 3.3 = Imprimir a Fila de Cientistas Atual
printf("\t\nFila Atual\n");
ImprimeFila(FilaCientistas);
break;
case 4: // Opção 3.4 = Retornar ao Menu Principal
break;
default:
printf("\n\t\t\a Digite uma opcao valida!!\n");
break;
}while(opc2!=4);
}
case '4': // Opção 4 = Verificar a situação dos experimentos, resultados e cientistas (Todos os cientistas devem receber seus experimentos)
// Colocar função
break;
case '5':
("\n\t\t\t\t\tObrigado e Volte Sempre!\n\n");
}
}while(opc1!=5);
}
Pergunta
MarinaP
Pessoal, Boa noite!!!
Eu estou fazendo um trabalho de programação em C em que o código principal possui um Switch Case e em cada Case há outro Switch Case. O meu problema é o seguinte: Após compilado, o Menu Principal logo aparece... Ao selecionar a primeira opção ele mostra o submenu e assim pode-se executar o que é pedido lá. Porém quando é finalizado ele não volta para o submenu, pede novamente os dados que eu inseri.
Exemplo:
MENU PRINCIPAL
OPÇÕES
OPÇÃO 1 SELECIONADA
SUBMENU
ENTRADA DE DADOS
--> NESTE PONTO AQUI DEVERIA VOLTAR PARA O SUBMENU QUE CONTÉM A OPÇÃO DE VOLTAR AO MENU PRINCIPAL TAMBÉM.
Vou mostrar o código... Usei um DO WHILE, mas não está funcionando. Não mostrarei as funções e estruturas, pois são mais de 400 linhas de código.
Gente... se puderem me ajudar... ficarei muitooo grata mesmo! Preciso entregar este trabalho Segunda-feira, o prazo foi realmente muito curto. Mas, quero mesmo é aprender como se faz!!
Brigadão!! Abraços!!
Segue a partir do MAIN:
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.