Buscar

CÓDIGO DO PIM-IV - 4F --SUSTENTÁVEL

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;
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando