#include #include struct tipo_cadastro { // Struct de cadastro de clientes. int id; char nome [50]; char end [50]; int tel[15]; int vazio; } registros [10]; struct tipo_fornecedores { // Struct de cadastro de fornecedores. int idf; char nomef [50]; char endf [50]; int telf [15]; int vaziof; } registrosf [10]; struct tipo_produtos { //Struct de cadastro de Produtos. int idp; char nomep [100]; char marcap [50]; char anoprod [4]; int vaziop; } registrosp[10]; void cadastrar (int id, int pos); void consultar (); int relatorio (); int verifica_pos (); int verifica_id (int id); int verifica_pos (); void excluir (); main () { // Inicio do programa. int i; printf ("Programa Thiago \n\n"); printf (" ____Menu____\n\n"); printf ("1. Clientes \n2. Fornecedores \n3.Produtos \n\n"); printf ("Digite o numero da opcao desejada: "); scanf ("%d", &i); system ("cls"); switch(i){ case 1:{ printf("\n\n___Menu Clientes___\n\n"); printf ("1. Cadastrar\n 2. Consultar\n 3. Excluir\n 4. Sair\n\n Opcao: "); // Menu Clientes int op=0, posicao, idaux, retorno; while (op != 5) { scanf ("%d", &op); system ("cls"); switch (op) { case 1: { //Cadastrar. posicao = verifica_pos (); if (posicao !=-1) { printf ("\n Entre com o ID do Cliente: "); scanf ("%d", &idaux); fflush (stdin); retorno = verifica_id (idaux); if (retorno ==1) cadastrar (idaux, posicao); else printf ("\n ID Já Existente!\n"); } else printf ("\n Nao e possivel realizar mais cadastros!\n"); break; } case 2: { //Consultar. consultar (); break; } case 3: { excluir (); break; } case 4: { printf ("\n Obriagdo por usar este programa, Tchau!\n\n"); getchar (); break; default: printf ("Opcao Invalida!"); break; } } } case 2: { //MENU FORNECEDORES !!! printf ("__-_-_-_Menu Fornecedores_-_-_-__"); printf ("\n\n1. Novo Fornecedor\n 2. Consultar Fornecedor\n 3. Excluir\n 4. Sair\n\n Opcao: "); // Fornecedores int opf=0, posicaof, idauxf, retornof; while (opf != 5) { scanf ("%d", &opf); system ("cls"); switch (opf) { case 1: { //Cadastrar. posicaof = verifica_pos (); if (posicaof !=-1) { printf ("\n Entre com o ID do Fornecedor: "); scanf ("%d", &idauxf); fflush (stdin); retornof = verifica_id (idauxf); if (retornof ==1) cadastrar_f (idauxf, posicaof); else printf ("\n ID Já Existente!\n"); } else printf ("\n Nao e possivel realizar mais cadastros!\n"); break; } case 2: { //Consultar. consultar (); break; } case 3: { excluir (); break; } case 4: { printf ("\n Obriagdo por usar este programa, Tchau!\n\n"); getchar (); break; default: printf ("Opcao Invalida!"); break; } } } } } case 3: { //Inicio produto. printf ("__-_-_-_Menu Produtos_-_-_-__"); printf ("\n\n 1. Cadastrar Produto \n 2. Busca Produto \n 3. Excluir \n 4. Sair \n\n Opcao: "); // Fornecedores int opp=0, posicaop, idauxp, retornop; while (opp != 5) { scanf ("%d", &opp); system ("cls"); switch (opp) { case 1: { //Cadastrar Produto. posicaop = verifica_pos (); if (posicaop !=-1) { printf ("\n Entre com o CODIGO do Protudo: "); scanf ("%d", &idauxp); fflush (stdin); retornop = verifica_id (idauxp); if (retornop ==1) cadastrar_p (idauxp, posicaop); else printf ("\n CODIGO já Existente!\n"); } else printf ("\n Nao e possivel cadastrar mais produtos!\n"); break; } case 2: { //Consultar. consultar (); break; } case 3: { excluir (); break; } case 4: { printf ("\n Obriagdo por usar este programa, Tchau!\n\n"); getchar (); break; default: printf ("Opcao Invalida!"); break; // Fim menu Produto break; } } } } } } //Fim do MAIN () void cadastrar (int id, int pos) { //Função para cadastrar clientes. pos=verifica_pos(); registros[pos].id=id; printf ("\n Nome: \n"); gets (registros[pos].nome); printf ("\n Endereco: \n"); gets (registros[pos].end); printf ("\n Telefone de Contato: \n"); gets (registros[pos].tel); registros[pos].vazio=1; printf ("\n Cadastro Realizado com Sucesso!\n\n"); getchar (); getchar (); system ("cls"); } //Final da função cadastrar clientes. void cadastrar_f (int id, int pos) { //Função para cadastrar fornecedores. pos=verifica_pos(); registrosf[pos].idf=id; printf ("\n Nome Fornecedor: \n"); gets (registrosf[pos].nomef); printf ("\n Endereco: \n"); gets (registrosf[pos].endf); printf ("\n Telefone de Contato (somente numeros): \n"); gets (registrosf[pos].telf); registrosf[pos].vaziof=1; printf ("\n Cadastro Realizado com Sucesso!\n\n"); getchar (); getchar (); system ("cls"); } //Final da função cadastrar fornecedores // Inicio da função para cadastrar produtos. void cadastrar_p (int id, int pos) { pos=verifica_pos(); registrosp[pos].idp=id; printf ("\n Nome do Produto: \n"); gets (registrosp[pos].nomep); printf ("\n Marca: \n"); gets (registrosp[pos].marcap); printf ("\n Ano de Fabricacao: \n"); gets (registrosp[pos].anoprod); registrosp[pos].vaziop=1; printf ("\n Cadastro Realizado com Sucesso!\n\n"); getchar (); getchar (); system ("cls"); } //Final da função para cadastrar produtos. //Inicio da função consultar clientes. void consultar () { int cont=0, id; printf ("\nEntre com o ID\n"); scanf ("%d", &id); system ("cls"); while (cont<=13) { if (registros[cont]. id==id) { if (registros[cont]. vazio==1) { printf ("\n Nome: %s \n", registros[cont].nome); printf ("\n Endereco: %s \n", registros[cont].end); printf ("\n Telefone: %d \n", registros[cont].tel); getchar (); printf ("\n"); system ("pause"); system ("cls"); break; } } cont++; if (cont>13) printf ("\n Codigo nao encontrado! \n"); } } // Fim da função consultar clientes //Inicio da função consultar fornecedores. void consultarf () { int cont=0, id; printf ("\nEntre com o ID\n"); scanf ("%d", &id); system ("cls"); while (cont<=13) { if (registrosf[cont]. idf==id) { if (registrosf[cont]. vaziof==1) { printf ("\n Nome: %s \n", registrosf[cont].nomef); printf ("\n Endereco: %s \n", registrosf[cont].endf); printf ("\n Telefone: %d \n", registrosf[cont].telf); getchar (); printf ("\n"); system ("pause"); system ("cls"); break; } } cont++; if (cont>13) printf ("\n Codigo nao encontrado! \n"); } } // Fim da função consultar fornecedores //Inicio da função consultar produtos. void consultarp () { int cont=0, id; printf ("\nEntre com o ID\n"); scanf ("%d", &id); system ("cls"); while (cont<=13) { if (registrosf[cont]. idf==id) { if (registrosf[cont]. vaziof==1) { printf ("\n Nome: %s \n", registrosf[cont].nomef); printf ("\n Endereco: %s \n", registrosf[cont].endf); printf ("\n Telefone: %d \n", registrosf[cont].telf); getchar (); printf ("\n"); system ("pause"); system ("cls"); break; } } cont++; if (cont>13) printf ("\n Codigo nao encontrado! \n"); } } // Fim da função consultar produtos. //Função verifica posição int verifica_pos () { int cont = 0; while (cont<=100) { if (registros[cont].vazio==0) return (cont); cont++; } return (-1); } //Função zerar. void zerar () { int cont; for (cont = 0; cont<=13; cont++) registros[cont].vazio = 0; } //Função verifica ID int verifica_id (int id) { int cont = 0; while (cont<=13) { if (registros[cont].id==id) return (0); cont++; } return (1); } //Função excluir. void excluir () { int id, cont=0; char resp; printf ("\n Entre com o codigo que deseja excluir: \n"); scanf ("%d", &id); while (cont<=13) { if (registros[cont].id==id) if (registros[cont].vazio==1) { printf ("\n Nome: %s \n", registros[cont].nome); printf ("\n Endereco: %s \n", registros[cont].end); printf ("\n Telefone: %d \n", registros[cont].tel); getchar (); printf ("\n Deseja realmente excluir este cliente? S/N: "); scanf ("%c", &resp); if (resp=='S' ||resp=='s') { registros[cont].vazio=0; printf ("\n Excluído!\n"); break; } else if (resp=='N'||resp=='n') { printf ("Exclusao Cancelada!"); break; } } cont++; if (cont>13) printf ("\n Codigo nao encontrado!\n"); } getchar (); system ("pause"); system ("cls"); }