Problem



  • Hi leute!

    ich habe ein problem, in meiner datei "data.dat" steht folgender Text:

    Ist alles Klar??
    Ja
    Was geht??
    Nichts!

    ok, ich will das so programmieren, dass wenn der benutzer das erste eingibt, dass danach das zweite ausgegeben wird!

    also ungefähr so:

    USER: Ist alles Klar??
    PC: Ja

    ich habe das wie folgt programmiert:

    #include <stdio.h>
    #include <string.h>
    #include <iostream.h>
    
    int main()
    {
    
    char usr[256];
    cin >> usr;
    
    FILE* File;
    char Buffer[256];
    if(fopen("data.dat","r"))
    {
        while(!feof(File))
        {
            fgets(Buffer,255,File);
        cout << Buffer << endl;
        asm mov ah,0
        asm int 16h
        if (strcmp(Buffer,usr)==0)
        {
            fgets(Buffer,255,File);
            cout << Buffer << endl;
            asm mov ah,0
            asm int 16h
            break;
        }
        }
        fclose(File);
    }
    return 0;
    }
    

    wenn ich dieses programm jetzt starte, und z. b. "Ist alles Klar?" eintippe, dann beendet das program wieder sofort und nix passiert, was passt hier nicht??

    danke im voraus!

    GRÜßE STYLER



  • Wozu braucht man bei sowas Assembler?



  • statt system("pause"); oder irgend sowas

    mov ah,0
    int 16h

    auf beliebige taste warten! 😉



  • Kann mir hier keiner helfen?? Bitte, wäre wichtig!



  • Assembler braucht man dafür aber nicht...auf eine Taste warten wird in der Konsolen-FAQ unter "Automatisches Schließen verhindern" gezeigt.

    Zudem sollte man nicht C mit C++ mischen! FILE ist C, cout aber wieder C++, welche Sprache benützt du nun?

    Weiters solltest du die neuen C++-Header <iostream>, etc. verwenden statt den veralteten <iostream.h>, etc.

    Wenn du "Ist alles klar?" eingibst, in der Datei aber "Ist alles klar??" steht, kann es nicht gehen ;).

    MfG SideWinder


Anmelden zum Antworten