Open MateusFBL opened 7 months ago
PESQUISA VEÍCULOS:
// Fun�o para imprimir as informa�es do ve�culo void imprimirInfoVeiculo(const struct Veiculo *veiculo) { printf("Codigo: %d\n", veiculo->codigo); printf("Descricao: %s\n", veiculo->descricao); printf("Modelo: %s\n", veiculo->modelo); printf("Cor: %s\n", veiculo->cor); printf("Placa: %s\n", veiculo->placa); printf("Valor Diaria: %.2f\n", veiculo->valorDiaria); printf("Ocupantes: %d\n", veiculo->ocupantes); printf("Status: %s\n", veiculo->status); }
// Fun�o para pesquisar ve�culo por c�digo ou descri�o void pesquisarVeiculo(FILE *arquivoVeiculos) { int opcao; printf("\n===== PESQUISAR VE�CULO =====\n"); printf("1 - Pesquisar por Codigo\n"); printf("2 - Pesquisar por Descricao\n"); printf("Escolha uma opcao: "); scanf("%d", &opcao);
struct Veiculo veiculoEncontrado;
switch (opcao) {
case 1: {
int codigoVeiculo;
printf("Digite o codigo do veiculo: ");
scanf("%d", &codigoVeiculo);
if (buscarVeiculoPorCodigo(arquivoVeiculos, codigoVeiculo, &veiculoEncontrado)) {
imprimirInfoVeiculo(&veiculoEncontrado);
} else {
printf("Veiculo nao encontrado.\n");
}
break;
}
case 2: {
char descricaoVeiculo[50];
printf("Digite a descricao do veIculo: ");
scanf(" %[^\n]s", descricaoVeiculo);
if (buscarVeiculoPorDescricao(arquivoVeiculos, descricaoVeiculo, &veiculoEncontrado)) {
imprimirInfoVeiculo(&veiculoEncontrado);
} else {
printf("VeIculo n�o encontrado.\n");
}
break;
}
default:
printf("Op�o inv�lida.\n");
}
}
Guarda de Cabeçalho:
Utiliza as diretivas de pré-processador #ifndef, #define e #endif para evitar múltiplas inclusões do mesmo arquivo. Declaração de Função Auxiliar:
imprimirInfoVeiculo: Uma função auxiliar que imprime as informações de um veículo. Função pesquisarVeiculo:
Declaração da função responsável por pesquisar um veículo por código ou descrição. Exibe um menu com opções para o usuário escolher como deseja realizar a pesquisa. Usa um switch para lidar com a escolha do usuário. Pesquisa por Código:
Solicita o código do veículo e utiliza a função buscarVeiculoPorCodigo para procurar no arquivo de veículos. Se encontrado, imprime as informações do veículo. Caso contrário, exibe uma mensagem informando que o veículo não foi encontrado. Pesquisa por Descrição:
Solicita a descrição do veículo e utiliza a função buscarVeiculoPorDescricao para procurar no arquivo de veículos. Se encontrado, imprime as informações do veículo. Caso contrário, exibe uma mensagem informando que o veículo não foi encontrado. Opção Inválida:
Se o usuário escolher uma opção inválida, exibe uma mensagem informando isso. Finalização do Guarda de Cabeçalho:
Encerra as diretivas de pré-processador.
PESQUISA CLIENTES:
ifndef PESQUISARCLIENTES_H_INCLUDED
define PESQUISARCLIENTES_H_INCLUDED
void imprimirInfoCliente(const struct Cliente *cliente) { printf("C�digo: %d\n", cliente->codigo); printf("Nome: %s\n", cliente->nome); printf("Endereco: %s\n", cliente->endereco); printf("Telefone: %s\n", cliente->telefone); }
// Fun�o para pesquisar cliente por c�digo ou nome void pesquisarCliente(FILE *arquivoClientes) { int opcao; printf("\n===== PESQUISAR CLIENTE =====\n"); printf("1 - Pesquisar por Codigo\n"); printf("2 - Pesquisar por Nome\n"); printf("Escolha uma opcao: "); scanf("%d", &opcao);
}
endif // PESQUISARCLIENTES_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. Declaração de Função Auxiliar:
imprimirInfoCliente: Uma função auxiliar que imprime as informações de um cliente. Função pesquisarCliente:
Declaração da função responsável por pesquisar um cliente por código ou nome. Exibe um menu com opções para o usuário escolher como deseja realizar a pesquisa. Usa um switch para lidar com a escolha do usuário. Pesquisa por Código:
Solicita o código do cliente e utiliza a função buscarClientePorCodigo para procurar no arquivo de clientes. Se encontrado, imprime as informações do cliente. Caso contrário, exibe uma mensagem informando que o cliente não foi encontrado. Pesquisa por Nome:
Solicita o nome do cliente e utiliza a função buscarClientePorNome para procurar no arquivo de clientes. Se encontrado, imprime as informações do cliente. Caso contrário, exibe uma mensagem informando que o cliente não foi encontrado. Opção Inválida:
Se o usuário escolher uma opção inválida, exibe uma mensagem informando isso. Finalização do Guarda de Cabeçalho:
Encerra as diretivas de pré-processador.