Olá, estou tentando fazer uma lista ordenada em c mas depois de colocar os valores simplesmente mostra na ordem de entrada .
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
struct automovel{
int cod;
char marca[8];
char modelo[8];
int ano;
char placa[8];// XXX-9999
}c[3];
void ordenaNomes(){
system("cls");
int i,j;
printf("\n-------Lista de automoveis--------\n\n");
for(i=1;i<1;i++){
for(j=i+1;j<1;j++){
if( strcoll(c[i].marca, c[j].marca) > 0){
c[0] = c[i];
c[i] = c[j];
c[j] = c[0];
}
}
}
printf("\n Marca modelo ano placa \n ");
for (i = 0; i < 3; i++)
printf("\n %s %s %d %s\n ", c[i].marca, c[i].modelo, c[i].ano, c[i].placa);
printf("\n-------Lista de automoveis--------\n\n");
}
int main(){
int i;
int atual = 0;
int menor = 0;
for (i = 0; i < 3; i++){
c[i].cod = i;
printf("\nPor favor entre com a marca:");
scanf("%s", &c[i].marca);
printf("Por favor entre com a modelo: ");
scanf("%s", &c[i].modelo);
printf("Por favor entre com a ano de fabricacao :");
scanf("%d", &c[i].ano);
printf("Por favor entre com a placa formato XXX-9999:");
scanf("%s", &c[i].placa);
printf("\nGravando Marca %s, modelo %s, ano %d ,placa %s\n\n", c[i].marca, c[i].modelo, c[i].ano, c[i].placa);
}
ordenaNomes();
return 0;
}