Astrix 0 Denunciar post Postado Setembro 22, 2008 #include <stdio.h> #include <stdlib.h> #include <conio.h> void info(); char nome[15]; char rg[8]; int dia; int mes; int ano; char setor[10]; char funcao[10]; char mesa[2]; char sala[3]; int opcao; int main(int argc, char *argv[]) { char sair; while (1) { printf("\n 1-operacional \n 2-administrativo \n 3-direcao \n 0-sair \n"); printf("\n Opcao:"); fflush(stdin); scanf("%d",&opcao); info(); printf("\nDeseja sair? (S) (N)\n"); sair=getch(); if (sair=='s' || sair=='S') { break; } } getch(); return 0; } void info() { switch(opcao) { case 1: printf("\n OPERACIONAL\n"); printf("\n Informe o nome: "); fflush(stdin); gets(nome); printf("\n Informe o rg: "); fflush(stdin); gets(rg); printf("\n Informe o dia, mes e o ano de admissao: "); scanf("%d %d %d",&dia, &mes, &ano); fflush(stdin); printf("\n Informe o setor: "); fflush(stdin); gets(setor); printf("\n Informe a funcao: "); fflush(stdin); gets(funcao); break; case 2: printf("\n ADMINISTRATIVO\n"); printf("\n Informe o nome: "); fflush(stdin); gets(nome); printf("\n Informe o rg: "); fflush(stdin); gets(rg); printf("\n Informe o dia, mes e o ano de admissao: "); fflush(stdin); scanf("%d %d %d",&dia, &mesa, &ano); printf("\n Informe o setor: "); fflush(stdin); gets(setor); printf("\n Informe a mesa: "); fflush(stdin); gets(mesa); break; case 3: printf("\n DIRECAO\n"); printf("\n Informe o nome: "); fflush(stdin); gets(nome); printf("\n Informe o rg: "); fflush(stdin); gets(rg); printf("\n Informe o dia, mes e o ano de admissao: "); fflush(stdin); scanf("%d %d %d",&dia, &mes, &ano); printf("\n Informe o sala: "); fflush(stdin); gets(sala); break; } } Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Setembro 23, 2008 Tente seguir esse exemplo e se encontrar dificuldades nos retorne. http://forum.imasters.com.br/index.php?showtopic=306346 Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Setembro 27, 2008 Olha Astrix, não sei exatemante o que quer fazer, mas ficou meio estranha essa organização, eu colocaria os cargos (operacional, administrativo, direcao) dentro da struct mesmo...bom, fiz um esboço, ve se te ajuda. Se quiser complementar, terá que criar uma função pra cadastrar sempre um novo registro na próxima posição vazia da struct Funcionario, uma alocação dinâmina no "cadastro[60]" também fica da hora :D #include <stdio.h> typedef struct { char nome[60]; char rg[8]; int dia; int mes; int ano; char setor[10]; char funcao[10]; char mesa[2]; char sala[3]; }Funcionario; void Menu(); void ExecutaOperacao(int opcao); void Exibir(Funcionario* cadastro); void Operacional(Funcionario* cadastro); int main() { int opcao; do { printf("\n\n"); Menu(); printf("\nDigite uma opcao: "); scanf("%d",&opcao); ExecutaOperacao(opcao); }while(opcao != 5); return(0); } void Menu() { printf("1 - Operacional"); printf("\n2 - Administrativo"); printf("\n3 - Direcao"); printf("\n4 - Exibir"); printf("\n5 - Sair"); } void ExecutaOperacao(int opcao) { Funcionario cadastro[60]; //Variavel do tipo Funcionario switch(opcao) { case 1: Operacional(cadastro); break; case 4: Exibir(cadastro); break; /* case 2: Administrativo(cadastro); break; case 3: Direcao(cadastro); break; case 4: printf("\nSAINDO..."); break; */ } } void Exibir(Funcionario* cadastro) { printf("\nNome: %s",cadastro->nome); } void Operacional(Funcionario* cadastro) { printf("\nInforme nome: "); scanf("%s",cadastro->nome); } Compartilhar este post Link para o post Compartilhar em outros sites