Como organizar esse programa em c ?

C string struct
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", &registro.nome);
fflush(stdin);
printf ("Informe a data do seu nascimento:\n ");
scanf("%d",&registro.nascimento);
fflush(stdin);
printf ("Informe o seu cpf:\n ");
scanf("%d",&registro.cpf);
fflush(stdin);
printf ("Informe o número de seu telefone:\n ");
scanf("%d",&registro.telefone);
fflush(stdin);
printf ("Informe o número de seu cartão de crédito:\n ");
scanf("%d",&registro.cartao);
fflush(stdin);
printf ("Informe o número da sua carteira Nacional de Habilitação:\n");
scanf ("%d",&registro.cnh);
fflush(stdin);
    }
    
    
    
}

 

Foto de Eli A.
Eli perguntou há 1 ano

Sabe a resposta?

Ganhe 10 pts por resposta de qualidade
Responder dúvida
1 resposta
1
votos
1 usuário votou nessa resposta como útil.
Professora Natalie P.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
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?

Envie uma dúvida gratuitamente

Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.

Professores particulares de C

+ Ver todos
Encontre professor particular para te ajudar nos estudos
R$ 70 / h
Natalie P.
Volta Redonda / RJ
Natalie P.
4,9 (11 avaliações)
Horas de aulas particulares ministradas 18 horas de aula
Tarefas resolvidas 3 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
C - Listas Duplamente Encadeadas C - Listas Encadeadas C - string
Doutorado: Ciência da Computação (Universidade Federal de São Paulo (UNIFESP))
Isa aprender rápido? Não quer perder tempo com longas teorias que no final não servem para nada? Quer entender e não esquecer mais? É só me chamar
R$ 60 / h
César D.
Mogi Guaçu / SP
César D.
4,9 (811 avaliações)
Horas de aulas particulares ministradas 87 horas de aula
Tarefas resolvidas 995 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
C - matriz Programação em C Intermediário Estrutura de dados em C
Graduação: Matemática Aplicada e Computacional (Universidade Estadual de Campinas (UNICAMP))
Faça aulas de matemática, computação e programação em c, c++, java e python.
R$ 75 / h
Danilo L.
Campina Grande / PB
Danilo L.
4,9 (18 avaliações)
Horas de aulas particulares ministradas 27 horas de aula
Tarefas resolvidas 1 tarefa resolvida
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
C - matriz C - Ponteiros C - struct
Graduação: Engenharia da Computação (IFPB - Campus Campina Grande )
Desenvolvedor web full stack. Acompanhamento particular em excel/vba, python, c/c++, java, selenium e js!