Buscar

TÉCNICAS DE PROGRAMAÇÃO - Atividade 1

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);
}

Continue navegando