Problem bei einfachem Programm



  • Leider ist erneut eine Frage aufgetaucht.

    Wie kann ich printf und scanf in einer Zeile kombinieren?

    so dass dann zB. dort steht:

    Bitte geben Sie die Länge an : "hier soll man dann eine Zahl eingeben" Meter

    Also dass nach scanf wieder wieder printf folgt, alles jedoch in einer Zeile erscheint. Scanf soll also mitten in einem Text stehen.



  • printf( "Laenge:    m\b\b\b\b\b\b" );
    	scanf( "%d", &i );
    

    jajaja



  • Sind auch zwei Eingaben pro Zeile möglich?

    also: Text 1.Eingabe Text 2.Eingabe Text

    Vielen Dank

    snipor



  • Prinzipiell ja, da brauchst du aber glaube ich 2 scanf aufrufe, sonst überschreibst du den text in der mitte.

    Aber einmal eine allgemeine frage:
    Durch den Thread bin ich erst einmal im größeren maße auf scanf gekommen(zuvor habe ich immer gelesen, _wtoi...(ich wollte das scanf nich benutzen)), naja jedenfalls ist wenn ich im format string z.B. "%2d" habe nicht nach zwei eingegebenen zahlen schluss(ich muss enter drücken).
    Nun meine frage ist das immer so oder mach ich etwas falsch?



  • Aber wie kann bekomme ich zwei scanf aufrufe in eine zeile? Denn nach scanf springt es ja in die nächste Zeile.

    Danke

    snipor



  • Hier hab ich einfach mal ein codeschnipsel(daran sieht mans am einfachsten)

    void func()
    {
        int int1, int2;
        printf("Eine Zahl bitte: __ meter, eine Zweite büdde: __ "
         "tonnen(\b*32)");
        scanf("%2d", &int1); // Nun sollten 2 zahlen gelesen werden + \n
        printf("\b\b\b\b"); // 4 Zeichen zurück (\n, 1 leerzeichen und 2 _)
        scanf("%2d", &int2); // Nun wieder lesen und mit \n beebb#nden
    }
    


  • Ich bin auf der Tastatur ganz schön verrutscht:
    Bei mir ist die backspace taste normal groß und daneben liegt #



  • Das mit der Zeile zurückgehen funktioniert nicht(dafür ist \b wohl nicht ausreichen) --> Du müsstes etwas wie SetConsoleCursorPosititon(win) aufrufen, aber es gibt sicher noch etwas anderes...



  • Kann mir niemand mehr helfen?

    Danke



  • Auf ANSI-Ebene gibt es da keine Lösung, aber die meisten Systeme dürften da etwas geeignetes anbieten (gotoxy() oder SetConsoleCursorPosotion()).


Anmelden zum Antworten