我要排序的支柱陣列和我不斷收到一定的問題,我不知道爲什麼陣列結構排序 - Visual C
#include <stdio.h>
#include <stdlib.h>
#define STRLEN 20
void BubbleSort(int a[], int array_size);
struct schueler
{
char vorname[STRLEN];
char nachname[STRLEN];
char klasse[6];
char gbdatum[9];
double geld;
};
int main()
{
int anz;
int count = 1;
printf("Wieviele Schueler moechten Sie eingaben: ");
scanf("%d",&anz);
struct schueler personen[anz];
while(count <= anz)
{
printf("\n\nSchueler %d:\n\n", count);
printf("\nNachname: ");
scanf("%s",&personen[count].nachname);
printf("\nVorname: ");
scanf("%s",&personen[count].vorname);
printf("\nKlasse: ");
scanf("%s",&personen[count].klasse);
printf("\nGeburtsdatum");
scanf("%s",&personen[count].gbdatum);
printf("\nGeld: ");
scanf("%d",&personen[count].geld);
count++;
}
BubbleSort(&personen, anz);
system("CLS");
for(count = 1; count <= anz; count++)
{
printf("Schueler %d:\n\n", count);
printf("Nachname: ", personen[count].nachname);
printf("Vorname: ", personen[count].vorname);
printf("Klasse: ", personen[count].klasse);
printf("Geburtsdatum: ", personen[count].gbdatum);
printf("Geld: ", personen[count].geld);
}
}
void BubbleSort(int a[], int array_size)
{
int i, j, temp;
for (i = 0; i < (array_size - 1); ++i)
{
for (j = 0; j < array_size - 1 - i; ++j)
{
if (a[j].nachname > a[j+1].nachname)
{
temp = a[j+1].nachname;
a[j+1].nachname = a[j].nachname;
a[j].nachname = temp;
}
}
}
}
的問題是
error: request for member 'nachname' in something not a structure or union
@SirPing函數的第一個參數void BubbleSort(int a [],int array_size);是無效的。它必須是struct schueler [] –
這是什麼編譯器說的? –
直到你的程序編譯警告免費(例如使用gcc例如),我們不能幫你。 – KevinDTimm