Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
//programa 4F #include <stdio.h> #include <string.h> struct Usuario { char nome[100]; char senha[100]; }; struct Cliente { char nome[100]; char nome_fantasia[100]; char telefone[20]; char endereco[100]; char bairro[50]; char cidade[50]; char estado[3]; char cep[10]; char email[100]; char data_abertura[20]; char industria[100]; char numero[10]; char dados_relevantes[200]; }; void cadastrarUsuario(struct Usuario usuarios[], int *total_usuarios) { printf("\nFaça seu cadastro!\n"); printf("Nome: "); getchar(); // Limpa o buffer do teclado fgets(usuarios[*total_usuarios].nome, sizeof(usuarios[*total_usuarios].nome), stdin); usuarios[*total_usuarios].nome[strcspn(usuarios[*total_usuarios].nome, "\n")] = 0; printf("Senha: "); fgets(usuarios[*total_usuarios].senha, sizeof(usuarios[*total_usuarios].senha), stdin); usuarios[*total_usuarios].senha[strcspn(usuarios[*total_usuarios].senha, "\n")] = 0; (*total_usuarios)++; printf("\nUsuário cadastrado com sucesso\n"); } void fazerLogin(struct Usuario usuarios[], int total_usuarios, int *usuario_logado) { char nome[100]; char senha[100]; int i; printf("\nLogin\n"); printf("Nome: "); fgets(nome, sizeof(nome), stdin); nome[strcspn(nome, "\n")] = 0; printf("Senha: "); fgets(senha, sizeof(senha), stdin); senha[strcspn(senha, "\n")] = 0; for (i = 0; i < total_usuarios; i++) { if (strcmp(usuarios[i].nome, nome) == 0 && strcmp(usuarios[i].senha, senha) == 0) { printf("\nLogin bem-sucedido\n"); *usuario_logado = 1; return; } } printf("\nNome de usuário ou senha incorretos\n"); } void cadastrarCliente(struct Cliente clientes[], int *total_clientes) { printf("\nCadastro de Cliente\n"); printf("Nome: "); getchar(); // Limpa o buffer do teclado fgets(clientes[*total_clientes].nome, sizeof(clientes[*total_clientes].nome), stdin); clientes[*total_clientes].nome[strcspn(clientes[*total_clientes].nome, "\n")] = 0; printf("Nome Fantasia: "); fgets(clientes[*total_clientes].nome_fantasia, sizeof(clientes[*total_clientes].nome_fantasia), stdin); clientes[*total_clientes].nome_fantasia[strcspn(clientes[*total_clientes].nome_fantasia, "\n")] = 0; printf("Telefone: "); fgets(clientes[*total_clientes].telefone, sizeof(clientes[*total_clientes].telefone), stdin); clientes[*total_clientes].telefone[strcspn(clientes[*total_clientes].telefone, "\n")] = 0; printf("Endereço: "); fgets(clientes[*total_clientes].endereco, sizeof(clientes[*total_clientes].endereco), stdin); clientes[*total_clientes].endereco[strcspn(clientes[*total_clientes].endereco, "\n")] = 0; printf("Bairro: "); fgets(clientes[*total_clientes].bairro, sizeof(clientes[*total_clientes].bairro), stdin); clientes[*total_clientes].bairro[strcspn(clientes[*total_clientes].bairro, "\n")] = 0; printf("Cidade: "); fgets(clientes[*total_clientes].cidade, sizeof(clientes[*total_clientes].cidade), stdin); clientes[*total_clientes].cidade[strcspn(clientes[*total_clientes].cidade, "\n")] = 0; printf("Estado: "); fgets(clientes[*total_clientes].estado, sizeof(clientes[*total_clientes].estado), stdin); clientes[*total_clientes].estado[strcspn(clientes[*total_clientes].estado, "\n")] = 0; printf("CEP: "); fgets(clientes[*total_clientes].cep, sizeof(clientes[*total_clientes].cep), stdin); clientes[*total_clientes].cep[strcspn(clientes[*total_clientes].cep, "\n")] = 0; printf("Email: "); fgets(clientes[*total_clientes].email, sizeof(clientes[*total_clientes].email), stdin); clientes[*total_clientes].email[strcspn(clientes[*total_clientes].email, "\n")] = 0; printf("Data de Abertura: "); fgets(clientes[*total_clientes].data_abertura, sizeof(clientes[*total_clientes].data_abertura), stdin); clientes[*total_clientes].data_abertura[strcspn(clientes[*total_clientes].data_abertura, "\n")] = 0; printf("Indústria: "); fgets(clientes[*total_clientes].industria, sizeof(clientes[*total_clientes].industria), stdin); clientes[*total_clientes].industria[strcspn(clientes[*total_clientes].industria, "\n")] = 0; printf("Número: "); fgets(clientes[*total_clientes].numero, sizeof(clientes[*total_clientes].numero), stdin); clientes[*total_clientes].numero[strcspn(clientes[*total_clientes].numero, "\n")] = 0; printf("Dados Relevantes: "); fgets(clientes[*total_clientes].dados_relevantes, sizeof(clientes[*total_clientes].dados_relevantes), stdin); clientes[*total_clientes].dados_relevantes[strcspn(clientes[*total_clientes].dados_relevantes, "\n")] = 0; printf("\nCliente salvo com sucesso!\n"); (*total_clientes)++; // Aumenta o contador somente se o cadastro for concluído com sucesso } void exibirClientes(struct Cliente clientes[], int total_clientes) { printf("\nClientes Cadastrados:\n"); if (total_clientes == 0) { printf("Nenhum cliente cadastrado.\n"); return; } for (int i = 0; i < total_clientes; i++) { printf("\nCliente %d\n", i + 1); printf("Nome: %s\n", clientes[i].nome); printf("Nome Fantasia: %s\n", clientes[i].nome_fantasia); printf("Telefone: %s\n", clientes[i].telefone); printf("Endereço: %s\n", clientes[i].endereco); printf("Bairro: %s\n", clientes[i].bairro); printf("Cidade: %s\n", clientes[i].cidade); printf("Estado: %s\n", clientes[i].estado); printf("CEP: %s\n", clientes[i].cep); printf("Email: %s\n", clientes[i].email); printf("Data de Abertura: %s\n", clientes[i].data_abertura); printf("Indústria: %s\n", clientes[i].industria); printf("Número: %s\n", clientes[i].numero); printf("Dados Relevantes: %s\n", clientes[i].dados_relevantes); } } void gerarRelatorio(struct Cliente clientes[], int total_clientes) { printf("\nRelatório de Clientes\n"); exibirClientes(clientes, total_clientes); printf("\nPressione Enter para voltar ao menu anterior..."); getchar(); // Limpa o buffer do teclado getchar(); // Aguarda a entrada do usuário } int main() { int opcao; struct Usuario usuarios[100]; int total_usuarios = 0; int usuario_logado = 0; struct Cliente clientes[100]; // Array de clientes int total_clientes = 0; // Contador de clientes do { printf("\nMenu\n"); printf("1 - Faça seu cadastro!\n"); printf("2 - Desistir do cadastro e Sair!\n"); printf("3 - Já tem cadastro! Fazer login!\n"); printf("Escolha uma opção: "); scanf("%d", &opcao); switch (opcao) { case 1: cadastrarUsuario(usuarios, &total_usuarios); fazerLogin(usuarios, total_usuarios, &usuario_logado); break; case 2: printf("\nSaindo do programa 4F ambiental\n"); break; case 3: fazerLogin(usuarios, total_usuarios, &usuario_logado); break; default: printf("\nOpção inválida\n"); } } while (opcao != 2 && !usuario_logado); if (usuario_logado) { // Menu após login int opcao_logado; do { printf("\nMenu Logado\n"); printf("1 - Cadastrar Cliente\n"); printf("2 - Gerar Relatório\n"); printf("3 - Sair do programa 4F ambiental\n"); printf("Escolha uma opção: "); scanf("%d", &opcao_logado); switch (opcao_logado) { case 1: cadastrarCliente(clientes, &total_clientes); // Passando o array de clientes e o total de clientes break; case 2: gerarRelatorio(clientes, total_clientes); // Passando o array de clientes e o total de clientes break; case 3: printf("\nVoltando ao menu anterior...\n"); break; default: printf("\nOpção inválida\n"); } } while (opcao_logado != 3); } return 0; }
Compartilhar