Ergebnis 1 bis 4 von 4
  1. #1
    I have a sloth! Avatar von h4XX0r-7
    Registriert seit
    20.02.2010
    Beiträge
    310

    Standard C++ // Keine Fehlermeldung, aber Programm nicht fehlerfrei

    Hallo, habe ein Problem mit einem Programm (C++).

    Undzwar ist der Quellcode (soweit ich dies beurteilen kann) fehlerfrei, auch schon mehrfach überprüft (nicht nur von mir), aber das Programm springt an manchen Stellen einfach hin und her...

    Sourcecode:
    http://www.sourcepod.com/ocbirx30-3738


    So, jetzt aber zu den Fehlern:

    Nach der Eingabe von 0, Return, Eingabe des Dateinamen einer bereits vorhandenen Datei (written.txt), Return muss ich einen Satz eingeben.
    Es ist aber egal welche Taste ich drücke, das Programm kehrt zurück zum Anfangsstatus und schreibt keinen einzigen Buchstaben in die Datei written.txt.

    Ich vermute, dass beim Schreiben in die Datei, diese Datei nichtmal existieren muss und automatischerstellt wird...

    Nach der Eingabe von 1, des Dateinamen einer bereits vorhandenen Datei (written.txt), Return, beginnt die Ausgabe des Programms in einer neuen Zeile, jedoch wird kein Inhalt angezeigt.
    Nach erneutem Drücken von Return wird der kehrt das Programm zurück zum Anfangsstatus.

    Die Datei written.txt enthält:

    as
    sas
    asas

    Ich hoffe ihr könnt mir helfen,

    MfG
    h4XX0r7
    Geändert von h4XX0r-7 (26.10.2010 um 21:39 Uhr)



  2. #2

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Ohne mir das jetzt genauer angesehen zu haben, denke ich, dass der Fehler wohl wieder an einem fehlenden flush liegt (andere Threads diesbezüglich gab es hier auch schon in den letzten Tagen).
    Zudem brauchst du hier kein float, du kannst mit cin.fail() oder (!(cin>>x)) prüfen, ob die Eingabe ok war.
    strings und chars solltest du auch nicht mischen, es gibt .c_str().
    Sind noch ein paar andere unschöne Dinge drin, aber ich denke damit sollte es erstmal laufen.

  3. #3
    OpCodeKiddy Avatar von EBFE
    Registriert seit
    30.03.2009
    Beiträge
    442

    Standard

    getline:
    getline - C++ Reference
    he delimiter character is delim for the first function version, and '\n' (newline character) for the second. The extraction also stops if the end of file is reached in is or if some other error occurs during the input operation.

    If the delimiter is found, it is extracted and discarded, i.e. it is not stored and the next input operation will begin after i
    CIN >> darfst du gerne selber nachschlagen, was es ist . Als Tipp:
    Using cin to get user input. - C++ Forums
    Cin is notorious at causing input issues because it doesn't remove the newline character from the stream or do type-checking. So anyone using cin >> var; and following it up with another cin >> stringtype; or getline(); will receive empty inputs. It's best practice to NOT MIX the different types of input methods from cin.
    D.h die eine Eingabeform belässt "\n" im Puffer, die andere ließt es dagegen ein und nutzt es zudem als "Trennzeichen".

    Und die Moral von der Geschicht': mische beide Eingabeformen nicht (alternativ: verwende eine anständig designte Sprache mit zeitgemäßen Libs *duck & run :p* )
    Geändert von EBFE (26.10.2010 um 22:16 Uhr)
    TrueCrypt/RAR/Zip Passwort vergessen und das Bruten dauert ewig? Oder brauchst du fein abgestimmte Wortlisten? Hilf dir selbst mit WLML - Word List Markup Language
    Gib Stoned/Mebroot/Sinowal und anderen Bootkits keine Chance: Anti Bootkit v 0.8.5

  4. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    h4XX0r-7 (27.10.2010)

  5. #4
    Trojaner Avatar von Bismarck_1
    Registriert seit
    20.06.2009
    Beiträge
    50

    Standard

    Nach dem "cin" ein "cin.ignore()". Dann müsste es gehen:

    Code:
    cin >> dateinamewrite;
    cin.ignore();
    ignore - C++ Reference

  6. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    h4XX0r-7 (27.10.2010)

Ähnliche Themen

  1. windows install aber keine treiber da ...
    Von SUNZ im Forum Hardware
    Antworten: 2
    Letzter Beitrag: 17.09.2009, 16:34
  2. Keine Abmahnung aber Blechen
    Von Brotmesser im Forum Rechtliches
    Antworten: 3
    Letzter Beitrag: 06.03.2009, 13:22
  3. Mit AP Verbunden aber keine IP?
    Von Asmo im Forum Wireless-Lan
    Antworten: 1
    Letzter Beitrag: 21.11.2008, 08:24
  4. Forenscript aber keine idee :-P
    Von cabhead im Forum Webmaster
    Antworten: 7
    Letzter Beitrag: 09.10.2008, 22:10

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •