Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
21.12.2001, 20:46
Son-Goten



hi!!
ich bin dabei, ein kleines proggi zu schreiben, um mein tippen zu optimieren... nunja... das funktioniert ja auch alles soweit, nur hab ich euin problem...

code:

Zitat:

while(eingabe!='0')
{
char buchstabe=rand()%(126-33+1)+33;
cout<<buchstabe<<endl;
cin>>eingabe;
if(eingabe==buchstabe)
cout<<"jo"<<endl;
else
cout<<"gescheitert!"<<endl;

};

nun, dass hier noch nicht die systemzeit integriert ist(rand also immer dasselbe liefert..), spielt bei meiner frage keine rolle... vielmehr.....
a) welches ascII-zeichen stellt escape dar (ich hab hier vorläufig 0 gesetzt...) -- achso.. hab inner tabelle nachgeschaut, aber nix gefunden.. doch kein ascII??

und b) wie schaffe ich es, dass er nach der eingabe eines buchstabens nicht auf einen druck auf die enter-taste wartet? ich hab mal getchar() eingesetzt, in der hoffnung, dass es funktioniert.. anschließend ging nichts mehr ;)

danke

[edit] achso.... ich hab dann mal noch folgendes versucht....

Zitat:

while(eingabe!='0')
{
char buchstabe=rand()%(126-33+1)+33;
cout<<buchstabe<<endl;
if(getchar(eingabe)==buchstabe)
cout<<"jo"<<endl;
else
cout<<"gescheitert!"<<endl;

};

funktionierte aber auch nicht, er übersprang dann immer eine abfrage.... als würde getchar() 2 durchläufe lang bestehen bleiben...

--


Dieser Beitrag wurde am 21.12.2001 um 20:50 von Son-Goten bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
21.12.2001, 21:53
Archangel



öhm, den 2ten code versteh ich irgendwie nich

getchar ist doch deklariert als:
int getchar(FILE *)

also macht es doch keinen sinn, einen pointer mit einem char zu vergleichen, was sinn machen würde, wär ihn mit NULL (0) zu vergleichen

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
002
21.12.2001, 22:04
LePrau



[ESC] sollte ASCII 27 sein.
Zu de mzweiten kann ich dir leider nich helfen (isch kann kein zeh aldä!)

--

voice - Ruhe in Frieden

zum Seitenanfang zum Seitenende Profil || Suche
003
22.12.2001, 14:26
Son-Goten



hmm.. aber das schöne an getchar() ist einfach, dass er wartet, bis ich meine eingabe mache und er dann sofort weitergeht und nicht noch auf nen druck auf enter wartet.. deshalb hab ichs dort gesetzt... das funktioniert ja nun auch wie erhofft - nur schaut des im proggy denn wie folgt aus....

"
Sie werden jetzt zufaellig generierte Buchstaben sehen! Bitte tippen Sie diese anschliessend ein!
A
(...jetzt gebe ich A ein...)
A <--- das eingegebene...
jo!
H
(...ohne, dass ich etwas tippe...)
gescheitert!
H
(..eingabe...)
H <-- wieder selbst eingegeben...
jo!
"
er nimmt also jeden buchstaben doppelt... einmal kann ich antworten, einmal nicht....

--

zum Seitenanfang zum Seitenende Profil || Suche
004
22.12.2001, 15:23
Archangel



wie is eingabe definiert ?

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
005
23.12.2001, 16:28
Son-Goten



die schleife, die ich oben angegeben hab, macht das doch alles... außer dem ersten satz.. naja... aber wie ich mir den druck auf enter sparen kann, weißt du nicht? dann würde sich das alles von selbst erledigen...

--

zum Seitenanfang zum Seitenende Profil || Suche
006
26.12.2001, 13:57
Kolja



naja ich proge zwar nich lange und weis auch meist nicht so genau was
ich anrichte aber vieleicht hilft das :

#include <stdlib.h>
#include <iostream.h>
#include <conio.h>

void main(){

char buchstabe;
unsigned char eingabe;

neu:
clrscr();
cout << "waehle dir eine taste ...\n\n";
while(!kbhit());
eingabe = getch();

switch(eingabe){
case 27:
exit(0);
break;

default:
buchstabe = rand()%((126-33+1)+33);
cout <<buchstabe<<" weahrs gewesen, du aber hast dich fuer "<<eingabe<<" entschieden";
while(!kbhit());
break;
}

goto neu;
}

hab auf cin>>..; verzichtet weil naja keine ahnung mag ich net bei einer einzelnen eingabe wenn se net sofort angezeigt werden muss..

bla..
ciao

--

zum Seitenanfang zum Seitenende Profil || Suche
007
31.12.2001, 14:22
thinktank



Wäähhh goto :D !

Ausserdem denke ich, dass das Programm so ablaufen sollte, dass man zuerst den zufälligt generierten Buchstaben sieht und dann anfängt aufs Keyboard zu hämmern.

btw : weahrs <= falsch
waers <= richtig ( ja ok der Apostroph fehlt :) )

--

zum Seitenanfang zum Seitenende Profil || Suche
008
03.01.2002, 13:41
Kolja



jejeje nich son stress

wenn ich die progs mundgerecht machen wuerd
koent ich ja fast kohle verlangen
ausserdem soll er doch noch n bissel kopfarbeit ham
( getch() is enthalten darum gings glaub ich)
kann glaub ich net schaden

und zum thema rechtschreibung naja pack dir ma an die eigene nase 8)

FI*** die rechtschreibung

bla..
ciao

--

zum Seitenanfang zum Seitenende Profil || Suche
009
07.01.2002, 22:36
Son-Goten



kopfarbeit, ts ts 8)

naja, "projekt" is im mom sowieso auf eis... da ich mal wieder mit proggen ne pause gemacht hab ;)

ich arbeite mich die tage wieder ein... muss mir mal ne feste zeit suchen, sonst lern ich das nie ;)

--

zum Seitenanfang zum Seitenende Profil || Suche