Buscar

Atividade A1 TÉCNICAS DE PROGRAMAÇÃO

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 4 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

Prévia do material em texto

Se foi útil para você deixe um joinha 
TÉCNICAS DE PROGRAMAÇÃO
Atividade A1
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
Resposta:
#include <string.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <ctype.h>
typedef struct carro
{
int cod;
char marca[20];
char modelo[20];
int ano;
char placa[10];
}carro;
carro car[10];
int main(int argc, char** argv) { 
setlocale(LC_ALL,"portuguese");
int i=0;
int option;
int ano=0;
int z=0;
char modelo[20];
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\nCadastro de carros");
printf("\n1 - Cadastrar novo carro");
printf("\n2 - Listar carros cadastrados");
printf("\n3 - Listar carros por modelo");
printf("\n4 - Listar carros a partir de um ano informado");
printf("\n5 - Sair");
printf("\n\nDigite qual opção deseja: "); scanf("%d",&option);
switch(option){
case 1:
if (car[i].cod<=9){
car[i].cod=i;
printf("\nCarro %i ", i+1);
printf("\n\nDigite a marca do carro:"); scanf("%s",car[i].marca);
printf("Digite o modelo do carro:"); scanf("%s",car[i].modelo);
printf("Digite a placa do carro:"); scanf("%s",car[i].placa);
printf("Digite o ano do carro:"); scanf("%d",&car[i].ano);
i=i+1;
}else{
printf("Limite de cadastro é 10!");
}break;
case 2:
printf("\n-------- Lista de carros --------");
for(int x=0; x<i; x++){
printf("\nCarro %i ", x+1);
printf("\nMarca: %s",car[x].marca);
printf("\nModelo: %s",car[x].modelo);
printf("\nAno: %d",car[x].ano);
printf("\nPlaca: %s",car[x].placa);
printf("\n");
}break;
case 3:
printf("\nInforme o modelo do carro: "); scanf("%s",modelo);
for (int x=0; x<i; x++){
if (strcmp(car[x].modelo, modelo) == 0){
printf("\n-------- Modelo %s --------", modelo);
printf("\nCarro %i ", x+1);
printf("\nMarca: %s",car[x].marca);
printf("\nModelo: %s",car[x].modelo);
printf("\nAno: %d",car[x].ano);
printf("\nPlaca: %s",car[x].placa);
printf("\n\n");
z++;
}
}
if (z==0){
printf("\nNenhum modelo carro de modelo '%s' foi encontrado! \n\n",modelo);
}else{
z=0;
}break;
case 4:
printf("\nInforme o ano a ser pesquisado: "); scanf("%d",&ano);
for (int x=0; x<i; x++){
if (car[x].ano >= ano){
printf("\n-------- Ano %s --------", modelo);
printf("\nCarro %i ", x+1);
printf("\nMarca: %s",car[x].marca);
printf("\nModelo: %s",car[x].modelo);
printf("\nAno: %d",car[x].ano);
printf("\nPlaca: %s",car[x].placa);
printf("\n\n");
z++;
}
}
if (z==0){
printf("\nNenhum carro com ano acima de '%d' foi encontrado!",ano);
}else{
z=0;
}break;
case 5:break;
default:
printf("\nOpção inexistente!");
break;
}
}
while (option!=5 && i<=9);
if (i==9){
printf("\nLimite de cadastro de carros alcançado!");
}
for (int y=0; y<i; y++){
printf("\nCarro %i ", y+1);
printf("\nMarca: %s",car[y].marca);
printf("\nModelo: %s",car[y].modelo);
printf("\nAno: %d",car[y].ano);
printf("\nPlaca: %s",car[y].placa);
printf("\n");
}
return 0;
}
Bibliografia
https://www.embarcados.com.br
https://www.embarcados.com.br/bits-em-linguagem-c
https://www.youtube.com
http://mindbending.org
Material EAD TÉCNICAS DE PROGRAMAÇÃO

Outros materiais