Olá, a criação do programa é livre, pode ser por lista, arvore, ponteiros, só struct, depende de como aprendemos.
Sobre a faixa, é o local onde o carro vai andar, pista 1 ou pista 2
Seria assim, o Carro (aqui eu pensei em usar a placa ex: ) Em qual faixa ele irá andar e qual sua velocidade.
O que eu tenho criado é isso por enquanto.Porém, se testarem vão perceber que nem se quer ele está listando os itens. A lista sempre aparece vazia.
#include <stdio.h>
#include <iostream>
#include <conio.h>
void carros();
char menu();
void titulo(char *);
void pausa();
void main()
{
char op;
do
{
op = menu();
}
while (op != '0');
}
char menu()
{
char op;
titulo("MENU");
printf("0 - Encerrar Programa\n");
printf("1 - Iniciar Programa\n");
printf("\nEscolha a opcao: ");
op = _getche();
switch (op)
{
case '0': break;
case '1': carros(); break;
default: printf("\nOpcao Invalida!"); break; pausa(); break;
}
return op;
}
void titulo(char * texto)
{
system("cls");
printf("------------------------------------\n");
printf("Powerd by Marcelo J. Soares\n");
printf("%s\n", texto);
printf("------------------------------------\n");
}
void pausa()
{
printf("\nTecle algo para sair\n");
_getch();
}
void carros()
{
struct carro
{
int placa;
int velocidade;
int faixa;
};
struct carro c[10];
int i=0;
int f;
int t = 0;
char op;
titulo("CONTROLE DE TRAFEGO");
printf("1 - Inserir Carros\n");
printf("2 - Listar Carros\n");
printf("3 - Excluir Carros\n");
op = _getche();
switch (op)
{
case '1':
titulo("Inserir Carros");
printf("Digite a Quantidade de carros: ");
scanf_s("%d", &t);
if (t < 10)
{
for (i = 0; i < t; i++)
{
printf("Informe os dados: %d\n", i + 1);
printf("Numeral da Placa: ");
scanf_s("%d", &c.placa);
printf("KM: ");
scanf_s("%d", &c.velocidade);
printf("Escolha sua Pista [1] Faixa [2] Faixa: ");
scanf_s("%d", &f);
if (f >= 3)
i = t;
else if (f == 1)
c.faixa = f;
if (f == 2)
c.faixa = f;
if (i == t)
printf("Pista Inexistente\n");
else
{
printf("\n\n");
printf("Os dados lidos foram: \n");
printf("Numeral da placa: %d\n", c.placa);
printf("Velocidade KM: %d\n", c.velocidade);
printf("Pista Escolhida: %d\n", c.faixa);
printf("----------------------------\n");
}
}
}
else if (t >= 10)
{
printf("Limite de carros atingindo!");
}
pausa();
break;
case '2':
titulo("Listar Carros");
if (t < 10)
for (i = 0; i < t; i++)
{
printf("O carro %d esta trafegando na faixa %d ha %d km por hora\n", c.placa, c.faixa, c.velocidade);
}
pausa();
break;
}
}