Fehlermeldung: siehe Bild:
http://img507.imageshack.us/my.php?image=testat5.gif
Gibts hier kein farbiges code highlighting for C syntax ?
Programmbeschreibung: Anhängernummer und Anhängername werden eingegeben und einfach ungeordnet an die liste gehängt. Das geordnete kommt später ...
http://img507.imageshack.us/my.php?image=testat5.gif
Gibts hier kein farbiges code highlighting for C syntax ?
Programmbeschreibung: Anhängernummer und Anhängername werden eingegeben und einfach ungeordnet an die liste gehängt. Das geordnete kommt später ...
Code:
struct anhaenger
{
int iAnhaengerNummer;
char sAnhaengerName[256];
struct anhaenger *next;
};
struct anhaenger *next = NULL;
struct anheanger *anfang = NULL;
void eingabe_Anhaenger()
{
int iAnNummer;
char sAnName[256];
printf("Geben Sie eine Anhaengernummer ein: ");
scanf("%i",&iAnNummer);
fflush(stdin);
printf("Geben Sie einen Anhaengernamen ein: ");
scanf("%s",sAnName);
fflush(stdin);
haengean_Anhaenger(iAnNummer,sAnName);
}
void haengean_Anhaenger(int iAnNummer, char *sAnName)
{
struct anhaenger *zeiger;
if(anfang == NULL) // Wenn der Zeiger "anfang" == NULL ist, wurde noch kein Strukturelement erstellt bzw. Anhänger angehängt
{
anfang = malloc(sizeof(struct anhaenger)); // der Zeiger "anfang" Zeigt nun auf die Adresse eines neuen Strukturelements
if (anfang == 0)
{
fprintf(stderr, "Es konnte für den Zeiger 'anfang' keinen Speicher reserviert werden, vielleicht zu wenig RAM eingebaut... \n");
return;
}
anfang->iAnhaengerNummer = iAnNummer;
strcpy(anfang->sAnhaengerName, sAnName);
anfang->next = NULL;
}
else
{
zeiger=anfang; // Sonst wird auf das 1. Strukturelement gezeigt
while(zeiger->next != NULL) // Solange der Zeiger "next" nicht auf das Ende der Strukturliste zeigt bzw. nicht auf das letzte Strukturelement
zeiger = zeiger->next; // Der Zeiger "zeiger" zeigt nun ein Strukturelement weiter
zeiger->next = malloc(sizeof(struct anhaenger));
if (zeiger->next == NULL)
{
fprintf(stderr, "Es konnte für den Zeiger für das letzte Element reserviert werden\n");
return;
}
zeiger = zeiger->next; // zeige auf den neuen Speicherplatz
anfang->iAnhaengerNummer = iAnNummer;
strcpy(anfang->sAnhaengerName, sAnName);
zeiger->next = NULL;
}
}