falsche usereingabe



  • #include <stdio.h>
    #include <conio.h>
    
    int main()
     {
       int option;       
       scanf("%d",&option);
       switch(option)
        {
          case 1: printf("%d",option);
          break;
          case 2: printf("%d",option);
          break;
          default:  printf("Falsche eingabe");
        }
       getch();       
       return 0;         
     }
    

    in dem obigen beispielprogramm soll der user eine eingabe machen. wenn man die eins oder 2 drückt, soll einfach nur deren Wert angezeigt werden bei anderen Eingaben halt falscher wert. allerdings kommt wenn ich einen buchstaben drücke immer die 2 statt der default meldung. Woran liegt das und wie kann ich das möglichst einfach ändern?



  • Hast du dir schon mal mit dem Debugger den Wert von option ausgeben lassen zu Laufzeit?



  • also ich kann da nicht wirklich was mit anfangen was das heist. 😮 😕



  • Mach mal:

    a) Nach jedem String den du per printf() ausgibst ein "\n" dran
    b) Vor dem switch ein printf("%d\n",option);

    MfG SideWinder



  • Ich kann nur mal wieder sagen, es klappt bei mir, einwandfrei.
    Und bitte benutze

    #include <cstdio>
    

    ,weilo stdio.h veraltet ist!
    ich würde auch mal debugger aufrufen, unter Visual C++ unter Erstellen Debuge ausführen, und dann unten nach der eingabe den Mauszeiger hinklicken
    "f9" klicken
    Prgramm starten (mit strg+f5)
    er geht bis zum roten Punkt
    jetzt links unten den Wert von Option beachten
    und "F5" drücken
    er geht bis zum schluss oder nächsten Haltepunkt weiter

    Wenn das zu kopliziert war oder du nicht VC++ hast, kannstes ja mal sagen, dann erklär ichs nochmal

    Gruß eXitus



  • eXitus schrieb:

    Und bitte benutze

    #include <cstdio>
    

    ,weilo stdio.h veraltet ist!

    Ich würde eher sagen, dass das C++ Syntax ist.

    @mauzi
    Mit dem Debugger musst du dich sowieso über kurz oder lang beschäftigen.
    Kleiner allgemeiner Tipp: Initialisiere deine Variablen.



  • ja, schon klar, ich mag c nicht 😉 auch wenn es der keleine Bruder ist, ich finde das dumme printf uns scanf so unübersichtlich, wie der rest. Ich finde c++ viel besser, aber das ist sicher Ansichtssache

    @mauzi
    Mit dem Debugger musst du dich sowieso über kurz oder lang beschäftigen.
    Kleiner allgemeiner Tipp: Initialisiere deine Variablen.

    Würde ich auch sagen

    gruß eXitus



  • also das, das obige programm bei dir funktioniert versteh ich nicht. bei mir klappt es ganz eindeutig nicht. und da ich dev c++ benutzt kann ich mit dem beschrieben auch nicht allzuviel anfangen.

    trotzdem danke für die vielen antworten.



  • hallo,
    mauzi, ich kann dich doch net einfach so stehn lassen 😉 .
    Also...
    ...ich hab ein bisschen gegoogelt, und so manchen Link gefunden
    Here you go:
    http://www.nds.rub.de/lehre/vorlesungen/programmiersprachen/EinfuehrungDevC.html //ganz am Schluss steht ein bisschen was übers debuggen

    http://www.geocities.com/uniqueness_template/ //komische Seite, aber es steht auch was drin, vorrausgesetzt du kannst Englisch, woran ich nicht zweifle 😕

    http://www.nickles.de/c/s/c/21-0015-310-8.htm //ein ganz klein bisschen, ich schäme mich fast diesen Link zu zeigen

    Ich hoffe du kannst dich jetzt selbst ein bisschen einarbeiten

    Gruß eXitus

    p.s.: wenn du gezielt nach einem Problem mit dem Debugger suchst, kannst du ja nochmal in Google suchen, dann findeste bestimmt mehr, oder??
    Viel Spaß noch, und wie gesagt bei mir funzt das Programm, ich kann dir ja mal "meine" exe Datei geben....


Anmelden zum Antworten