29. januar 2003 - 14:06
Der er
28 kommentarer og 3 løsninger
C++: "automatisk enter" ved brug af cin
Hvis jeg nu vil spørge brugeren af mit program, hvad han nu vil! fx char hvadNu; cout << "Hvad vil du nu?\n"; cout << "Q = quit\n"; cout << "S = status\n"; cout << "V = videre\n"; cin >> hvadNU; if(hvadNu == Q) bla bla bla osv. Her skal der jo kun tastes et tegn ind, men hvordan gør jeg så man ikke skal trykke "enter" efter indtastningen?
Annonceindlæg fra Conscia
29. januar 2003 - 14:16
#1
F.eks. sådan her: #include <iostream> #include <conio.h> using namespace std; int main(int argc, char **argv) { cout << "Indtast et bogstav: "; char in = getch(); cout << endl << "Du skrev: " << in << endl; return 0; }
29. januar 2003 - 14:34
#2
Ved det ikke helt.. for det du skriver der kan jeg ikke få til at virke... den skriver: implicit declaration of function 'int getchar(...)' er det der du skriver C++ eller C ?
29. januar 2003 - 14:41
#3
Der er ikke nogen standard måde at gøre det på. Hvis man arbejder med en af de gængse PC compilere, så har de den getch som Søren refererer til (erklæret i conio.h).
29. januar 2003 - 14:42
#4
Det er kompileret af en c++ compiler (g++ fra MinGW). Hvilken compiler bruger du ? (Måske du ikke har conio.h ? - den er ikke en del af ansi-c..)
29. januar 2003 - 14:44
#5
jeg bruger Dev-C++
29. januar 2003 - 14:46
#6
Så bruger vi samme compiler - derfor burde det virke. Prøv lige at poste din kode.
29. januar 2003 - 14:48
#7
jeg har prøvet bare at kopiere det du har skrevet...
29. januar 2003 - 20:48
#8
Så prøv at oprette et nyt c++ projekt og paste koden ind. Det burde virke.
29. januar 2003 - 21:20
#9
virker ikke :(
29. januar 2003 - 21:47
#10
Hm. Det virker fint på min dev-cpp 4.9.6 med gcc 3.x !
29. januar 2003 - 21:59
#11
Min er gcc 2.95.3-6 så mon ikke også det virker med alle versioner mellem dem..
30. januar 2003 - 09:09
#12
Prøv at tilføje #include <stdio.h> til de andre include.
30. januar 2003 - 15:42
#13
Ja nu kan jeg compile det, men man skal stadig trykke "enter"
30. januar 2003 - 15:49
#14
29/01-2003 14:34:29 skriver du bl.a. "..int getchar(...)" Bruger du ikke getch() ?
30. januar 2003 - 15:55
#15
Megt godt spørgsmål ! getchar ligger i stdio.h og kræver retur !
30. januar 2003 - 17:15
#16
Ikke så vidt jeg kan læse i K&R2 eller i Borland 4.02 Fra BCC 4.02: Syntax #include <conio.h> int getch(void); Description Gets character from keyboard, does not echo to screen. getch reads a single character directly from the keyboard, without echoing to the screen. Note: Do not use this function for Win32s or Win32 GUI applications. Return Value getch returns the character read from the keyboard.
30. januar 2003 - 17:25
#17
Kan vi blive enige om at getch() og getchar() ikke er det samme ?
30. januar 2003 - 17:45
#18
segmose> C compilere er lidt picky bl.a. mener de ikke at funktioner der hedder getchar og getch er den samme funktion ! :-)
31. januar 2003 - 00:21
#19
Er det muligt at få den til det?
31. januar 2003 - 13:38
#20
Prøv at åbne din conio.h i din editor og find gå getch se om den står i en linie der starter med #define som fx. #define getch() getchar()
31. januar 2003 - 13:43
#21
Det gør der ikke i min.
31. januar 2003 - 15:04
#22
Hvis din conio.h indeholder: #define getch() getchar() så bør du seriøst overveje at skifte compiler !
31. januar 2003 - 17:53
#23
segmose >> Må vi lige høre hvad det er for en compiler du bruger ?
02. februar 2003 - 22:37
#24
Nej, jeg har det ikke stående hos mig, men det kunne være i dev-c da ovenstående tyder på det, hvorfor skulle den ellers begynde at klage over udefineret getchar når der kun bruges getch?
02. februar 2003 - 22:52
#25
Fordi vi tror at der muligvis står getchar og ikke getch i C++ koden ! Det passer med de 2 kendsgerninger: 1) stdio skulle includes 2) nu compiler det men kræver retur
03. februar 2003 - 09:55
#26
Jeg troede helt bestemt at zapsie havde tastet soreno's program stump ind og ikke skrevet noget forkert i sin kode, zapsie kunne du ikke poste den kode du ikke kan få til at virke igen?
03. februar 2003 - 10:19
#27
Man kan jo læse forkert. Se f.eks.: arne_v: getchar ligger i stdio.h og kræver retur ! segmose: Ikke så vidt jeg kan læse i K&R2 eller i Borland 4.02 [efterfulgt af citat om getch !]
03. februar 2003 - 11:10
#28
se zipsie 1. komentar: implicit declaration of function 'int getchar(...)' og 3. jeg har prøvet bare at kopiere det du har skrevet... heraf zipsie har ikke skrevet getchar men getch og den vil alligevel tale om getchar. Vi taler sikkert bare forbi hinanden og mener det samme.
04. februar 2003 - 17:10
#29
nu er jeg total lost! Hvis jeg kopierer følgende ind: #include <iostream> #include <conio.h> using namespace std; int main(int argc, char **argv) { cout << "Indtast et bogstav: "; char in = getch(); cout << endl << "Du skrev: " << in << endl; return 0; } får jeg en compiler fejl: implicit declaration of function 'int getchar(...) Hvis jeg tilføjer "#include <stdio.h>", så kan jeg compile det, men den kræver retur.
06. februar 2003 - 11:33
#30
getch() venter bare på du trykker på en vilkårlig tast og går så videre, getchar() venter på at du trykker på enter.. så dette vil virke: #include <iostream> #include <conio.h> using namespace std; int main(int argc, char **argv) { cout << "Indtast et bogstav: "; char in = getch(); cout << endl << "Du skrev: " << in << endl; return 0; }
25. marts 2003 - 12:50
#31
Hallo!!
Kurser inden for grundlæggende programmering