Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso: Ciência da Computação – Atividade: A1 Data: 12/11/2020 Disciplina: Técnicas de Programação /*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.*/ #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> #define TAM 10 typedef struct { char marca[30]; char modelo[30]; int ano_fabricacao; char placa[10]; } Veiculo; Veiculo veic[TAM]; Veiculo aux; int main() { int i,j,u,k, ano = 0, cont = 0, opcao = 0, sum, sum2, sum3; int ano_fabri[TAM]; char modelo[30]; setlocale(LC_ALL,"portuguese"); // -------------------------------------- MENU ------------------------- --------------- while(-1 != 0) { if(cont < TAM) { printf("\n --------------- Sistema de cadastro de veiculos ------ --------- \n"); printf(" \n 1. Cadastrar veiculo "); printf(" \n 2. Veiculos cadastrados "); printf(" \n 3. Buscar por ano "); printf(" \n 4. Buscar por modelo "); printf(" \n 5. Buscar por ano acima de "); printf(" \n 0. Sair \n"); Curso: Ciência da Computação – Atividade: A1 Data: 12/11/2020 Disciplina: Técnicas de Programação printf("--------------------------------------------------------- --------"); } else { printf(" --------------- Sistema de cadastro de veiculos -------- ------- \n"); printf(" \n 2. Veiculos cadastrados "); printf(" \n 3. Buscar por ano "); printf(" \n 4. Buscar por modelo "); printf(" \n 5. Buscar por ano acima de\n"); printf(" \n 0. Sair \n"); printf("---------------------------------------------------------- -------"); } printf(" \n Digite o número da opção desejada: "); scanf("%d", &opcao); switch (opcao) { // ------------------------------------- CADASTRO --------------------- ------------------ case 1: if(cont < TAM) { printf("\n"); printf(" Digite a marca do veiculo: "); scanf("%s", &veic[cont].marca); printf(" Digite o modelo do veiculo: "); scanf("%s", &veic[cont].modelo); printf(" Digite o ano de fabricação (XXXX): "); scanf("%d", &veic[cont].ano_fabricacao); printf(" Digite a placa do veiculo (ABC-1234): "); scanf("%s", &veic[cont].placa); while (strlen(veic[cont].placa) != 8) { printf("Placa inválida! Digite novamente: "); scanf("%s", &veic[cont].placa); } cont += printf("\n"); printf(" ############# Veiculo cadastrado com sucesso! ###############\n\n\n\n"); }else { printf("\n ############# Limite máximo de cadastro atingido! ###############\n\n\n\n\n"); } break; // ------------------------------- LISTA DE CADASTRO GERAL ------------- ------------------------ case 2: for(i = 1 ; i < cont; i++){ for(u = 0; u < cont - 1; u++){ Curso: Ciência da Computação – Atividade: A1 Data: 12/11/2020 Disciplina: Técnicas de Programação if (veic[u].ano_fabricacao > veic[u+1].ano_fabricacao){ aux = veic[u]; veic[u] = veic[u+1]; veic[u+1] = aux; } } } for(j = 0; j < cont; j++){ printf("\nMarca:%s", veic[j].marca); printf("\nModelo:%s", veic[j].modelo); printf("\nAno de fabricação:%d", veic[j].ano_fabricacao); printf("\nPlaca:%s\n", veic[j].placa); } printf("\n\n\n"); system ("\n\npause"); break; // ------------------------------------ LISTA POR ANO ------------------ ---------------------- case 3: sum2 = 0; printf("\nDigite o ano de fabricação: "); scanf("%d", &ano); for(k = 0; k < cont; k++){ if(ano == veic[k].ano_fabricacao){ printf("\nMarca:%s", veic[k].marca); printf("\nModelo:%s", veic[k].modelo); printf("\nAno de fabricação:%d", veic[k].ano_fabricacao); printf("\nPlaca:%s\n\n\n", veic[k].placa); sum2 ++; } }if (sum2 == 0){ printf("\n ############## Veiculo não encontrado. ###############\n\n\n"); } system ("\n\npause"); break; // ------------------------------------ LISTA POR MODELO --------------- ------------------------- case 4: sum = 0; printf("\nDigite o modelo do veiculo: "); scanf("%s", &modelo); for(i = 0; i <= cont; i++){ if(!strcmp(modelo, veic[i].modelo)){ printf("\nMarca:%s", veic[i].marca); printf("\nModelo:%s", veic[i].modelo); printf("\nAno de fabricação:%d", veic[i].ano_fabricacao); printf("\nPlaca:%s\n\n\n", veic[i].placa); sum ++; } }if (sum == 0){ Curso: Ciência da Computação – Atividade: A1 Data: 12/11/2020 Disciplina: Técnicas de Programação printf("\n ############## Veiculo não encontrado. ###############\n\n\n"); } system ("\n\npause"); break; // --------------------------------- LISTA POR ANO ESPECIFICO ---------- --------------------------- case 5: sum3 = 0; printf("\nBuscar por ano acima de: "); scanf("%d", &ano); for(i = 0; i < cont; i++){ if(ano <= veic[i].ano_fabricacao){ printf("\nMarca:%s", veic[i].marca); printf("\nModelo:%s", veic[i].modelo); printf("\nAno de fabricação:%d", veic[i].ano_fabricacao); printf("\nPlaca:%s\n\n\n", veic[i].placa); sum3 ++; } }if (sum3 == 0){ printf("\n ############## Veiculo não encontrado. ###############\n\n\n"); } system ("\n\npause"); break; // --------------------------------------- SAIR ------------------------ ----------------- case 0: printf ("\n ############# Programa Encerrado ###############\n\n\n\n\n"); exit(0); break; default: printf(" \n Você digitou uma opção inválida!");break; } } return 0; }
Compartilhar