kleines Problem mit typedef (vermtl. einfach)

Julian Maicher

Erfahrenes Mitglied
Folgendes (eigentlich) simples Programmsegment:

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:
Oh, habs schon ..
Code:
typedef struct buchung
{
   char datum[11]; double betrag; char zweck[101]; struct Buchung *next;
} Buchung;
did it.
 
Zurück