Atenção: Precisando de assessoria nos seus PROJETO entre em contato com a SGP
E-mail: ajudastrabalhosprogramacao@gmail.com
Modelo, Marca, Tipo (Carro, Caminhonete, Moto, etc), Preço e Ano de Fabricação.
1-Cadastrar veículo
2-Exibir veículos (Ao exibir os dados dos veículos, mostre também se ele é isento de IPVA – quando o carro tem 20 anos ou mais – ou se ainda paga imposto. Em cada um
dos filtros abaixo, mostre o total de veículos exibidos.)
1-Por tipo
2-Por preço (Maior ou igual ao valor informado)
0-Sair
#include<stdio.h>
#define T 3
#define ERRO_MENU "\n\n\n\t Opcao Incorreta! Escolha outra Opcao \n"
#define ERRO_C "\n\n\tNao ha espaco para cadastrar mais veiculos\n"
#define ERRO_V "\n\n\t Nao ha veiculos cadastrados\n"
struct Veiculos{
char modelo[20],marca[20],tipo;
float preco;
int anoFabrica;
};
int menu();
char menuTipo();
struct Veiculos Cadastrar();
void exibir(struct Veiculos v);
int subMenu();
int queTipo(char t, struct Veiculos v);
int precoMaior(float p, struct Veiculos v);
int main(){
struct Veiculos v[T];
int opc,cont=0,aux;
do{
opc = menu();
switch(opc){
case 1:
if(cont<T){
v[cont] = Cadastrar();
cont++;
}
else
printf(ERRO_C);
getchar();
break;
case 2:{
if(cont>0){
int opc;
opc = subMenu();
switch(opc){
case 1:{
char tipo;
tipo = menuTipo();
printf("\t\t\n\n%c",tipo);
for(aux = 0;aux<cont;aux++){
if(queTipo(tipo,v[aux])){
exibir(v[aux]);
}
}
getch();
break;
}
case 2:{
float preco;
printf("\n\nInforme o valor para a pesquisa: ");
scanf("%f",&preco);
getchar();
for(aux = 0;aux<cont;aux++){
if(precoMaior(preco,v[aux])){
exibir(v[aux]);
}
}
getch();
break;
}
default :
printf(ERRO_MENU);
break;
}
}
else
printf(ERRO_V);
break;
case 0:
break;
default :
printf(ERRO_MENU);
break;
}
}
}while(opc!=0);
return 0;
}
int menu(){
int opc;
system("cls");
printf("1-Cadastrar veiculo\n2-Exibir veículos\n0-Sair");
scanf("%d",&opc);
getchar();
return opc;
}
int subMenu(){
int op;
do{
printf("1-Por tipo 2-Por preço ");
scanf("%d",&op);
getchar();
if(op<1 || op>2){
printf(ERRO_MENU);
getchar();
}
}while(op<1 || op >2);
return op;
}
char menuTipo(){
char tipo;
do{
printf("\nC-Carro\nA-Caminhonete\nM-Moto\nI-caminhao\n");
tipo = toupper(getchar());
if(tipo != 'C' && tipo != 'A' && tipo != 'M' && tipo != 'I'){
printf(ERRO_MENU);
getchar();
}
}while(tipo != 'C' && tipo != 'A' && tipo != 'M' && tipo != 'I');
return tipo;
}
struct Veiculos Cadastrar(){
struct Veiculos v;
printf("Informe o modelo: ");
gets(v.modelo);
printf("Informe a Marca: ");
gets(v.marca);
printf("Informe o Tipo: ");
v.tipo = menuTipo();
getchar();
printf("Informe o Preco");
scanf("%f",&v.preco);
printf("Informe o Ano de Fabricacao");
scanf("%d",&v.anoFabrica);
return v;
}
void exibir(struct Veiculos v){
printf("\n\n\t VEICULOS CADASTRADOS\n\n");
printf("MODELO MARCA TIPO PRECO ANO DE FABRICACAO\n %s %s %c %.2f %d ",v.modelo, v.marca,v.tipo,v.preco,v.anoFabrica );
}
int queTipo(char t, struct Veiculos v){
return v.tipo == t;
}
int precoMaior(float p, struct Veiculos v){
return v.preco >= p;
}
Atenção: Precisando de ajuda entre em contato com a SGP e solicite uma assessoria com a melhor equipe do mercado no desenvolvimento de trabalhos acadêmicos
E-mail: ajudastrabalhosprogramacao@gmail.com
Facebook: fb.me/ajudaemTrabalhosdeprogramacao
Nenhum comentário:
Postar um comentário