Ir ao conteúdo
  • Cadastre-se

Menu e submenu


Posts recomendados

Ola, sou estudante iniciante em c++, estou fazendo um trabalho em grupo mais que cada um faz uma parte do código, o código esta funcionando assim....
 

//DESCRIÇÃO DO SISTEMA: O sistema tem como obejtivo o auxilio à uma clínica veterinária no âmbito administrativo.
//o dsistema possui um cadastroe clientes, medicamentos e veterinários além da elaboração de uma agenda das consultas diárias 
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
#include<locale.h>
struct cliente{
             char nomecliente[20],sobrenome[20],endereco[20],bairro[20],complemento[20],nomeanimal[20],raca[20];
             char telefone[20],cpf[11],tipoanimal[2],idadeanimal[30],pesoanimal[30];
             struct cliente *prox;
             }*iniciocliente=NULL;
struct medicamento{
             char nomemedicamento[20],descricao[20],valor[20],indicado[20];
             struct medicamento *prox;
             }*iniciomedicamento=NULL;
struct agenda {    
             char nomevet[20],horario[10],nomeanimal[15],nomecliente[20];
             struct agenda *prox;
             }*inicioagenda=NULL;
             
struct veterinario{
             char nomevet[20],sobrenomevet[20],inscricaovet[20],cpfvet[11];
             struct veterinario *prox;
             }*iniciovet=NULL;

int menu()
{
         int escolha;
         system("cls");
         printf(">>> DATA: %s HORA: %s\n",__DATE__,__TIME__);
         printf("\n.:.:.:.:.Menu de opções.:.:.:.:.\n\n1 > Cadastrar cliente\n");
         printf("5 > Cadastrar Medicamento\n");
         printf("6 > Cadastrar Veterinario\n");
         printf("7 > Adicionar agenda\n");
         printf("9 > Encerrar Programa\n:::::::Escolha uma op\207ao: ");
         scanf("%d",&escolha);
         fflush(stdin);
         system("cls");
         return (escolha);
}
//formulário de cadastro de cliente
struct cliente * cadastrar_primeiro()
{
     
     struct cliente *primeiro;
     primeiro = (struct cliente *) malloc (sizeof(struct cliente));
     
     printf("\n......:Cadastro de Clientes:......\n");
     printf("Informe o nome do cliente: \n");
     gets(primeiro->nomecliente);
     
     printf("\nInforme o sobrenome do cliente: \n");
     gets(primeiro->sobrenome);
     
     printf("\nInforme o telefone do cliente: \n");
     gets(primeiro->telefone);
     
     printf("\nInforme o cpf do cliente: \n");
     gets(primeiro->cpf);
     
     printf("\nInforme o endere\207o do cliente: \n");
     gets(primeiro->endereco);
     
     printf("\nInforme o bairro do cliente: \n");
     gets(primeiro->bairro);
     
     printf("\nInforme o complemento do cliente: \n");
     gets(primeiro->complemento);
     
     printf("\nInforme o Nome do animal do cliente: \n");
     gets(primeiro->nomeanimal); 
     
     printf("\nInforme o tipo de animal (Cachorro ou Gato): \n");
     gets(primeiro->tipoanimal);
     
     printf("\nInforme o ra\207a do animal: \n");
     gets(primeiro->raca);
     printf("\nInforme a idade do animal: \n");
     gets(primeiro->idadeanimal);
     
     printf("\nInforme o peso do animal: \n");
     gets(primeiro->pesoanimal);
             
     primeiro->prox=NULL;   
     return (primeiro);  
}
//formulário de Veterinario
struct veterinario * cadastrar_quarto()
{
     
     struct veterinario *quarto;
     quarto = (struct veterinario *) malloc (sizeof(struct veterinario));
     
     printf("\n......:Cadastro de Veterinários:......\n");
     printf("Informe o nome do Veterinário: \n");
     gets(quarto->nomevet);
     printf("Informe o sobrenome do Veterinário: \n");
     gets(quarto->sobrenomevet);
     
     printf("Informe o CPF do Vterinário: \n");
     gets(quarto->cpfvet);
     
