#include #include #include struct cliente{ char nome[50]; char endereco[100]; int telefone; }; // struct para cliente // Prototipos de funcoes struct cliente leCliente(); int pegaEscolha(); void sair(); void loopLeituraClientes(); struct cliente buscaClientes(int); void loopDeBuscas(); void escreveDadosCliente(struct cliente, int); //variaveis globais struct cliente vetClientes[50]; int tamClientes = 0; int main() { printf("Exer: Cadastro de clientes .. . \n\n"); int opcao = 1; do{ opcao = pegaEscolha(); system("cls"); switch (opcao) { case 1: //printf("Chamar funcao/loop para leitura de clientes \n\n\n"); loopLeituraClientes(); break; ; case 2: // printf("Chamar funcao para busca de clientes por indice \n\n\n"); loopDeBuscas(); break; ; case 0: sair(); return 0; break; ; default: printf("Digite uma opcao valida"); }// fim switch }while (1); // loop infinito system("pause"); return 0; }// fim main int pegaEscolha() { int escolha; printf("Escolha uma opcao ... \n\n"); printf("1 - Cadastrar clientes\n"); printf("2 - Buscar clientes\n"); printf("0 - Sair/Fechar\n"); scanf("%d", &escolha); return escolha; } void sair() { printf("Fechando o programa ...\n\n\n\n"); system("exit"); } struct cliente leCliente() { struct cliente cli; printf("Nome: "); gets(cli.nome); printf("Endereco: "); gets(cli.endereco); printf("Tel: "); scanf("%d", &cli.telefone); return cli; } void loopLeituraClientes() { int op = 1; do{ fflush(stdin); vetClientes[tamClientes] = leCliente(); printf("Cliente %d lido com sucesso \n\n", tamClientes); tamClientes++; printf("Deseja cadastrar mais clientes? (1 - Sim) (0 - Nao):"); scanf("%d", &op); system("cls"); }while(op); } struct cliente buscaClientes(int index) { return vetClientes[index]; } void loopDeBuscas() { int busca = 0; struct cliente buscado; do{ printf ("Digite o indice do cliente: (999 p-sair)"); scanf("%d", &busca); if (busca != 999) { if (busca >= tamClientes) { printf("Indice invalido ... \n\n"); } else { buscado = buscaClientes(busca); escreveDadosCliente(buscado, busca); } } else printf("Encerrando busca ...\n\n"); }while (busca!=999); } void escreveDadosCliente(struct cliente c, int index) { printf("--- Cliente %d ---\n", index); printf("Nome: %s\n", c.nome); printf("Endereco: %s\n", c.endereco); printf("Tel: %d\n", c.telefone); printf("------------------\n"); }