Boa tarde pessoal estou com um problema. Tenho o seguinte exercício e o professor me pede para modifica-lo para usar ponteiros na leitura e apresentação dos dados dos vetores só que não tenho nem idéia de resolver isso. Segue o exercício: #include <stdio.h>
struct Carro {
char marca[15];
int ano;
char cor[10];
float preço;
};
struct Carro carro[2];
void main() {
void preencheVetor();
void pesquisarPorPreco();
void pesquisarPorMarca();
void pesquisaAvancada();
int operacao;
do {
system ("CLS");
printf ("Entre com a opcao:\n");
printf ("1- Preencher lista de Carros\n");
printf ("2- Pesquisar por preço\n");
printf ("3- Pesquisar por marca\n");
printf ("4- Pesquisa avancada\n");
printf ("0- Sair\n");
scanf ("%d", &operacao);
switch (operacao){
case 1: preencheVetor();
break;
case 2: pesquisarPorPreco();
break;
case 3: pesquisarPorMarca();
break;
case 4: pesquisaAvancada();
break;
}
if ((operacao != 1) && (operacao != 2) && (operacao != 3) && (operacao != 4) && (operacao != 0)) {
printf ("\nOperacao invalida!!!");
system ("CLS");
}
} while (operacao != 0);
}
void preencheVetor(){
system ("CLS");
int i;
for (i = 0; i < 2; i++) {
printf ("\nMarca: ");
scanf ("%s", &carro[i].marca);
printf ("Ano: ");
scanf("%d", &carro[i].ano);
printf ("Cor: ");
scanf ("%s", &carro[i].cor);
printf ("preço: ");
scanf ("%f", &carro[i].preço);
}
system ("CLS");
}
//pesquisarPorPreco
void pesquisarPorPreco() {
system ("CLS");
int i;
short flag = 0;
float preço;
printf ("Digite o preço do carro: ");
scanf ("%f", &preço);
for (i = 0; i < 2; i++) {
if (carro[i].preço == preço) {
system ("CLS");
printf ("preço escolhido: %.2f\n\n", preço);
flag = 1;
printf ("Marca: %s\n", carro[i].marca);
printf ("Ano: %d\n", carro[i].ano);
printf ("Cor: %s\n", carro[i].cor);
}
}
if (flag == 0)
printf ("não existem carros com esse valor!!!\n");
system ("PAUSE");
}
//pesquisarPorMarca
void pesquisarPorMarca(){
system ("CLS");
int i;
char marca[15];
short int flag = 0;
printf ("Digite a marca: ");
fflush (stdin);
gets (marca);
for (i = 0; i < 2; i++) {
if (strcmp(carro[i].marca, marca) == 0){
system ("CLS");
flag = 1;
printf ("Marca escolhida: %s\n\n", marca);
printf ("Ano: %d\n", carro[i].ano);
printf ("Cor: %s\n", carro[i].cor);
printf ("preço: %.2f\n", carro[i].preço);
}
}
if (flag == 0)
printf ("não existem carros com essa marca\n");
system ("PAUSE");
}
//pesquisaAvancada
void pesquisaAvancada(){
system ("CLS");
int i;
short int flag = 0;
char marca[15];
int ano;
char cor[10];
printf ("Marca: ");
fflush (stdin);
gets (marca);
printf ("Ano: ");
scanf ("%d", &ano);
printf ("Cor: ");
fflush (stdin);
gets (cor);
for (i = 0; i < 2; i++){
if (strcmp(carro[i].marca, marca) == 0 && carro[i].ano == ano && strcmp(carro[i].cor, cor) == 0)
flag = 1;
}
if (flag == 1) {
system ("CLS");
printf ("Existe carro(s) com essa(s) caracteristica(s)\n");
for (i = 0; i < 3; i++) {
if (strcmp(carro[i].marca, marca) == 0 && carro[i].ano == ano && strcmp(carro[i].cor, cor) == 0) {
printf ("preço: %.2f\n", carro[i].preço);
}
}
}
else {
printf ("não existe nenhum carro com estas caracteristicas\n");
}
system ("PAUSE");
} Se alguém puder me dar uma força agradeço.