     printf("Informe o júmero de inscrição do Veterinário: \n");
     gets(quarto->inscricaovet);
     
     quarto->prox=NULL;   
     return (quarto);
}
//formulário de cadastro de medicamento
struct medicamento * cadastrar_segundo()
{
     
     struct medicamento *segundo;
     segundo = (struct medicamento *) malloc (sizeof(struct medicamento));
     
     printf("\n......:Cadastro de Medicamentos:......\n");
     printf("Informe o nome do medicamento: \n");
     gets(segundo->nomemedicamento);
     printf("Informe uma descricao para o medicamento: \n");
     gets(segundo->descricao);
     
     printf("Informe para qual tipo de animal ele e usado: \n");
     gets(segundo->indicado);
     
     printf("Informe o valor do medicamento R$: \n");
     gets(segundo->valor);
     
     segundo->prox=NULL;   
     return (segundo);
}
//formulário de cadastro de agenda
struct agenda * cadastrar_terceiro()
{
     
     struct agenda *terceiro;
     terceiro = (struct agenda *) malloc (sizeof(struct agenda));
     
     printf("\n......:Cadastro de AGENDA:......\n");
    
     printf("Informe o horario de atendimento: \n");
     gets(terceiro->horario);
     printf("Informe o nome do veterinario: \n");
     gets(terceiro->nomevet);
     
     printf("Informe nome do cliente: \n");
     gets(terceiro->nomecliente);
    
      printf("Informe nome do animal: \n");
     gets(terceiro->nomeanimal);  
     
