Krup_NN Posted February 15, 2014 at 04:24 PM Report #545392 Posted February 15, 2014 at 04:24 PM (edited) Boa tarde pessoal, sou iniciante em programação e estou a realizar um projeto em C onde pretendo implementar um software de Gestão... Como não tenho muita experiência estou indeciso sobre qual será a melhor solução para começar a criar o Menu com os respetivos submenus... No exemplo abaixo utilizei, tanto no menu principal como nos submenus, o Do While seguido do Switch em cada um deles... Entretanto vou ter de implementar no programa dados estruturados e funções. A minha pergunta é a seguinte: Será que faz mais sentido utilizar um Switch contendo o Menu Principal e dentro desse Switch fazer mais 3 Switch para criar os respetivos Submenus? Não sei se me fiz entender, mas é mais ou menos isto, fazer uma especie de Switch contendo vários Switchs, qual a vossa opinião? Desde já agradeço a vossa ajuda 😉 void menu_principal() { do { system("cls"); printf("\n MENU PRINCIPAL\n"); printf("\n 1. Professores\n"); printf("\n 2. Alunos\n"); printf("\n 3. Salas\n"); printf("\n 4. Estatisticas\n"); printf("\n 0. Sair\n"); printf("\n Selecione a opcao desejada: "); scanf("%d", &opcao1); } while ((opcao1 < 0) || (opcao1 > 4)); switch (opcao1) { case 1: menu_professores(); break; case 2: menu_alunos(); break; case 3: menu_salas(); break; } } //---------------------------------------------------// void menu_professores() { do { system("cls"); printf("\n MENU PROFESSORES\n"); printf("\n 1. Inserir Professor\n"); printf("\n 2. Editar Professor\n"); printf("\n 3. Remover Professor\n"); printf("\n 4. Listar Professor\n"); printf("\n 5. Pesquisar Professor\n"); printf("\n 0. Voltar ao Menu Anterior\n"); printf("\n Selecione a opcao desejada: "); scanf("%d", &opcao2); } while ((opcao2 < 0) || (opcao2 > 5)); switch (opcao2) { case 0: menu_principal(); break; } } //---------------------------------------------------// void menu_alunos() { do { system("cls"); printf("\n MENU ALUNOS\n"); printf("\n 1. Inserir Aluno\n"); printf("\n 2. Editar Aluno\n"); printf("\n 3. Remover Aluno\n"); printf("\n 4. Listar Aluno\n"); printf("\n 5. Pesquisar Alunos\n"); printf("\n 0. Voltar ao Menu Anterior\n"); printf("\n Selecione a opcao desejada: "); scanf("%d", &opcao3); } while ((opcao3 < 0) || (opcao3 >5)); switch (opcao3) { case 0: menu_principal(); break; } } //---------------------------------------------------// void menu_salas() { do { system("cls"); printf("\n MENU SALAS\n"); printf("\n 1. Inserir Sala\n"); printf("\n 2. Editar Sala\n"); printf("\n 3. Remover Sala\n"); printf("\n 4. Listar Salas\n"); printf("\n 5. Listar Salas por Localizacao\n"); printf("\n 0. Voltar ao Menu Anterior\n"); printf("\n Selecione a opcao desejada: "); scanf("%d", &opcao3); } while ((opcao3 <0 ) || (opcao3 >5 )); switch (opcao3) { case 0: menu_principal(); break; } } Edited February 15, 2014 at 04:53 PM by thoga31 Tags code + GeSHi
mundo Posted February 15, 2014 at 04:26 PM Report #545393 Posted February 15, 2014 at 04:26 PM Eu penso que fica mais legivel, teres uma função para cada 1 desses menus. Mas é apenas uma questão de gosto pessoal
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now