x-kom hosting

C++ Dręczące pytanko czyli Getch() ale na klawisz powiedzmy "A"...

Kacperjas
utworzono
utworzono

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NIE CZYTAĆ TEGO TO TYLKO MIŁE SŁÓWKA :D:P:P \/ \/ \/ \/
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Witam i ciesze się że ktoś to zobaczył (A zobaczył no nie?) w "UPALNE" dni tego okresu wakacyjnego (No przynajmniej w polsce :D ) Życzę miłych dalszych wakacji.
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||PYTANIE||| TU PATRZĄ PROGRAMIŚCI, NIE HUMANIŚCI :P:P
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A więc... Witam mam takie dręczące pytanie jak zrobić by funkcja (jeśli w tej można) getch() nie chciała zwrócenia dowolnego klawisza ale np "A" i wykonała coś jeśli getch() "usłyszy" A czyli łatwiej...
Aha zapomniałem to ma być menu bez potrzeby klikania ENTER
||||////||||////
getch(A);
//To nie działa :( ale pokazuje według komend :D
cout<<"Przycisk A...";
||||////||||////
Czyli jeśli naciśniemy "A" to getch nas przepuści a jeśli nie naciśniemy "A" to nic.
Pytacie się pewnie "Cłoooooooooo??? A na co ci to???" PISAŁEM ŻE NA MENU /\ /\ /\
Mam nadzieję że zrozumieliście to ale wątpie JAK NIE ROZUMIECIE TO PISZCIE WYTŁUMACZE JESZCZE INACZEJ (Sory za caps'a ale chciałem by to było wyraziste :D)
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
No to pozdrawiam POCZYTAJ JESZCZE RAZ :D
Kacperjas

AAAA Dodatek...
Słyszałem o funkcji kbhit() czy coś takiego to widziałem na youtube to był poradnik o jakiejś grze...

rafalluz
komentarz
komentarz (edytowane)

Kompletnie źle to robisz. Jak chcesz sprawdzić, czy klawisz "A" został naciśnięty, to robisz to tak:

[CODE]
char c;
c = getch();
if(c=='a' || c=='A')
{
//robisz, co trzeba
}
[/CODE]

Aha, i ta stylistyka wcale nie pomaga w czytelności posta, tylko ją pogarsza.

leggo
komentarz
komentarz (edytowane)

Bardzo przejrzysty post.

1. Funkcja kbhit() służy do sprawdzenia czy został naciśnięty jakiś klawisz. Funkcja zwraca wartość true/false. W przeciwieństwie do getch() ta funkcja nie czeka na wciśnięcie klawisza (sprawdza tylko aktualny stan i program idzie dalej).
2. Żeby uzyskać taki efekt menu wrzuć getch() do switch() i napisz [b]case[/b] dla każdego klawisza jaki chcesz obsłużyć:
[CODE]
switch(getch())
{
case 'a':
//instrukcje dla a
break;
case 'b':
//instrukcje dla b
break;
}
[/CODE]

edit. Znów mnie uprzedzono :(

Kacperjas
komentarz
komentarz (edytowane)

No ok mam dobry humor no bo wakacje więc starałem się pisać w natchnieniu :P dobra wrócę do starego:
"
Witam mam taki problem...
"
albo
"
Witam piszę taki program:
...
I mam taki problem że...
"
i na koniec
"
Pozdrawiam Kacperjas
"
(Wiem że widać kto pisze na forum...)
ok ale wróćmy do programu dzięki nie sprawdzę tego dziś ale jeszcze przed sprawdzeniem mam pytanie czy gdzie napisałeś/pan "leggo" napisał czy tam nie będzie kłopotów gdzyż po chociażby tym:

[spoiler]getch()
switch(getch())
{
case 'a':
//instrukcje dla a
break;
case 'b':
//instrukcje dla b
break;
}
getch()
switch(getch())
{
case 'a':
//instrukcje dla a
break;
case 'b':
//instrukcje dla b
break;
}[/spoiler]
Czy po ponownym gech'u nie "odeśle" mi tego wariantu z pierwszego getch'a czyli mam rozumieć że się jakby resetuje getch?
Proszę o odpowiedź...

leggo
komentarz
komentarz (edytowane)

Nie, nie będzie z tym problemu. getch() jest funkcją, która w momencie wywołania zatrzymuje program, oczekuje na klawisz, pobiera go i zwraca. Nie trzeba niczego resetować bo ten klawisz nie jest nigdzie przechowywany - można go odczytać tylko gdy wywołujesz tę funkcję.

Co do pytania dotyczącego przechowywania wartości zwróconej przez getch(): przyjrzyj się postowi [b]rafalluz-a[/b] i sam sobie odpowiedz na to pytanie. :)

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.