Strukturierte Datentypen Fehlermeldung



  • Für diesen Programmausschnitt bekomme ich folgenden Fehler:

    In function ‘write’:
    RechE.c:88: error: ‘adresse’ undeclared (first use in this function)
    RechE.c:88: error: (Each undeclared identifier is reported only once
    RechE.c:88: error: for each function it appears in.)

    adresse habe ich doch deklariert?!

    Danke für jeden Hinweis.

    typedef struct
    {
    	char name[32];
    	char strasse[64];
    	char ort[64];
    } Adresse ;
    
    typedef struct
    {
    	char artikelname[32];
    	float einzelpreis;
    	int anzahl;
    } Artikel ;
    
    typedef struct
    {
    	Adresse adresse;
    	Artikel artikel;
    	float gesamtpreis;
    	int mwst;
    } Rechnung ;
    
    Rechnung read(FILE* input) 
    {
    	Rechnung s ;
    	char trenner = ';' ;
    	char zeile[256] ;
    	char preis[16] ;
    	char anzahl[16] ;
    	char gesamtpreis[16] ;
    	char mwst[16] ;
    	fgets(zeile, 255, input) ;
    	printf("%s", zeile) ;
    	int index = 0 ;
    	index = copyString(zeile, index, s.adresse.name, trenner) ;
    	index = copyString(zeile, index, s.adresse.strasse, trenner) ;
    	index = copyString(zeile, index, s.adresse.ort, trenner) ;
    	index = copyString(zeile, index, s.artikel.artikelname, trenner) ;
    	index = copyString(zeile, index, preis, trenner) ;
    	s.artikel.einzelpreis = atof(preis);
    	index = copyString(zeile, index, anzahl, trenner) ;
    	s.artikel.anzahl = atoi(anzahl);
    	index = copyString(zeile, index, gesamtpreis, trenner) ;
    	s.gesamtpreis = atof(gesamtpreis);
    	index = copyString(zeile, index, mwst, trenner) ;
    	s.mwst = atoi(mwst);
    	return s ;
    }
    
    void write(FILE* output, Rechnung s)
    {
    
    	fprintf(output, "Kundenadresse: %s %s %s\n", s.adresse.name, s.adresse.strasse, adresse.ort) ;
    	fprintf(output, "%s %f %i\n", s.artikel.artikelname, s.artikel.einzelpreis, s.artikel.anzahl) ;
    	fprintf(output, "Gesamtpreis: %f\n", s.gesamtpreis) ;
    	fprintf(output, "MWST: %i\n", s.mwst) ;
    
    }
    


  • //                                                                             | da fehlt ein 's.'
    fprintf(output, "Kundenadresse: %s %s %s\n", s.adresse.name, s.adresse.strasse, adresse.ort) ;
    


  • Danke, habe den Wald vor lauter Bäumen nicht gesehen 🙂


Anmelden zum Antworten