Witam. Zapytam wprost, co robię źle, że nie działa sortowanie?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
struct Dane
{
char nazwisko[40];
char imie[30];
char plec;
};
struct Dane dane[40];
int ilosc;
void wczytajDane();
void sortujDane();
void wypiszDane();
void wczytajDane()
{
printf("Ilosc danych do wpisania: ");
scanf("%d", &ilosc);
for (int i=0;i<ilosc;i++)
{
printf("Podaj naziwsko: ");
scanf("%s", dane[i].nazwisko);
printf("Podaj imie: ");
scanf("%s", dane[i].imie);
if(dane[i].imie[strlen(dane[i].imie)-1]=='a')
dane[i].plec='k';
else
dane[i].plec='m';
}
}
void wypiszDane()
{
int i;
for(i = 0; i < ilosc; i++)
{
printf(" %s %s %c\n\n" , dane[i].nazwisko, dane[i].imie, dane[i].plec);
}
}
void sortujDane(struct Dane dane[], int cnt)
{
int i,j;
struct Dane temp;
for(i=0;i<cnt;++i)
{
for(j= i+ 1;j<cnt;++j)
{
if(strcmp(dane[i].nazwisko,dane[j].nazwisko)<0)
{
temp=dane[i];
dane[i]=dane[j];
dane[j]=temp;
}
}
}
}
int main()
{
wczytajDane();
sortujDane();
wypiszDane();
}