Buscar

ATV_01

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Caro estudante,
Em linguagens de programação estruturadas, tal como a linguagem C/C++ temos
a possibilidade de organizar as informações a serem manipuladas sob dois
aspectos: organização homogênea e organização heterogênea. No viés
homogêneo, todas as informações, possuidoras de um único tipo de dados, estão
dispostas em uma estrutura denominada vetor. E, por sua vez, no viés heterogêneo,
as informações, podendo possuir tipagens distintas, estão armazenadas em
estruturas de dados denominadas como “struct”.
Com base nisso, suponha que é necessário armazenar informações relacionadas à
veículos, totalizando, no máximo, 10 veículos. Para cada veículo, deverão ser
fornecidos os seguintes dados:
- marca do veículo
- modelo - ano de fabricação
- placa (formato XXX-YYYY; onde X denota as letras e Y denota os números da
placa).
O sistema deverá oferecer, ao usuário, as seguintes funcionalidades:
- Listar os veículos cadastrados;
- Inserir um novo veículo;
- Listar os veículos filtrando-se por ano de fabricação;
- Listar os veículos com o ano de fabricação acima de um certo valor especificado
pelo usuário
. - Listar os veículos filtrando-se pelo modelo.
O sistema deverá armazenar os veículos ordenados pelo ano de fabricação, ou seja,
ao inserir um novo veículo, este deve ser inserido em ordem crescente de ano de
fabricação.
Referência DEITEL, P. J.; DEITEL, H. C: Como Programar. 6. ed. São Paulo: Pearson
Prentice Hall, 2011. [Recurso eletrônico, Biblioteca Virtual Universitári
Resolução
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
/* run this program using the console pauser or add your own getch,
system("pause") or input loop */
typedef struct carro
{
int cod;
char marca[20];
char modelo[20];
int ano;
char placa[10];
}carro;
carro car[10];
void menu();
void inicializar();
void imprimir();
void cadastrar();
int main(int argc, char** argv) {
setlocale(LC_ALL,"portuguese");
int i;
int op;
int ano;
int z;
char modelo[20];
z=0;
ano=0;
i=0;
car[i].cod = 0;
strcpy(car[i].marca,"NULL");
strcpy(car[i].modelo,"NULL");
strcpy(car[i].placa,"NULL");
car[i].ano = 0;
do
{
printf(" \n Opções: ");
printf(" \n 1. CADASTRAR CARRO ");
printf(" \n 2. MOSTRAR TODOS OS CARROS");
printf(" \n 3. PESQUISAR UM MODELO: ");
printf(" \n 4. MOSTRAR TODOS OS CARROS A PARTIR DE UM ANO");
printf(" \n 5. SAIR ");
printf(" \n \n DIGITE A OPÇÃO: ");
scanf ("%d",&op);
switch(op)
{
case 1:
if (car[i].cod<=9)
{
car[i].cod=i;
printf("\n Digite o código do carro: %d",car[i].cod);
printf("\n Digite a marca do carro: ");
scanf("%s",&car[i].marca);
printf("\n Digite a placa do carro: ");
scanf("%s",&car[i].placa);
printf("\n Digite o ano do carro: ");
scanf("%d",&car[i].ano);
printf("\n Digite o modelo do carro: ");
scanf("%s",&car[i].modelo);
i=i+1;
}
else
{
printf("\n Limite de cadastro é 10!! ");
}
break;
case 2:
for (int x=0; x<i; x++)
{
printf("\nO código do carro é: %d ",car[x].cod);
printf("\nA marca do carro é: %s ",car[x].marca);
printf("\nO modelo do carro é: %s ",car[x].modelo);
printf("\nO ano do carro é: %d ",car[x].ano);
printf("\nA placa do carro é: %s ",car[x].placa);
printf("\n
\n=================================== \n \n");
}
break;
case 3:
printf("\n INSIRA O MODELO A SER PESQUISADO: ");
scanf("%s",&modelo);
for (int x=0; x<i; x++)
{
if (strcmp(car[x].modelo,strlwr(modelo)) == 0)
{
printf("\nO código do carro é: %d ",car[x].cod);
printf("\nA marca do carro é: %s ",car[x].marca);
printf("\nO modelo do carro é: %s ",car[x].modelo);
printf("\nO ano do carro é: %d ",car[x].ano);
printf("\nA placa do carro é: %s ",car[x].placa);
printf("\n
\n=================================== \n \n");
z++;
}
}
if (z==0)
{
printf("\n NÃO FOI ENCONTRADO O MODELO %s \n\n",
modelo);
}
else
{
z=0;
}
break;
case 4:
printf("\n INSIRA O ANO A SER PESQUISADO: ");
scanf("%d",&ano);
for (int x=0; x<i; x++)
{
if (car[x].ano >= ano)
{
printf("\nO código do carro é: %d ",car[x].cod);
printf("\nA marca do carro é: %s ",car[x].marca);
printf("\nO modelo do carro é: %s ",car[x].modelo);
printf("\nO ano do carro é: %d ",car[x].ano);
printf("\nA placa do carro é: %s ",car[x].placa);
printf("\n
\n=================================== \n \n");
z++;
}
}
if (z==0)
{
printf("\n NÃO FOI ENCONTRADO CARROS ACIMA DE %d \n\n",
ano);
}
else
{
z=0;
}
break;
default:
printf(" \n Opção não existente");
break;
}
}
while (op!=5 && i<=9);
if (i==9)
{
printf("\n \n LIMITE DE CARROS ALCANÇADO!!! \n \n \n");
}
for (int y=0; y<i; y++)
{
printf("\nO código do carro é: %d ",car[y].cod);
printf("\nA marca do carro é: %s ",car[y].marca);
printf("\nO modelo do carro é: %s ",car[y].modelo);
printf("\nO ano do carro é: %d ",car[y].ano);
printf("\nA placa do carro é: %s ",car[y].placa);
printf("\n \n=================================== \n
\n");
}
return 0;
}

Continue navegando