ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
1921
1921
EMPFEHLEN
-
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...
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
//--------------------------------------------------------------------------- #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; }
-
Kann mir den keiner helfen? Ist echt wichtig für mich...
Gruß Tom
-
06.05.04 09:05 #3
Du kannst es natürlich ganz einfach machen, in dem du es wie
eine INI-Datei schreibst. Dann kannst du evtl sogar die Bibliotheks-
funktionen verwenden (GetPrivateProfileString!).
Die Datei sähe dann so aus:
[1]
firma=ccc
name=xxx
strasse=ddd
..
[2]
firma=fff
name=xhf
strasse=dtrd
..
mit nem Zähler kannst du dann über die Blöcke iterieren.
-
06.05.04 09:13 #4
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Der Gedanke ist im Prinzip gut, allerdings läuft das erstens nur mit Windows und zweites dürfen .ini-Dateien nur 32KB gross werden. Das wird wahrscheinlich nicht ausreichen.
@grillse: Schau mal hier rein, ich habe da mal einen Ansatz gepostet, wie man es machen könnte: KlickChor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Erstmal danke für eure Antworten!
Das erste Beispiel scheint recht einfach umsetzbar zu sein, allerdings habe ich wie gesagt kein Plan wie ich nach bestimmten stellen suchen kann.
@Kachelator: Bei deinem Vorschlag/Beispiel blicke ich ehrlich gesagt nicht ganz durch, liegt wohl dadran das ich erst mit der Programmierung angefangen habe.
-
So, habe jetzt eine andere Idee, allerdings in meinem CPP Kurs verstehe ich nicht so ganz wie man z.B. Zeile 5 in einer Datei auslesen kann.
Kann das vielleicht nochmal jemand erklären?
-
06.05.04 16:39 #7
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Die Zeilen in einer Textdatei werden durch Zeilenumbrüche ('\n') getrennt. Die fünfte Zeile beginnt nach dem vierten '\n'. Du könntest also die Zeilenumbrüche zählen, wenn du die Datei zeichenweise mit istream::get() einliest. Du kannst aber auch direkt istream::getline() nutzen, das dir deine ganze Zeile einliest.
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
Ähnliche Themen
-
Datei durchsuchen, anschließend Ergebnis ausgeben
Von D34DL1NES im Forum C/C++Antworten: 4Letzter Beitrag: 17.05.09, 11:41 -
Datei in String einlesen danach durchsuchen
Von celloman im Forum JavaAntworten: 17Letzter Beitrag: 05.10.07, 14:27 -
HTML-Datei durchsuchen und bestimmte Sachen ausgeben.
Von TTek im Forum PHPAntworten: 3Letzter Beitrag: 07.08.07, 21:08 -
[c]Datei Durchsuchen/Ausgeben
Von sascha ak opi im Forum C/C++Antworten: 22Letzter Beitrag: 19.07.06, 09:01 -
Inhalt einer Text Datei kopieren
Von partitionist im Forum C/C++Antworten: 4Letzter Beitrag: 31.08.05, 14:14





Zitieren
Login






