@kgin Não muitas, estive a tentar colocar a segunda estrutura, porque preciso disso para o meu trabalho, e a colocar o resto dos carros e as motas, mas ainda tem alguns erros.
#include <stdio.h>
#include <string.h>
#define T_MARCA 30
#define T_MODELO 30
#define T_CAIXA 20
#define T_COR 20
#define Q_CARROS 5
#define Q_MOTAS 5
enum tipo_veiculo
{
CARRO = 1,
MOTA
};
struct contentor_data
{
int mes, dia, ano;
};
typedef struct contentor_veiculo
{
int tipo;
int id;
char marca[T_MARCA];
char modelo[T_MODELO];
int peso;
char cambio[T_CAIXA];
int cilindrada;
int potencia;
char cor[T_COR];
int lotacao;
struct contentor_data data;
};
typedef struct contentor_mota
{
int tipo;
int id;
char marca[T_MARCA];
char modelo[T_MODELO];
int peso;
char cambio[T_CAIXA];
int cilindrada;
int potencia;
char cor[T_COR];
int lotacao;
struct contentor_data data;
};
void
inicializa(struct contentor_veiculo *carros, struct contentor_mota *motas)
{
struct contentor_veiculo in_carros[Q_CARROS] = {
{
CARRO,
1,
"Volkswagen", "Golf", 1300, "Manual", 1390, 75, "Cinzento", 5, {28, 06, 2000}
},
{
CARRO,
2,
"Volkswagen", "Golf VII gti", 1307, "Manual", 1984, 228, "Branco", 5, {8, 2, 2017}
};
{
CARRO,
3,
"Porsche", "Panamera", 1835, "Automático", 2894, 330, "Preto", 5, {8, 2, 2021}
}
{
CARRO,
4,
"Porsche", "911", 1480, "Automático", 2894, 385, "Azul", 5, {8, 2, 2019}
}
CARRO,
5,
"Audi", "R8", 1635, "Manual", 2894, 243, "Laranja", 5, {8, 2, 2007}
};
carros[0] = in_carros[0];
carros[1] = in_carros[1];
carros[2] = in_carros[2];
carros[3] = in_carros[3];
carros[4] = in_carros[4];
{
MOTA,
1,
"Yamaha", "R8", 1635, "Manual", 2894, 243, "Laranja", 5, {8, 2, 2007}
};
};
//carros[0] = in_motas[0]; }
void
lista_veiculo(struct contentor_veiculo *veiculos)
{
int contador;
for (contador = 0; contador < Q_CARROS; contador++) {
printf("Tipo de veiculo:");
if (veiculos[contador].tipo == CARRO) {
printf("Carro\n");
} else {
printf("Mota\n");
}
printf("id:%i\n", veiculos[contador].id);
printf("modelo:%s\n", veiculos[contador].modelo);
printf("peso:%i\n", veiculos[contador].peso);
printf("tipo de cambio:%s\n", veiculos[contador].cambio);
printf("cilindradas:%i\n", veiculos[contador].cilindrada);
printf("potencia:%i\n", veiculos[contador].potencia);
printf("cor:%s\n", veiculos[contador].cor);
printf("lotacao:%i\n", veiculos[contador].lotacao);
printf("Ano:%i\\%i\\%i\n", veiculos[contador].data.mes, veiculos[contador].data.dia, veiculos[contador].data.ano);
printf("\n");
}
}
int main(void)
{
struct contentor_veiculo
carros[Q_CARROS] = {0},
motas[Q_MOTAS] = {0};
inicializa(carros, motas);
lista_veiculo(carros);
return(0);
}