Baixe o app para aproveitar ainda mais
Prévia do material em texto
// Técnicas de Programação // ATIVIDADE 1 // Aluno: Gabriela Cicci Ferreira Barbosa de Sousa // Data: 29/11/2020 #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> #define MAX_CHAR 20 #define MAX_VEICULOS 10 struct veiculo { char marca[MAX_CHAR]; char modelo[MAX_CHAR]; char placa[MAX_CHAR]; char ano[MAX_CHAR]; }; struct veiculo catalogo[MAX_VEICULOS]; int numero_veiculos = 0; void listar_veiculos(void); void inserir_veiculo(void); void listar_veiculos(void); void listar_veiculos_por_ano(void); void listar_veiculos_por_ano_maior(void); void listar_veiculos_por_modelo(void); int main(void) { char code; for (;;) { printf("Digite a opção desejada \n"); printf("[l] Listar os veículos cadastrados\n"); printf("[i] Inserir um novo veículo\n"); printf("[a] Listar os veículos filtrando-se por ano de fabricação \n"); printf("[x] Listar os veículos com o ano de fabricação acima de um certo valor especificado pelo usuário\n"); printf("[m] Listar os veículos filtrando-se pelo modelo \n"); printf("[s] Sair \n"); scanf(" %c", &code); while (getchar() != '\n'); switch (code) { case 'l': listar_veiculos(); break; case 'i': inserir_veiculo(); break; case 'a': listar_veiculos_por_ano(); break; case 'x': listar_veiculos_por_ano_maior(); break; case 'm': listar_veiculos_por_modelo(); break; case 's': return 0; default: printf("Opção inválida\n"); } printf("\n"); } } void inserir_veiculo(void) { int i, p; struct veiculo aux; if (numero_veiculos == MAX_VEICULOS) { printf("%d veículos já foram cadastrados \n", MAX_VEICULOS); printf("Não é possível cadastrar outro veículo \n"); return; } printf("Digite a marca do veículo: \n"); scanf("%s",aux.marca); printf("Digite o modelo do veículo: \n"); scanf("%s",aux.modelo); printf("Digite a placa do veículo: \n"); scanf("%s",aux.placa); printf("Digite o ano do veículo: \n"); scanf("%s",aux.ano); p = numero_veiculos+1; for(i=1;i<=numero_veiculos;i++) if(atoi(aux.ano)<atoi(catalogo[i].ano)) { p = i; break; } for(i=numero_veiculos;i>=p;i--) catalogo[i+1] = catalogo[i]; catalogo[p]=aux; numero_veiculos++; } void listar_veiculos(void) { int i; printf("Número\tMarca\tModelo\tPlaca\tAno \n"); for (i = 1; i <= numero_veiculos; i++) printf("%d\t%s\t%s\t%s\t%s\n", i, catalogo[i].marca, catalogo[i].modelo, catalogo[i].placa, catalogo[i].ano); } void listar_veiculos_por_ano (void) { int i, ano; printf("Digite o ano do veículo: \n"); scanf("%d", &ano); printf("Número\tMarca\tModelo\tPlaca\tAno \n"); for (i = 1; i <= numero_veiculos; i++) if (atoi(catalogo[i].ano) == ano) printf("%d\t%s\t%s\t%s\t%s\n", i, catalogo[i].marca, catalogo[i].modelo, catalogo[i].placa, catalogo[i].ano); } void listar_veiculos_por_ano_maior (void) { int i, x; printf("Digite um valor: \n"); scanf("%d", &x); printf("Número\tMarca\tModelo\tPlaca\tAno \n"); for (i = 1; i <= numero_veiculos; i++) if (atoi(catalogo[i].ano) > x ) printf("%d\t%s\t%s\t%s\t%s\n", i, catalogo[i].marca, catalogo[i].modelo, catalogo[i].placa, catalogo[i].ano); } void listar_veiculos_por_modelo(void) { int i; char modelo[MAX_CHAR]; printf("Digite o modelo: \n"); scanf("%s", modelo); printf("Número\tMarca\tModelo\tPlaca\tAno \n"); for (i = 1; i <= numero_veiculos; i++) if (strcmp(catalogo[i].modelo, modelo) == 0 ) printf("%d\t%s\t%s\t%s\t%s\n", i, catalogo[i].marca, catalogo[i].modelo, catalogo[i].placa, catalogo[i].ano); }
Compartilhar