MateusFBL / TP_Locadora6

0 stars 0 forks source link

Implementação a função de cadastro de clientes. #1

Open MateusFBL opened 7 months ago

Vikatormfc commented 7 months ago

ifndef CADASTRARCLIENTE_H_INCLUDED

define CADASTRARCLIENTE_H_INCLUDED

include

struct Cliente { // Defini�o da estrutura Cliente int codigo; char nome[50]; char endereco[100]; char telefone[15]; int pontosFidelidade; };

// Fun�o para cadastrar um novo cliente void cadastrarCliente(FILE arquivocadastrocliente, int totalClientes) { struct Cliente novoCliente;

novoCliente.codigo = (*totalClientes) + 1;

while (clienteExiste(arquivocadastrocliente, novoCliente.codigo)) {
    novoCliente.codigo++;
}

printf("Digite o nome do cliente: ");
scanf(" %[^\n]s", novoCliente.nome);

printf("Digite o endereco do cliente: ");
scanf(" %[^\n]s", novoCliente.endereco);

printf("Digite o telefone do cliente: ");
scanf(" %[^\n]s", novoCliente.telefone);

fseek(arquivocadastrocliente, 0, SEEK_END);
fwrite(&novoCliente, sizeof(struct Cliente), 1, arquivocadastrocliente);

(*totalClientes)++;
printf("Cliente cadastrado com sucesso!\n");

}

endif // CADASTRARCLIENTES_H_INCLUDED

EXPLICAÇÃO DO CÓDIGO: Guarda de Cabeçalho:

Utiliza as diretivas de pré-processador #ifndef, #define e #endif para evitar múltiplas inclusões do mesmo arquivo. Inclusões e Declarações:

Inclui a biblioteca padrão stdio.h. Declaração da estrutura Cliente. Função cadastrarCliente:

Declaração da função responsável por cadastrar um novo cliente. Cria uma instância da estrutura Cliente chamada novoCliente. Atribui um código ao novo cliente com base no total de clientes existentes. Garante que o código atribuído seja único, verificando se já existe um cliente com o mesmo código. Solicita ao usuário informações sobre o novo cliente, como nome, endereço e telefone. Posiciona o ponteiro no final do arquivo e escreve as informações do novo cliente no arquivo de clientes. Incrementa o contador total de clientes. Exibe uma mensagem indicando que o cliente foi cadastrado com sucesso. Finalização do Guarda de Cabeçalho:

Encerra as diretivas de pré-processador.