1 Taste sperren
-
hab mir grad gedacht das ich
char(97)=""
oder char(97)=char(0)mache aber das funzt auch net:(
-
MasterTobi schrieb:
hab mir grad gedacht das ich
char(97)=""
oder char(97)=char(0)mache aber das funzt auch net:(
BlockInput() wird nicht funktionieren. schau mal den prototypen an:
BOOL BlockInput( BOOL fBlockIt );als einziger parameter ist fBlockIt zu erkennen, welcher nunmal bewrikt
ob der Input geblockt werden soll oder nicht. 0 nein, nicht 0 ja
-
ja genau des is halt des prob
es muss doch einen anderen code geben auser deinen mit win aspi
-
MasterTobi schrieb:
ja genau des is halt des prob
es muss doch einen anderen code geben auser deinen mit win aspi
ja, weit aus kompliziertere varianten

-
boah super

vll sollt ich mir was anderes einfallen lassen

-
Wofür brauchst du es denn? Vielleicht gibt es ja einfacherer Varianten, als eine Taste zu blocken?
-
ehm immer wenn ich eine taste drück a-z oder A-Z
dann kolabiert mein programm xD
is in einer konsole geschrieben:)
-
LOL, dann ist die taste zu sperren nicht der richtige ansatz.
-
hier ma ein code schnipsel:)
#include <iostream.h> #include <windows.h> #include <fstream.h> #include <string.h> #include <conio.h> int main(){ do { cin>>a; switch (a) { case 1: break; case 2: break; case 3: --dummheit;break; case 4: break; case 5: if (joker>0) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),2); --joker; cout<<"M"<<oe<<"gliche Antworten = 2 und 3"<<endl<<endl; cout<<" Antwort: "; } else if(joker<=0) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),4); cout<<" Kein Joker verf"<<ue<<"gbar, bitte Eingabe wiederholen: "; } }//fall ende {cout<<"lol";} if (a>5)//bedingung ka geht einfach {SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 4); cout<<"Falsche Eingabe! Bitte Wiederholen ";} }while (a>4);wie gesagt geb ich jetzt in a ein a ein dann naja kolabiert er

des default in switch hab ich extra rausgenommen
-
welchen datentyp hat die variable 'a' ?
-
integer
-
ja ich weiß es kommt jetzt integer ist zahl bla bla:-D
aber mit char funzt des genauso wenig glaub ich

-
ok, ich habs mal für mich kompiliert weil ich auf anhieb keinen sinn drin erkennen konnte

bis auf folgende änderungen:#include <fstream> #include <iostream>hab ich nur noch die variablen deklariert. also bei mir crasht da nüx

-
gemein wie is deine variablekann es auch daran liegen das ich System(color) benutze oder slepp
-
Gib ne Meldung aus, dass man auf keinen Fall auf A drücken darf.
-
int a, dummheit, joker;
-
rolf lol schrieb:
Gib ne Meldung aus, dass man auf keinen Fall auf A drücken darf.
lol, das wäre die microsoft lösung

-
ok dann leigt es wohl daran an system bla bla
ich progg in dev
kann sein das der des net richtig verarbeitet weil in borland gibts system net glaub ich
-
sothis_ schrieb:
rolf lol schrieb:
Gib ne Meldung aus, dass man auf keinen Fall auf A drücken darf.
lol, das wäre die microsoft lösung

Ne, gibt es auch bei anderen. Als ich meine theoretische Fahrprüfung gemacht habe, da wurde uns zu Beginn mitgeteilt, dass wir auf keinem Fall die rechte Maustaste drücken sollen, sonst würde das System abstürzen.
Das hat besonders die gefreut, welche noch nie mit einem Computer zu tun hatten. Die waren dann überhaupt nicht nervös

@MasterTobi,
Ist das wirklich der ganze Code? Gibt es noch mehr? Mach mal eine 1:1 Kopie, sofern es nicht zu viel Code ist, dann könnte man dir vielleicht etwas besser helfen, sofern sich jemand die Zeit dazu nimmt
Grüssli
-
ich nehm mal an, das Programm stuerzt nicht wegen dem "a" ein, sondern weil du mehr als nur den einen Charakter eingibst, einen ganzen String z. B. Ich kann mich zumindest dran erinnern dass ich frueher wegen so Dingen Crashes bekommen hab (habs grad probiert, aber unter Linux scheint nix zu crashen).
Die "einfachste" Loesung: lies erstmal einen String ein ( std::getline ), und schau dann nach, ob der String eine Zahl ist oder doch nicht, und wenns keine Zahl ist, gibst du eine Fehlermeldung aus.