Julian Maicher
Erfahrenes Mitglied
Folgendes (eigentlich) simples Programmsegment:
Die Struktur buchung muss ja wieder den Typ Buchung beinhalten. Wie bekomme ich das in C hin?
Ich danke euch schonmal ..
Code:
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
typedef struct buchung
{
char datum; double betrag; char zweck; Buchung next; /* funktioniert nicht */
} Buchung;
void druckeBuchungen (Buchung *kasse)
{
Buchung *pos = kasse;
while (pos != NULL)
{
printf("Buchung: am %s %8.2f EUR fuer %s.\n",
pos->datum, pos->betrag, pos->zweck);
pos = pos->next;
}
}
Buchung *neueBuchung (char datum[11], double betrag, char zweck[101],
Buchung *kasse)
{
Buchung *neu = malloc(sizeof(struct buchung));
/* neue Struktur deklarieren und Speicher
allokieren */
strcpy(neu->datum, datum); /* Struktur füllen, -> Operator dereferenziert
einen Zeiger und greift auf eine Komponente
der Struktur zu */
neu->betrag = betrag;
strcpy(neu->zweck, zweck);
neu->next = kasse; /* mit vorhandenen Buchungen verketten */
return neu; /* gibt Liste von Buchungen mit neuem
ersten Element zurueck */
}
int main (void)
{
Buchung *kasse = NULL;
kasse = neueBuchung("30.06.2007", 200.0, "Miete + Nebenkosten", kasse);
kasse = neueBuchung("02.07.2007", 29.95, "Einkauf", kasse);
druckeBuchungen(kasse);
return 0;
}
Die Struktur buchung muss ja wieder den Typ Buchung beinhalten. Wie bekomme ich das in C hin?
Ich danke euch schonmal ..
Zuletzt bearbeitet: