C (sorry mir ist kein längerer Titel eingefallen)

  • Dein originaler Code (natürlich ohne das Semikolon) funktioniert bei mir sehr gut. Allerdings muss ich die Funktion "tolower" über "ctype.h" einbinden. Warum ist das denn bei dir in der "stdio.h"?

    Gruß
    Abdulkadir Topal

    Bitte keine technischen Anfragen per Mail oder PN, sie werden definitiv nicht beantwortet.

  • Zitat von xmms

    Ich muss nochmal nerven :P

    Zu deinem Code, Uli kommt dann das raus, wenn man einen nicht bekannten Buchstaben eingibt, z.B. f. Dann soll default ausgeführt werden.

    Code
    Gib einen Befehl ein: a
    Häääh?Gib einen Befehl ein: Häääh?Gib einen Befehl ein:

    Das ganze passiert aber 2 Mal :roll: , wie an an der Ausgabe oben sieht


    Passiert bei mir auch, aber auch, wenn ich einen bekannten Buchstaben eingebe, einen Fehler kann ich aber auch nicht entdecken.

    Ist do nicht eigentlich nur dazu da, dass die schleife, selbst wenn sie nicht wahr ist, zumindest einmal ausgeführt wird? Wäre doch in diesem Fall überflüssig, weil menu ja am anfang eh ' ' zugewiesen wird.

    edit:
    also bei mir funzt es nur mit

    Code
    std::cin >> menu;
    menu=tolower(menu);


    bei menu=tolower(getchar()), menu=getchar() und cin.get(menu) kriegi ch den besagten Fehler.
    cin ist bei meinem dev-cpp in iostream deklariert, jetzt fragt mich nicht, ob und wo das bei einem/eurem C-compiler der Fall ist. :?
    Aber eigentlich wäre viel interessanter zu wissen, warum es nicht richtig funktioniert!? :wink:

    edit2:
    vergisst es, cin >> menu; macht den fehler auch, wenn man einen unbekannten buchstaben eingibt :roll:

  • Hallo Leute,

    das Problem bei Euch ist vielleicht die verwendete getChar() Funktion. Oft muß man den Buchstaben und danach Enter drücken. Das heißt, es sind zwei (!) Zeichen im Eingabepuffer. Die gedrückte Taste und der Return(#13)- oder Linefeed(#10)-Character, der ebenfalls durch die Schleife geht. Vorschlag für folgende Änderung:

    Aloha, Uli

    Seit 102.0 wieder mit dem jeweils neuesten 64bit-Fx von tete009 unterwegs.

  • Zitat von A.Topal

    Dein originaler Code (natürlich ohne das Semikolon) funktioniert bei mir sehr gut. Allerdings muss ich die Funktion "tolower" über "ctype.h" einbinden. Warum ist das denn bei dir in der "stdio.h"?


    Ich hatte es nur vergessen hinzuschreiben. Im Programm habe ich ctype.h inkludiert.

    Uli Ich werde deinen Code nachher mal probieren - dankeschön

  • Ok, es liegt an linefeeds, die nach dem Zeichen kommen:

    Das funktioniert! Habe sogar extra MinGW Developer Studio angeworfen ;)

    Aloha, Uli

    Seit 102.0 wieder mit dem jeweils neuesten 64bit-Fx von tete009 unterwegs.

  • Bei Golem.de gibt es den Eintrag:
    Buch über C-Programmierung zum kostenlosen Download (Link)

    Zitat von Golem.de

    Der Download umfasst rund 8,5 MByte, wobei das Buch im HTML-Format vorliegt, so dass es im Browser betrachtet werden kann. Im Buchhandel ist der Titel (ISBN 3-89842-643-2) mit 1.116 Seiten für 39,90 Euro zu haben. (js)


    ;)
    [Blockierte Grafik: http://img215.imageshack.us/img215/3636/firefoxbutton8us.png]
    __________________________
    Gruß, gammaburst