tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
ERLEDIGT
NEIN
ANTWORTEN
23
ZUGRIFFE
1635
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    deepthroat deepthroat ist gerade online Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Das mit dem vector war ja nur ein Beispiel. Ich weiß ja nicht womit du deine standardk Objekte verwalten willst (wenn du halt mehrere Konten hast).

    Im Grunde ist ein vector ein "dynamisches Array" und fast genauso zu benutzen wie ein normales Array auch.

    Der Typ der Objekte die der Vektor verwalten soll ist zwischen den < > Zeichen anzugeben.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    #include <vector>   // notwendig für Verwendung v. vector
     
    using namespace std;
     
    int main () {
      // ein Array mit 10 Elementen vom Typ int mit
      // Index von 0 bis 9
      int array[10];
      
      // ein Vector mit 10 Elementen vom Typ int mit
      // Index von 0 bis 9
      vector<int> vec (10);
     
      array[0] = 3;
      vec[0] = 3;
     
      vec[1] += vec[0];
      vec[2] += vec[1] * array[0];
    }

    Wie gesagt, du kannst genauso gut auch einfach erstmal ein Array nehmen. (nur bist du da eben immer auf eine bestimmte Anzahl von Konten beschränkt und der Vektor passt sich automatisch an).
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  2. #17
    wedhead wedhead ist offline Mitglied Bronze
    Registriert seit
    Jan 2004
    Beiträge
    33
    bei der zeile: void test (ostream& datei, int nr, const standardk& z) {

    kommt folgende fehlermeldung: [C++ Error] Unit1.cpp(183): E2293 ) expected


    ok das prob hab ich gecheckt, naja das nächste iss schon am start
    Geändert von wedhead (28.09.05 um 20:26 Uhr)
     

  3. #18
    wedhead wedhead ist offline Mitglied Bronze
    Registriert seit
    Jan 2004
    Beiträge
    33
    ach ich check die ganze e net, ich bekomms einfach net hin, das in mein quelltext einzufügen, bis das klappt werd ich 4wochen brauchen bis ich alle fehler gecheckt hab die ich mach

    *schäm*
     

  4. #19
    deepthroat deepthroat ist gerade online Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Tja, jeder fängt mal klein an. Am besten wäre ja du besorgst dir ein gutes Buch über C++ (z.B. "C++ - Die Programmiersprache" von Bjarne Stroustrup). Kannste dir ja auch ausleihen in der nächstgelegenen Bibliothek. Aber ein solches Buch zum Nachschlagen zu besitzen kann eigentlich nicht verkehrt sein.

    Was hast du denn eigentlich für eine Datei gepostet? Das ist ja ganz was anderes; irgendeine Klasse "speicher"?

    Poste doch mal was du bisher gemacht hast, dann schau ich's mir mal an.
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #20
    wedhead wedhead ist offline Mitglied Bronze
    Registriert seit
    Jan 2004
    Beiträge
    33
    oh sorry, mein fehler, hab irgend ne falsche datei hochgeladen. hier nun die richtige Datei: Unit1.cpp
     

  6. #21
    wedhead wedhead ist offline Mitglied Bronze
    Registriert seit
    Jan 2004
    Beiträge
    33
    so hab code gerade updatet, stürzt wenn ich datei lesen will immer ab, schreiben geht schon einigermaßen

    weedy
     

  7. #22
    deepthroat deepthroat ist gerade online Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Ich hab mir deine alte Version mal angeschaut und verbessert.

    Man könnte das natürlich noch viel besser machen, aber ich wollte dich nicht noch mehr überfordern.

    /edit: Ich hab da ein paar Sachen ändern müssen, damit das bei mir unter Linux kompiliert. Das müßtest du noch zurückändern:

    Die Zeile "#define clrscr(...)" entfernen.

    Die Zeile "#if 0" entfernen.

    Alles zwischen den Zeilen "#else" und "#endif" entfernen.

    Den Kommentar vor getch () entfernen.

    Die ganzen Präprozessoranweisungen am Anfang (include pragmas uws) wieder reinnehmen.
    Angehängte Dateien Angehängte Dateien
    Geändert von deepthroat (29.09.05 um 14:43 Uhr)
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  8. #23
    wedhead wedhead ist offline Mitglied Bronze
    Registriert seit
    Jan 2004
    Beiträge
    33
    vielen dank, muss halt noch paar sachen ändern da du alte version genommen hast, und kannste mir vlt noch sagen was ich machen muss um nen neuen kunden anzulegen ?

    und beim laden bringt er immer nen fehler
    Geändert von wedhead (29.09.05 um 19:45 Uhr)
     

  9. #24
    deepthroat deepthroat ist gerade online Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Also um einen neuen Kunden anzulegen müßtest du zunächst einmal irgendwie eine Verwaltung für alle Kunden erstellen.

    Du könntest wie schon gesagt ein Array nehmen. Das Array würde ich dann vor dem Ende des Programms in die Datei speichern und beim Start der Datei laden.
    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
    
    int main(void) {
      const int max = 10; // maximale Anzahl von Kunden
      standardk konten[max];
      int kunden = 0; // Anzahl der Kunden
     
      // erstmal sicherstellen, das die Datei existiert.
      if (!ofstream ("test.dat", ios::out | ios::app)) {
        cerr << "Datei konnte nicht erstellt werden.\n";
        return 2;
      }
     
      fstream test_dat ("test.dat");
     
      while (kunden < max && konten[kunden].load (test_dat)) {
        ++kunden;
      }
     
      // Konten benutzen und evtl. verändern ...
     
      test_dat.seekp (0, ios::beg);
     
      for (int i = 0; i < kunden; ++i) {
        if (!konten[i].save (test_dat, i+1)) {
          cerr << "Fehler beim Speichern der Datei\n";
          break;
        }
      }
      return 0;
    }
    Übrigens, die Zeile
    Code :
    1
    
        inhaber=new char[20];
    solltest du rausnehmen. Sie ist unnötig und ein Speicherleck.

    Dann wegen dem Fehler beim Laden: Füg mal in der Funktion zum Laden folgende Zeile vor die Zeile mit getline(datei, temp.inhaber) ein:
    Code :
    1
    
    datei.ignore();
    um noch das Zeilenende nach dem Kontostand zu überlesen.
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. Binärdatei in C
    Von Domsi im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 30.11.10, 14:50
  2. Daten in DB schreiben
    Von parafi im Forum PHP
    Antworten: 8
    Letzter Beitrag: 17.01.09, 17:06
  3. Antworten: 4
    Letzter Beitrag: 09.12.08, 22:21
  4. Daten in SQL-DB schreiben?
    Von HM644 im Forum .NET Datenverwaltung
    Antworten: 1
    Letzter Beitrag: 08.11.07, 20:06
  5. Daten in DB schreiben
    Von Fröschle im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 18.01.04, 15:03