Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Problem Tastatureingaben Dev-cpp

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.08.2006, 16:57 Uhr
~Henie
Gast


Hallo zusammen!

Ich habe ein kleines Problem,
Ich möchte Tastatureingaben in meinem Programm verarbeiten, was ansich mit kbhit() und getch() nicht das Problem ist. Nur möchte ich, dass wenn eine Taste gedrückt wurde nur der ANSI-Wert ausgeben wird. Nur wenn eine Taste gedrückt wird, wird auch immer die gedrückte Taste mit ausgegeben. Kann man das auch "abstellen". Also ich starte das Programm, drücke die Taste w und es wird in der Konsole einzig und allein der ANSI-Wert 100 ausgegeben!?

Eine Frage noch zu kbhit()! Warum funktioniert der Code so nicht, ich bekomme immer die Fehlermeldung:
implicit declaration of function int kbhit()
Obwohl das laut meinem C++-Buch so funktionieren müsste.

Benutze den Dev-c++ Compiler Version 4.1


C++:
#include <iostream.h>
#include <stdlib.h>
#include <conio.c>


void main()
{
int taste;

if(kbhit()!=0)
{
  taste=getch();
}

  cout << taste;
}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.08.2006, 17:01 Uhr
~Henie
Gast


Sorry wegen der vielen Erstellung....

Habe noch versucht diese wieder zu löschen, ging aber nicht....
Hab zum ersten mal ein Forum-Eintrag geschrieben, kenn mich daher noch nicht so gut aus....
Sorry
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.08.2006, 18:08 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi, lieber dann fehlerhaft lassen und nicht 100000 mal posten, editieren können wirs dann zum korrigieren .

Ansonsten, du bindest "conio.c" ein, nicht "conio.h" darum implicit declaration, da er eben kbhit nicht kennt.
--
class God : public ChuckNorris { };

Dieser Post wurde am 01.08.2006 um 18:09 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
02.08.2006, 11:11 Uhr
~Henie
Gast


Irgendwie gibt es bei dem Dev-C++ Compiler nur "conio.c"!
Wenn ich "conio.h" einbinde, kommt der Fehler auch weiterhin,
dazu derselbe auch noch für getch()!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
02.08.2006, 12:49 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hi, kbhit und getch bzw "conio.h" sind veraltet, mein compiler (gcc-4) kennt nich mal mehr ne conio.h.

conio.c einbinden ist immer falsch, .c oder .cpp dateien einzubinden macht man nicht (ausnahme bei templates, aber das ist das nicht der fall)

Das die Taste mit ausgegeben wird, liegt an deinem Compiler, normal gibt getch die taste nicht mit aus, da das "echo" normal abgeschalten wird.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
02.08.2006, 14:51 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Das Programm kann grundsätzlich nicht funktionieren da kbhit ja nicht auf einen Tastendruck wartet. Das heißt wennn du dein Programm startest wirst du nicht so schnell reagieren können das kbhit deinen Tastendruck mitbekommt und deshalb wird die Ausgabe undefiniert sein weil taste ja auch nicht definiert ist.

PS: Außerdem heit es int main() und nicht void main ()

Dieser Post wurde am 02.08.2006 um 14:51 Uhr von Guybrush Threepwood editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: