000
06.05.2004, 09:04 Uhr
grillse
|
Hallo,
ich habe folgendes Programm geschrieben, in dem man Kundendaten eingeben kann und diese danach in eine Datei geschrieben wird. Gleichzeitig zaehlt ein Zaehler mit und vergibt für jeden Kundendateneintrag eine Kundennummer, danach kommen dann die Kundendaten. Lässt sich blöd erklären aber so sieht das dann in der Datei aus:
#### 0 Bla GmbH SchmidtManfred bla 5 42313 irgendwas 012312334 1 Bla 2 GmbH HeinzSiegfred Irgendwo 12 31231 nirgendwo 1234032
...danach kommt dann Kunde "2" und dessen Daten, usw. ###
Allerdings habe ich nun das Problem das ich die Daten nicht einlesen kann, bzw. ich nicht weiß wie ich das umsetzen soll...
Ich denke mal die einfachste Lösung wäre doch nach dem Eintrag Nr 1 zu Suchen und dann die nächsten 6 Zeilen auszugeben bzw einzulesen!
Hier der Code, sieht noch kaotisch aus, aber er funktioniert schonmal...
C++: |
//--------------------------------------------------------------------------- #include <stdio.h> #include <iostream.h> #include <iomanip.h> #include <fstream.h> using namespace std; //--------------------------------------------------------------------------- /* Projekt Anwendungsentwicklung C++ / 28.04.2004 */ int main() { char fname[60],name[60],vname[60],strasse[60],ort[60],plz[5],tel[60]; int auswahl = 0, kdnr; const char* kundenz = "zaehler.dat"; const char* kundendat = "kunden.dat"; ifstream Zaehlerin; Zaehlerin.open(kundenz); if (!Zaehlerin) { cout << "Fehler beim Oeffnen der Zaehlerdatei!\n" "Datei wird neu erstellt, starten Sie das Programm jetzt bitte neu!"; { ofstream zaehlernew(kundenz); if (!zaehlernew) { cout << "Zaehlerdatei kann nicht erstellert werden!\n"; exit (1); } zaehlernew << auswahl << endl; } exit(1); } Zaehlerin >> kdnr; Zaehlerin.close(); cout << kdnr << '\n'; cout << "\tIT4YOU\nCustomer Management Software\tv0.10 28.04.2004\n\n"; /* EINGABE */ Start: cout << "Zum Start der Eingaben bitte [ENTER] druecken!" << endl; getchar(); cout << setw(20) << "Firmenname: "; cin.getline(fname, 60); cout << setw(20) << "Nachname: "; cin.getline(name, 60); cout << setw(20) << "Vorname: "; cin.getline(vname, 60); cout << setw(20) << "Strasse + Hausnr.: "; cin.getline(strasse, 60); cout << setw(20) << "PLZ: "; cin.getline(plz, 6); cout << setw(20) << "Stadt: "; cin.getline(ort, 60); cout << setw(20) << "Telefon: "; cin.getline(tel, 60); cout << "\nDie Kundendaten wurden erfolgreich eingegeben, Sie koennen sich " "nun fuer einen der folgenden Schritte entscheiden:\n"; cout << "1 - Kundendaten einsehen\n2 - Kundendaten exportieren"; cin >> auswahl; fflush(stdin); /* ANFANG ANZEIGEN */ if (auswahl == 1) { cout << "Anzeige:" << endl; cout << setw(20) << "Firmenname: " << fname << endl; cout << setw(20) << "Nachname: " << name << endl; cout << setw(20) << "Vorname: " << vname << endl; cout << setw(20) << "Strasse + Hausnr.: " << strasse << endl; cout << setw(20) << "PLZ: " << plz << endl; cout << setw(20) << "Stadt: " << ort << endl; cout << setw(20) << "Telefon: " << tel << endl; } /* ENDE ANZEIGEN */ /* ANFANG EXPORTIEREN + KUNDENZAEHLER +1 & SPEICHERN */ { ofstream Output(kundendat, ios::app); if (!Output) { cout << "Fehler beim Erstellen der Kundendatei!\n"; exit (1); } Output << kdnr << endl; Output << fname << endl; Output << name << vname << endl; Output << strasse << endl; Output << plz << endl; Output << ort << endl; Output << tel << endl; } // Daten wurden gespeichert, Kundennr.-Zähler + 1 kdnr++; ofstream Zaehlerout; // Speichern der aktuellen Kundennr. Zaehlerout.open(kundenz); if (!Zaehlerout) { cout << "Fehler beim Oeffnen der Datei!\n"; exit(1); } Zaehlerout << kdnr; Zaehlerout.close(); /* ENDE EXPORTIEREN + KUNDENZAEHLER +1 & SPEICHERN */ return 0; }
|
|