Bubble Sort Name und Nummern



  • Hallo, vielleicht kann mir hier jemand helfen. Ich muss ein Programm in C schreiben das 5 Namen mit zugehöriger Matrikelnummer einliest und wieder je nach auswahl nach Namen oder Martikelnummer sortiert. Er zeigt mir zwei Fehler an:

    (22) : error C2106: '=' : Linker Operand muss ein L-Wert sein
    (23) : error C2106: '=' : Linker Operand muss ein L-Wert sein

    Zu dem weiß ich nicht wie ich den die BubbleSort Funktion intigieren kann, bitte um hilfe.

    hier mein Quelltext:

    #include <stdio.h>
    #include <string.h>
    #define MAX 10
    
    struct studperson
    {
    		int matnr;
    		char name[MAX];
    };
    
    void BubbleSort(int student, int Anzahl)
    {
    	int i;      /* erstes Element im unsortierten Teil */
    	int j;      /* Index der aufsteigenden Blasen */
    	int temp;   /* für Austausch zweier Elemente */
    
    	for (i = 0; i < Anzahl - 1; i++)
    		for (j = i + 1; j < Anzahl; j++)
    			if ((student + j) < (student + i))
    			{
    				temp = (student + i);
    				(student + i) = (student + j);
    				(student + j) = temp;
    			}
    }
    
    int main()
    {
    	struct studperson student[5];
    	int i,a;
    
    	for(i=0;i<5;i++) //Eingabe von Studenten Daten
    	{
    		printf("Name: ");
    		fflush(stdin);
    		scanf("%s",&student[i].name);
    
    		printf("Matrikel-Nr: ");
    		fflush(stdin);
    		scanf("%i",&student[i].matnr);
    		printf("\n");
    	}
    
    	printf("\nMatr-Nr:   ");
    	printf("Name:");
    	printf("\n----------------\n");
    
    	for(i=0;i<5;i++) //Ausgabe von Studenten Daten
    	{
    		printf("%i   ",student[i].matnr);
    		printf("%s",student[i].name);
    		printf("\n");
    	}
    
    	printf("Soll nach Matr-Nr (0) oder nach Name (1) sortiert werden? ");
    	scanf("%i", &a);
    
    	switch (a)
    	{
    		case 0:
    			printf("\nMatr-Nr:   ");
    			printf("Name:");
    			printf("\n----------------\n");
    
    			for(i=0;i<5;i++) //Ausgabe von Sortierten Studenten Daten nach Matr-Nr.
    			{
    				printf("%i   ",student[i].matnr);
    				printf("%s",student[i].name);
    				printf("\n");
    			}
    			break;
    
    		case 1:
    			printf("\nMatr-Nr:   ");
    			printf("Name:");
    			printf("\n----------------\n");
    
    			for(i=0;i<5;i++) //Ausgabe von Sortierten Studenten Daten nach Name
    			{
    				printf("%i   ",student[i].matnr);
    				printf("%s",student[i].name);
    				printf("\n");
    			}
    			break;
    
    	}
    
    return 0;
    
    }
    



Anmelden zum Antworten