Preciso fazer um trabalho em C de uma locadora de veículos de carros e motos.
Comecei fazendo , mas não sei se está correto assim, estou tentando fazer da forma mais
simples possível porque acabei de começar a estudar a linguagem C. Mas preciso
entregar esse trabalho quarta-feira. Alguém poderia ajudar por favor?
Está certo dessa forma que estou fazendo?
O que precisa colocar a mais nesse programa para melhorar ?
Objetivo Crie um sistema em C de uma locadora de veículos. (Carro e Motos). O seu programa, deverá conter as seguintes opções: ∙ Cadastrar Veículo ∙ Cadastrar Locador (Usuário) ∙ Listar Veículos ∙ Listar Locadores ∙ Contratos Ativos ∙ Locar Veículo ∙ Sair
Cadastrar Veículo Aqui deverão ser cadastradas todas as informações Básicas dos veículos.
Cadastrar Locador Aqui deverão ser cadastradas todas as informações Básicas dos usuários que desejam locar os veículos.
Listar Veículos Mostrar todos os veículos disponíveis e não disponíveis. Além das informações cadastradas.
Listar Usuários Mostrar todas as informações dos usuários, já cadastrados no sistema. Além de todos os contratos existentes para aquele usuário.
Contratos Ativos Exibir todos os contratos ativos e inativos, contendo todas as informações do locador e do veículo.
Locar Veículo Aqui o sistema deverá criar todo processo de reserva do veículo escolhido pelo usuário. Verificando se existe disponibilidade de locação.
Encerrar Contrato O sistema verifica se não multa a ser paga ou qualquer pendência. Se houver aplica a multa e o contrato fica pendente até a multa ser paga. Do contrário, encerrará o contrato, liberando o veículo para locação de outro usuário, bem como, deixando aquele usuário livre para alugar outro veículo.
#include<stdio.h>
#include<locale.h>
struct veiculo {
char marca [50];
char modelo [50];
char cor [50];
int ano;
int dias;
int cnh;
};
struct dados_pessoais {
char nome [100];
int nascimento;
int cpf;
int telefone;
int cartao;
int cnh;
};
int main () {
setlocale (LC_ALL,"Portuguese");
int opcao ;
typedef struct veiculo dados;
dados motos;
typedef struct dados_pessoais pessoais;
pessoais registro;
printf ("\n ");
printf ("-------- MENU--------\n\n ");
printf ("1 - Cadastrar veículo\n ");
printf ("2 - Cadastrar locador (Usuário)\n ");
printf ("3 - Listar veículos\n ");
printf ("4 - Listar locadores\n ");
printf ("5 - Contratos ativos\n ");
printf ("5 - locar veículo\n ");
printf ("6 - Sair\n ");
printf ("\n ");
printf ("Escolha uma opção:\n ");
scanf ("%d",&opcao);
fflush(stdin);
if (opcao == 1) {
printf (" Qual veículo gostaria de cadastrar?\n ");
printf ("1 - Moto\n ");
printf ("2 - Carro\n ");
printf (" Escolha uma opção:\n ");
scanf ("%d",&opcao);
fflush(stdin);
if (opcao==1) {
printf (" Motos disponíveis\n ");
printf ("\n");
printf (" \tMarca -- Modelo ----- Cor ----- Ano ----- Diária\n ");
printf (" \tHonda -- CB 500X -- Vermelha - 2023 ----- R$ 331\n ");
printf (" \tHonda -- CB 500F -- Prata ---- 2023 ----- R$ 331\n ");
printf (" \tYamaha - Factor -- Preta ---- 2019 ----- R$ 100\n ");
printf (" \tTriumph - Tiger -- vermelha - 2023 ----- R$ 523\n ");
printf (" \tDafra - RIVA 150 - Branca -- 2015 ----- R$ 60\n ");
printf (" \tKasinski- Comet 150 - Vermelha -2011 ---- R$ 50\n ");
printf (" \tHonda - Pop 101i - preta - 2016 ----- R$ 29\n ");
printf ("\n ");
printf (" Escolha uma marca:\n ");
scanf ("%49[^\n]s", &motos.marca);
fflush(stdin);
printf (" Escolha um modelo:\n ");
scanf ("%49[^\n]s", &motos.modelo);
fflush(stdin);
printf (" Escolha uma cor:\n ");
scanf ("%49[^\n]s", &motos.modelo);
fflush(stdin);
printf (" Escolha um ano:\n ");
scanf ("%d",&motos.ano);
fflush(stdin);
printf ("Quantos dias ficará com o veículo?\n ");
scanf ("%d",&motos.dias);
fflush(stdin);
}
else
if (opcao== 2) {
printf (" Carros disponíveis\n ");
printf ("\n");
printf (" \tMarca -- Modelo --- Cor - Ano ----- Diária\n ");
printf (" \tFiat - Mobi -- branco - 2021 ----- R$ 125\n ");
printf (" \tToyota - Corolla -- cinza -2020 ----- R$ 228\n ");
printf (" \tPeugeot Hatch cinza - 2022 ---- R$ 183\n ");
printf (" \tHyundai Hb20s cinza - 2016 ----- R$ 151\n ");
printf (" \tNissan Kickss cinza - 2017 ----- R$ 202\n ");
printf (" \tJeep Renegade cinza - 2021 ----- R$ 199\n ");
printf (" \tkia Rio cinza - 2020 ----- R$ 92\n ");
}
}
else
if (opcao== 2) {
printf ("Informe o seu nome completo:\n ");
scanf ("%99[^\n]s", ®istro.nome);
fflush(stdin);
printf ("Informe a data do seu nascimento:\n ");
scanf("%d",®istro.nascimento);
fflush(stdin);
printf ("Informe o seu cpf:\n ");
scanf("%d",®istro.cpf);
fflush(stdin);
printf ("Informe o número de seu telefone:\n ");
scanf("%d",®istro.telefone);
fflush(stdin);
printf ("Informe o número de seu cartão de crédito:\n ");
scanf("%d",®istro.cartao);
fflush(stdin);
printf ("Informe o número da sua carteira Nacional de Habilitação:\n");
scanf ("%d",®istro.cnh);
fflush(stdin);
}
}
cnh em veiculo??? creio que cnh seria pra pessoa que vai fazer o empréstimo...
dias em veiculo??? creio que seria na locação...
só essas duas structs? talvez seja necessária uma para a locação do veiculo...
typedef dentro do main?...
se vc tem carro e moto, seria necessaria essa especificação na struct...
no lucar daquele monte de if para as escolhas do menu, seria mais pratico usar switch case...
na sua opção 1 vc misturou cadastro de veiculo com escolha de veiculo já cadastrado... isso não está legal...
seu programa precisa de acertos e reorganização...
qualquer coisa, me contatw que te ajudo a por tudo isso em ordem, ok?
Comecei fazendo , mas não sei se está correto assim, estou tentando fazer da forma mais
simples possível porque acabei de começar a estudar a linguagem C. Mas preciso
entregar esse trabalho quarta-feira. Alguém poderia ajudar por favor?
Está certo dessa forma que estou fazendo?
O que precisa colocar a mais nesse programa para melhorar ?
Objetivo
Crie um sistema em C de uma locadora de veículos. (Carro e Motos). O seu programa, deverá conter as seguintes opções:
∙ Cadastrar Veículo
∙ Cadastrar Locador (Usuário)
∙ Listar Veículos
∙ Listar Locadores
∙ Contratos Ativos
∙ Locar Veículo
∙ Sair
Cadastrar Veículo
Aqui deverão ser cadastradas todas as informações Básicas dos veículos.
Cadastrar Locador
Aqui deverão ser cadastradas todas as informações Básicas dos usuários que desejam locar os veículos.
Listar Veículos
Mostrar todos os veículos disponíveis e não disponíveis. Além das informações cadastradas.
Listar Usuários
Mostrar todas as informações dos usuários, já cadastrados no sistema. Além de todos os contratos existentes para aquele usuário.
Contratos Ativos
Exibir todos os contratos ativos e inativos, contendo todas as informações do locador e do veículo.
Locar Veículo
Aqui o sistema deverá criar todo processo de reserva do veículo escolhido pelo usuário. Verificando se existe disponibilidade de locação.
Encerrar Contrato
O sistema verifica se não multa a ser paga ou qualquer pendência. Se houver aplica a multa e o contrato fica pendente até a multa ser paga. Do contrário, encerrará o contrato, liberando o veículo para locação de outro usuário, bem como, deixando aquele usuário livre para alugar outro veículo.