     terceiro->prox=NULL;   
     return (terceiro);
}
//Função para cadastrar um cliente novo
void cadastrar_demais(struct cliente *primeiro)
{
    struct cliente *aux, *novo;
    
    aux=primeiro;
    while(aux->prox != NULL)
         aux = aux->prox;
     novo = (struct cliente *) malloc (sizeof(struct cliente));
     
     printf("\n......:Cadastro de Cliente:......\n");
     printf("\nInforme o nome do cliente: \n");
     gets(novo->nomecliente);
     
     printf("\nInforme o sobrenome do cliente: \n");
     gets(novo->sobrenome);
     
     printf("\nInforme o telefone do cliente: \n");
     gets(novo->telefone);
     
     printf("\nInforme o cpf do cliente: \n");
     gets(novo->cpf);
     
     printf("\nInforme o endere\207o do cliente: \n");
     gets(novo->endereco);
     
     printf("\nInforme o bairro do cliente: \n");
     gets(novo->bairro);
     
     printf("\nInforme o complemento do cliente: \n");
     gets(novo->complemento);
     
     printf("\nInforme o Nome do animal do cliente: \n");
     gets(novo->nomeanimal); 
     
     printf("\nInforme o tipo de animal (Cachorro ou Gato): \n");
     gets(novo->tipoanimal);
     
     printf("\nInforme o ra\207a do animal: \n");
     gets(novo->raca);
     printf("\nInforme a idade do animal: \n");
     gets(novo->idadeanimal);
     
     printf("\nInforme o peso do animal: \n");
     gets(novo->pesoanimal);
     
     novo->prox=NULL;
     aux->prox = novo;
}
//Função para cadastrar um veterinário novo
void cadastrar_demais_vet(struct veterinario *quarto)
{
    struct veterinario *aux_4, *novo_veterinario;
    
    aux_4=quarto;
    while(aux_4->prox != NULL)
         aux_4 = aux_4->prox;
    novo_veterinario= (struct veterinario *) malloc (sizeof(struct veterinario));
    
     printf("\n......:Cadastro de Veterinários:......\n");
     printf("Informe o nome do Veterinário: \n");
     gets(quarto->nomevet);
     printf("Informe o sobrenome do Veterinário: \n");
     gets(quarto->sobrenomevet);
     
     printf("Informe o CPF do Vterinário: \n");
     gets(quarto->cpfvet);
     
     printf("Informe o júmero de inscrição do Veterinário: \n");
     gets(quarto->inscricaovet);
     
     novo_veterinario->prox=NULL;
    aux_4->prox = novo_veterinario;
}
//Função para cadastrar um medicamento novo
void cadastrar_demais_medicamento(struct medicamento *segundo)
{
    struct medicamento *aux_2, *novo_medicamento;
    
    aux_2=segundo;
    while(aux_2->prox != NULL)
         aux_2 = aux_2->prox;
    novo_medicamento= (struct medicamento *) malloc (sizeof(struct medicamento));
    
    printf("\n......:Cadastro de Medicamentos:......\n");
    printf("Informe o nome do medicamento: \n");
    gets(novo_medicamento->nomemedicamento);
    
    printf("Informe uma descricao para o medicamento: \n");
    gets(novo_medicamento->descricao);
     
    printf("Informe para qual tipo de animal ele e usado: \n");
    gets(novo_medicamento->indicado);
     
    printf("Informe o valor do medicamento R$: \n");
    gets(novo_medicamento->valor);
    
    novo_medicamento->prox=NULL;
    aux_2->prox = novo_medicamento;
}
//Função para cadastrar uma agenda nova
void cadastrar_demais_agenda(struct agenda *terceiro)
{
    struct agenda *aux_3, *novo_agenda;
    aux_3=terceiro;
    while(aux_3->prox != NULL)
        aux_3= aux_3->prox;
    novo_agenda = (struct agenda *) malloc (sizeof(struct agenda));
    
    printf("\n......:Cadastro de AGENDA:......\n");
    printf("Informe o horário de atendimento: \n");
    gets(novo_agenda->horario);
    
    printf("Informe o nome do veterinario: \n");
    gets(novo_agenda->nomevet);
     
    printf("Informe nome do cliente: \n");
    gets(novo_agenda->nomecliente);
    
    printf("Informe nome do animal: \n");
    gets(novo_agenda->nomeanimal);  
    
    novo_agenda->prox=NULL;
    aux_3->prox = novo_agenda;
         
}
//Mostrar a AGENDA
void listar_agenda (struct agenda *terceiro)
{
     struct agenda *aux_3;
     
     aux_3=terceiro;
     while(aux_3!= NULL)
     {
         printf("\n*********AGENDA DIÁRIA*********\n");
        printf("Nome do veterinario: %s\n",aux_3->nomevet);
        printf("Horario da agenda: %s\n",aux_3->horario);
        printf("Nome do cliente: %s\n",aux_3->nomecliente);
        printf("Nome do animal: %s\n",aux_3->nomeanimal);
        printf("\n-------------------------\n");
        aux_3 = aux_3->prox;
     }
}
main()
{
      int op=0;
      while(op!=9)
      {
//opção no menu para cadastrar cliente
         op = menu();
         if (op==1){
             if (iniciocliente == NULL) 
               iniciocliente = cadastrar_primeiro();
            else
               cadastrar_demais(iniciocliente);
         }
           
//opção no menu para cadastrar medicamentos
         if (op==5)   
         {
            if (iniciomedicamento == NULL) 
               iniciomedicamento = cadastrar_segundo();
            else
               cadastrar_demais_medicamento(iniciomedicamento);
         }
//opção no menu para cadastrar veterinário
         if (op==6)   
         {
            if (iniciovet == NULL) 
               iniciovet = cadastrar_quarto();
            else
               cadastrar_demais_vet(iniciovet);
         }
//opção no menu para cadastrar agenda
         if (op==7){
             if (inicioagenda == NULL) 
               inicioagenda = cadastrar_terceiro();
            else
               cadastrar_demais_agenda(inicioagenda);
         }             
      }
    free(iniciocliente);
    free(inicioagenda);
    free(iniciomedicamento);

 

 

... E tenho que mudar o menu adicionar um sub menu, porque vai mudar a sequencia de menus, vai ser assim....
1- cadastrar
           1.1 cadastrar cliente
            1.2 cadastrar medicamento
            1.3 cadastrar veterinário
2- agenda
             2.1 listar agendas
             2.2 adicionar agenda
             2.3 excluir agenda

..Adicionei um swtch e inseri o que eu achei que seria o certo, quando fui compilar (estou o usando o dev c++) deu erro no "Cadastrar primeiro" preciso de uma luz o que fazer, se estou no caminho certo... Abaixo o código com a parte que inserir, desde já obrigado e desculpe por postar todo o código assim, mais é que preciso que entendam.
 

 

 


 

//DESCRIÇÃO DO SISTEMA: O sistema tem como obejtivo o auxilio à uma clínica veterinária no âmbito administrativo.
//o sistema possui um cadastro de clientes, medicamentos e veterinários além da elaboração de uma agenda das consultas diárias 
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
#include<locale.h>
struct cliente{
             char nomecliente[20],sobrenome[20],endereco[20],bairro[20],complemento[20],nomeanimal[20],raca[20];
             char telefone[20],cpf[11],tipoanimal[2],idadeanimal[30],pesoanimal[30];
             struct cliente *prox;
             }*iniciocliente=NULL;
struct medicamento{
             char nomemedicamento[20],descricao[20],valor[20],indicado[20];
             struct medicamento *prox;
             }*iniciomedicamento=NULL;
struct agenda {    
             char nomevet[20],horario[10],nomeanimal[15],nomecliente[20];
             struct agenda *prox;
             }*inicioagenda=NULL;
             
struct veterinario{
             char nomevet[20],sobrenomevet[20],inscricaovet[20],cpfvet[11];
             struct veterinario *prox;
             }*iniciovet=NULL;

int menu()
{                                                                              
         int escolha, opcao,opc1;
         system("cls");
         printf(">>> DATA: %s HORA: %s\n",__DATE__,__TIME__);
         printf("\n.:.:.:.:.Menu de opções.:.:.:.:.\n\n1 > Cadastrar \n");
         printf("2> agenda\n");
         printf("0> SAIR\n");
         printf("9 > Encerrar Programa\n:::::::Escolha uma op\207ao: ");
         scanf("%d",&escolha);
         fflush(stdin);
         system("cls");
         return (escolha);
         
switch (escolha)
{         
       case 1:    
            do{
               puts("cadastrar\n");
               system("cls");
               puts("\nEscolha uma opções - Cadastrar\n\n");
               puts("  [1] - Cadastrar cliente\n"); 
               puts("  [2] - Cadastrar Medicamento\n"); 
               puts("  [3] - Cadastrar Veterinario\n");
               puts("  [0] - Returnar ao Menu Principal\n");
               puts("\n\n");    
               scanf ("%d",&opc1);  
               switch(opc1){

}
 }
//formulário de cadastro de cliente
struct cliente * cadastrar_primeiro    ()
{
     
     struct cliente *primeiro; ( É AQUI QUE APARECE O [Error] expected 'while' before 'cliente')
     primeiro = (struct cliente *) malloc (sizeof(struct cliente));
     
     printf("\n......:Cadastro de Clientes:......\n");
     printf("Informe o nome do cliente: \n");
     gets(primeiro->nomecliente);
     
     printf("\nInforme o sobrenome do cliente: \n");
     gets(primeiro->sobrenome);
     
     printf("\nInforme o telefone do cliente: \n");
     gets(primeiro->telefone);
     
     printf("\nInforme o cpf do cliente: \n");
     gets(primeiro->cpf);
     
     printf("\nInforme o endere\207o do cliente: \n");
     gets(primeiro->endereco);
     
     printf("\nInforme o bairro do cliente: \n");
     gets(primeiro->bairro);
     
     printf("\nInforme o complemento do cliente: \n");
     gets(primeiro->complemento);
     
     printf("\nInforme o Nome do animal do cliente: \n");
     gets(primeiro->nomeanimal); 
     
     printf("\nInforme o tipo de animal (Cachorro ou Gato): \n");
     gets(primeiro->tipoanimal);
     
     printf("\nInforme o ra\207a do animal: \n");
     gets(primeiro->raca);
     printf("\nInforme a idade do animal: \n");
     gets(primeiro->idadeanimal);
     
     printf("\nInforme o peso do animal: \n");
     gets(primeiro->pesoanimal);
             
     primeiro->prox=NULL;   
     return (primeiro);  
}
//formulário de Veterinario
struct veterinario * cadastrar_quarto()
{
     
     struct veterinario *quarto;
     quarto = (struct veterinario *) malloc (sizeof(struct veterinario));
     
     printf("\n......:Cadastro de Veterinários:......\n");
     printf("Informe o nome do Veterinário: \n");
     gets(quarto->nomevet);
     printf("Informe o sobrenome do Veterinário: \n");
     gets(quarto->sobrenomevet);
     
     printf("Informe o CPF do Vterinário: \n");
     gets(quarto->cpfvet);
     
     printf("Informe o júmero de inscrição do Veterinário: \n");
     gets(quarto->inscricaovet);
     
     quarto->prox=NULL;   
     return (quarto);
}
//formulário de cadastro de medicamento
struct medicamento * cadastrar_segundo()
{
     
     struct medicamento *segundo;
     segundo = (struct medicamento *) malloc (sizeof(struct medicamento));
     
     printf("\n......:Cadastro de Medicamentos:......\n");
     printf("Informe o nome do medicamento: \n");
     gets(segundo->nomemedicamento);
     printf("Informe uma descricao para o medicamento: \n");
     gets(segundo->descricao);
     
     printf("Informe para qual tipo de animal ele e usado: \n");
     gets(segundo->indicado);
     
     printf("Informe o valor do medicamento R$: \n");
     gets(segundo->valor);
     
     segundo->prox=NULL;   
     return (segundo);
}
//formulário de cadastro de agenda
struct agenda * cadastrar_terceiro()
{
     
     struct agenda *terceiro;
     terceiro = (struct agenda *) malloc (sizeof(struct agenda));
     
     printf("\n......:Cadastro de AGENDA:......\n");
    
     printf("Informe o horario de atendimento: \n");
     gets(terceiro->horario);
     printf("Informe o nome do veterinario: \n");
     gets(terceiro->nomevet);
     
     printf("Informe nome do cliente: \n");
     gets(terceiro->nomecliente);
    
      printf("Informe nome do animal: \n");
     gets(terceiro->nomeanimal);  
     
     terceiro->prox=NULL;   
     return (terceiro);
}
//Função para cadastrar um cliente novo
void cadastrar_demais(struct cliente *primeiro)
{
    struct cliente *aux, *novo;
    
    aux=primeiro;
    while(aux->prox != NULL)
         aux = aux->prox;
     novo = (struct cliente *) malloc (sizeof(struct cliente));
     
     printf("\n......:Cadastro de Cliente:......\n");
     printf("\nInforme o nome do cliente: \n");
     gets(novo->nomecliente);
     
     printf("\nInforme o sobrenome do cliente: \n");
     gets(novo->sobrenome);
     
     printf("\nInforme o telefone do cliente: \n");
     gets(novo->telefone);
     
     printf("\nInforme o cpf do cliente: \n");
     gets(novo->cpf);
     
     printf("\nInforme o endere\207o do cliente: \n");
     gets(novo->endereco);
     
     printf("\nInforme o bairro do cliente: \n");
     gets(novo->bairro);
     
     printf("\nInforme o complemento do cliente: \n");
     gets(novo->complemento);
     
     printf("\nInforme o Nome do animal do cliente: \n");
     gets(novo->nomeanimal); 
     
     printf("\nInforme o tipo de animal (Cachorro ou Gato): \n");
     gets(novo->tipoanimal);
     
     printf("\nInforme o ra\207a do animal: \n");
     gets(novo->raca);
     printf("\nInforme a idade do animal: \n");
     gets(novo->idadeanimal);
     
     printf("\nInforme o peso do animal: \n");
     gets(novo->pesoanimal);
     
     novo->prox=NULL;
     aux->prox = novo;
}
//Função para cadastrar um veterinário novo
void cadastrar_demais_vet(struct veterinario *quarto)
{
    struct veterinario *aux_4, *novo_veterinario;
    
    aux_4=quarto;
    while(aux_4->prox != NULL)
         aux_4 = aux_4->prox;
    novo_veterinario= (struct veterinario *) malloc (sizeof(struct veterinario));
    
     printf("\n......:Cadastro de Veterinários:......\n");
     printf("Informe o nome do Veterinário: \n");
     gets(quarto->nomevet);
     printf("Informe o sobrenome do Veterinário: \n");
     gets(quarto->sobrenomevet);
     
     printf("Informe o CPF do Vterinário: \n");
     gets(quarto->cpfvet);
     
     printf("Informe o júmero de inscrição do Veterinário: \n");
     gets(quarto->inscricaovet);
     
     novo_veterinario->prox=NULL;
    aux_4->prox = novo_veterinario;
}
//Função para cadastrar um medicamento novo
void cadastrar_demais_medicamento(struct medicamento *segundo)
{
    struct medicamento *aux_2, *novo_medicamento;
    
    aux_2=segundo;
    while(aux_2->prox != NULL)
         aux_2 = aux_2->prox;
    novo_medicamento= (struct medicamento *) malloc (sizeof(struct medicamento));
    
    printf("\n......:Cadastro de Medicamentos:......\n");
    printf("Informe o nome do medicamento: \n");
    gets(novo_medicamento->nomemedicamento);
    
    printf("Informe uma descricao para o medicamento: \n");
    gets(novo_medicamento->descricao);
     
    printf("Informe para qual tipo de animal ele e usado: \n");
    gets(novo_medicamento->indicado);
     
    printf("Informe o valor do medicamento R$: \n");
    gets(novo_medicamento->valor);
    
    novo_medicamento->prox=NULL;
    aux_2->prox = novo_medicamento;
}
//Função para cadastrar uma agenda nova
void cadastrar_demais_agenda(struct agenda *terceiro)
{
    struct agenda *aux_3, *novo_agenda;
    aux_3=terceiro;
    while(aux_3->prox != NULL)
        aux_3= aux_3->prox;
    novo_agenda = (struct agenda *) malloc (sizeof(struct agenda));
    
    printf("\n......:Cadastro de AGENDA:......\n");
    printf("Informe o horário de atendimento: \n");
    gets(novo_agenda->horario);
    
    printf("Informe o nome do veterinario: \n");
    gets(novo_agenda->nomevet);
     
    printf("Informe nome do cliente: \n");
    gets(novo_agenda->nomecliente);
    
    printf("Informe nome do animal: \n");
    gets(novo_agenda->nomeanimal);  
    
    novo_agenda->prox=NULL;
    aux_3->prox = novo_agenda;
         
}
//Mostrar a AGENDA
void listar_agenda (struct agenda *terceiro)
{
     struct agenda *aux_3;
     
     aux_3=terceiro;
     while(aux_3!= NULL)
     {
         printf("\n*********AGENDA DIÁRIA*********\n");
        printf("Nome do veterinario: %s\n",aux_3->nomevet);
        printf("Horario da agenda: %s\n",aux_3->horario);
        printf("Nome do cliente: %s\n",aux_3->nomecliente);
        printf("Nome do animal: %s\n",aux_3->nomeanimal);
        printf("\n-------------------------\n");
        aux_3 = aux_3->prox;
     }
}
main()
{
      int op=0;
      while(op!=9)
      {
//opção no menu para cadastrar cliente
         op = menu();
         if (op==1){
             if (iniciocliente == NULL) 
               iniciocliente = cadastrar_primeiro();
            else
               cadastrar_demais(iniciocliente);
         }
           
//opção no menu para cadastrar medicamentos
         if (op==5)   
         {
            if (iniciomedicamento == NULL) 
               iniciomedicamento = cadastrar_segundo();
            else
               cadastrar_demais_medicamento(iniciomedicamento);
         }
//opção no menu para cadastrar veterinário
         if (op==6)   
         {
            if (iniciovet == NULL) 
               iniciovet = cadastrar_quarto();
            else
               cadastrar_demais_vet(iniciovet);
         }
//opção no menu para cadastrar agenda
         if (op==7){
             if (inicioagenda == NULL) 
               inicioagenda = cadastrar_terceiro();
            else
               cadastrar_demais_agenda(inicioagenda);
         }             
      }
    free(iniciocliente);
    free(inicioagenda);
    free(iniciomedicamento);

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!