Datenstruktur in C?

Buitre

Grünschnabel
Hallo!

hab hier eine Frage, bzw. versteh nicht so recht wie man die Aufgabe lösen soll!

Hier die Aufgabenstellung:

o Legen Sie einen in C syntaktisch korrekten Strukturdatentyp „adresse“ an, der die Merkmale „Name“, „Vorname“, „Strasse“, „Ort“ jeweils als Zeichenkette mit 50 Zeichen und „PLZ“ als Ganzzahlentyp speichert.

o Schreiben Sie eine Funktion (auf Papier), die diese Daten auf ein File speichert, indem Sie den Filenamen und ein Feld mit 1000 Einträgen dieser Struktur an die Funktion übergeben. Zur Vereinfachung genügt es, alle 1000 Einträge zu speichern ohne auf die Inhalte zu achten

---------------------------------------------------------------------------
----------------------------------------


bei der ersten Aufgabe denk ich mal das es so aussieht:

struct adresse { unsigned char Name[50];
unsigned char Vorname[50];
unsigned char Strasse[50];
unsigned char Ort[50];
int PLZ;};


Ist das so richtig?


Die zweite Aufgabe verstehe ich nicht ganz so recht, kann mir da jemand weiterhelfen



MfG


Buitre
 
Soweit ja: jetzt brauchst du ein Array von der Struktur mit 1000 Werten.
Auf die kannst du dann mit adresse[2].Name auf den Namen der 3. Person zugreifen!

Und jetzt brauchst du nur noch eine Funktion an die du das Array und eine String Variable über gibst! In dem falle ist im dem String der Dateiname gespeichert!

Hoffe das hilft erstmal!

Gruß XeoX
 
könntest mir das auf als Programm/Funktion schreiben? Bin nicht der Beste, tuhe mir das grad erarbeiten, und falle nicht richtig drauf wie das aussehn soll.


MfG

Buitre
 
C:
void ausgabe(struct adres *struct_ptr, char *dateiname);

struct adres { 
  unsigned char Name[50];
  unsigned char Vorname[50];
  unsigned char Strasse[50];
  unsigned char Ort[50];
  int PLZ;};

int main(){
  char dateiname[81]="daten.txt";
  struct adres adressen[1000];
  speichern(&adressen, dateiname);
  return 0;  
}

void speichern(struct adres *struct_ptr, char *dateiname) {
  FILE *datei;
  int index;
  datei = fopen(dateiname, "r");
  for (index = 0; index < 1000; index++){
  fprintf(datei,"Nachname........:%s",(*struct_ptr).Name);
  fprintf(datei,"Vorname.........:%s",(*struct_ptr).Vorname);
  fprintf(datei,"Straßsse........:%s\n",(*struct_ptr).Strasse);
  fprintf(datei,"Ort.............:%s",(*struct_ptr).Ort);
  fprintf(datei,"PLZ.............:%d\n",(*struct_ptr).PLZ);
  }
  fclose(datei);
}

So in etwa müsste das dann Aussehen, habe es nicht getestet, aber deine Daten musst du noch eingeben, aber nach Aufgabenstellung wohl doch nicht!

Gruß XeoX
 
Zuletzt bearbeitet:
Zurück