struct an Funktion
-
huhu
ich ha da wieder mal eon Problem und zwar will
ich DAten, die ich zuvor in einer Struktur eingelesen habe jetzt in einer anderen wieder ausgebenvoid Tankbeleg(void) { struct Daten{ char Abteilung; char Mitarbeiter[30]; char Datum[8]; float Menge; float Preis; }Beleg[10]; fflush(stdin); printf("\n\nBitte geben sie alle erforderlichen Daten ein\n\n"); printf("Abteiling : "); scanf("%c",&(Beleg.Abteilung)); printf("Mitarbeiter : "); scanf("%s",&(Beleg.Mitarbeiter)); printf("Datum : "); scanf("%s",&(Beleg.Datum)); printf("Menge in l : "); scanf("%f",&(Beleg.Menge)); printf("Preis in Euro : "); scanf("%f",&(Beleg.Preis)); printf("\n\n\n\n\n"); } void Auswertung(struct Daten *struct_ptr) { printf("\n\nAuswertung"); printf("::::: %c",(*struct_ptr).Abteilung); }
-
Du hast die struct Daten local zur function Tankbeleg() declariert also ist sie auch nur dort sichtbar.
Kurt
-
lol verdammt stimmt...
thxaber es trotzdem müsste es doch auch mit Zeigern gehem bloß wie genau?
mfg
-
Du musst die Struktur in main() definieren und dann an Funktionen, die mit den Inhalten dieser Struktur arbeiten sollen, einen Zeiger auf diese Struktur übergeben!
Vereinfacht in etwa so:
void belegen(struct foo *); void ausgeben(struct foo *); int main(void) { struct foo Struktur; belegen(&Struktur); ausgeben(&Stuktur); return 0; }
-
Achja, und die Definition, was die Struktur darstellen soll, gehört vor die Funktionsprototypen.