Jump to content
Urso-Formiga.

Ajuda com Menu

Recommended Posts

Urso-Formiga.

Boas.

Andei de volta disto mais um bocado e escrevi mais umas linhas de codigo só que estou a ter 3 erros que não consigo resolver.

Tenho um trabalho para fazer em C que é para avaliação e estou com alguns problemas.

O trabalho consiste em fazer um menu com vários submenus, sendo que para cada submenu tenho que introduzir vários valores como equipamentos e nomes que têm que ser guardados, editados e eliminados. Também tem que ser possível ver e consultar equipamentos requisitados e utilizadores.

#include <stdio.h>

#define MAXSTR 30
#define MAXEQUIP 20
#define MAXUTIL 20

char menuprinc(void);
char adi_equi(void);
int main (void);

typedef struct
{
int numUtilizador;
char nomUtilizador[30];
int numEquipamento;
char nomEquipamento[30];
}T_EQUI;

int mostraMenu(void);
T_EQUI pedeDadosEQUI(void);
void mostraDadosEQUI(T_EQUI equipamento);
void mostraDadosTodosEquipamentos(T_EQUI vetorEquipamento[MAXEQUIP], int numEquipamento);
int eliminarEquipamento(T_EQUI vetorEquipamento[MAXEQUIP], int numEquipamento);


int main (void)
{
T_EQUI vetorEquipamento[MAXEQUIP];
int numEquipamento = 0, opcao, numEquipamentoAmostrar, i;

do
{
	opcao=menuprinc();

	switch(opcao)
	{
	  case 'A':
	  case 'a':
		vetorEquipamento[numEquipamento] = pedeEquipamento();
			numEquipamento++;


	  case 'D':
	  case 'd':
		numEquipamento = eliminarEquipamento(vetorEquipamento, numEquipamento);


	  case 'T':
	  case 't':
		mostraDadosTodosEquipamentos(vetorEquipamento, numEquipamento);



	}
}while(opcao != 0);

return 0;
}



char opmenu();
{
char opmenu;




opmenu = menuprinc();

switch (opmenu)
{
 case 'E':
 case 'e':
	system("cls");//Limpa o ecra anterior.
	printf("E-Editar_Equipamento");
	printf("\n\nA-Adicionar_Equipamento");
	printf("\n\nD-Eliminar Equipamento");
	printf("\n\nT-Consultar Todos os Equipamentos");
	printf("\n\nP-Pesquisar Equipamento");
	printf("\n\n\nV-Voltar ao Menu Principal");
	printf("\n\n\nSelecione opcao: ");
	scanf("%c", &opmenu);



 case 'U':
 case 'u':
	system("cls");
	printf("A-Adicionar Utilizador");
	printf("\n\nE-Editar Utilizador");
	printf("\n\nD-Eliminar Utilizador");
	printf("\n\nT-Consultar Todos os Utilizadores");
	printf("\n\nP-Pesquisar Utilizador (numero de cartao de cidadao)");
	printf("\n\n\nV-Voltar ao Menu Principal");
	printf("\n\n\nSelecione opcao: ");
	scanf("%c", &opmenu);



 case 'R':
 case 'r':
		 system("cls");
		 printf("C-Criar nova Requisicao");
		 printf("\n\nE-Editar Requisicao");
		 printf("\n\nD-Eliminar Requisicao");
		 printf("\n\nT-Consultar Todas as Requisicoes");
		 printf("\n\nP-Consultar Requisicoes por Data");
		 printf("\n\nE-Equipamentos atualmente requisitados");
		 printf("\n\n\nV-Voltar ao Menu Principal");
		 printf("\n\n\nSelecione opcao: ");
		 scanf("%c", &opmenu);



 case 'G':
 case 'g':
		  system("cls");
		  printf("M-Equipamentos mais requisitados (Top 3)");
		  printf("\n\nU-Utilizador com mais requisicoes (Top 3)");
		  printf("\n\nT-%% de requisicoes por tipo de utilizador");
		  printf("\n\n\nV-Voltar ao Menu Principal");
		  printf("\n\n\nSelecione opcao: ");
		  scanf("%c", &opmenu);


 case 'V':
 case 'v':
	 break;





 case 'S':
 case 's':



  return opmenu;
}

}

char menuprinc(void)
{
char opcao;

do {
	system("cls");
printf("E - Gestao de Equipamentos");
printf("\n\nU - Gestao de Utilizadores");
printf("\n\nR - Gestao de Requisicoes");
printf("\n\nG - Gerar Estatisticas");
printf("\n\n\n\nS - Sair");
printf("\nSelecionar opcao: ");
scanf("%c", &opcao);



if(opcao != 'E' && opcao != 'e' && opcao != 'U' && opcao !='u' && opcao != 'R' && opcao !='r' && opcao != 'G' && opcao !='g' && opcao != 'S' && opcao !='s')
{
	printf("Opcao Invalida!!");
}
}while(opcao != 'E' && opcao != 'e' && opcao != 'U' && opcao !='u' && opcao != 'R' && opcao !='r' && opcao != 'G' && opcao !='g' && opcao != 'S' && opcao !='s');

return opcao;//Devolve a letra introduzida.

}

Isto é que eu tenho até agora e basicamente estou completamente á nora acerca do que fazer a seguir e como o fazer. Também não consigo sair dos submenus para o menu principal nem fazer com que o programe encerre quando escolho sair.

Se me puderem dar uma ajuda acerca do que fazer a seguir ou a ordem em que tenho que o fazer agradecia.

Edited by Urso-Formiga.
GeSHi

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • 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.