Baixe o app para aproveitar ainda mais
Prévia do material em texto
Usuário Curso TÉCNICAS DE PROGRAMAÇÃO Teste ATIVIDADE 1 (A1) Iniciado AJUDE – SIGA, CURTA, SALVE O TRABALHO, OBRIGADO Enviado 17/04/22 15:50 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido Resultados exibidos Respostas enviadas, Respostas corretas, Comentários 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ário. RESPOSTA: #include <iostream> #include <string.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <locale.h> int c; struct veiculo{ char modelo[20]; char marca[20]; int ano; char placa[20]; }; int main() { int opcao, i, anov; char modelov[20]; struct veiculo carro[10]; setlocale(LC_ALL, "Portugues"); printf("\n\n++++Cadastro de Veiculos++++\n"); printf("\nDigite o número de uma opção\n"); printf("\n1 Cadastrar veículo\n"); printf("2 Listar veiculos\n"); printf("3 Listar veiculos por ano\n"); printf("4 Listar veiculos por modelo\n"); printf("5 Listar acima do ano X\n"); printf("0 Sair\n\n"); do { printf("\nDigite uma opção: "); scanf("%d", &opcao); printf("\n"); switch(opcao) { case 1: if (c < 10) { printf("-->Cadastrar Veículo.\n"); printf("Digite a marca do veículo:"); scanf("%s", carro[c].marca); printf("Digite o modelo do veículo:"); scanf("%s", carro[c].modelo); printf("Digite o ano do veículo: "); scanf("%d", &carro[c].ano); printf("Digite a placa do veículo:"); scanf("%s", carro[c].placa); c++; printf("%d O Veículo cadastrado!!!\n\n", c); } else { printf("Não podem ser cadastrados mais de 10 veículos."); } break; case 2: printf("-->Veículos cadastrados\n"); for (i = 0; i < c; i++) { printf("%s %s %d %s\n", carro[i].marca, carro[i].modelo, carro[i].ano, carro[i].placa); }; break; case 3: printf("Digite o ano do veículo: "); scanf("%d", &anov); for(i = 0; i < c; i++) { if(carro[i].ano == anov) { printf("%s %s %d %s \n", carro[i].marca, carro[i].modelo, carro[i].ano, carro[i].placa); } }; break; case 4: printf("Digite o modelo do veículo: "); scanf("%s", modelov); for(i = 0; i < c; i++) { if (strcmp (carro[i].modelo, modelov)== 0) { printf("%s %s %d %s \n", carro[i].marca, carro[i].modelo, carro[i].ano, carro[i].placa); } }; break; case 5: printf("Digite o ano do veículo: "); scanf("%d", &anov); for(i = 0; i < c; i++) { if(carro[i].ano > anov) { printf("%s %s %d %s \n", carro[i].marca, carro[i].modelo, carro[i].ano, carro[i].placa); } }; break; }; } while(opcao != 0); return 0; }
Compartilhar