Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wybieranie pozycji w pętli switch bez potwierdzania enterem

Ostatnio zmodyfikowano 2011-12-12 19:01
Autor Wiadomość
mike
Temat założony przez niniejszego użytkownika
Wybieranie pozycji w pętli switch bez potwierdzania enterem
» 2011-11-30 22:09:53
Witam!

Co muszę zrobić, abym przy wybieraniu jakieś pozycji w pętli switch nie musiał swojego wyboru potwierdzać dodatkowo enterem. Chodzi mi to, że np. zamiast naciśnięcia "1" a potem "Enter" wystarczyło wcisnąć samo "1" a program wykona polecenie zawarte w case 1.

Kolejne pytanie, to co wpisać do programu aby wciśnięcie klawisz "ESC" kończyło jego działanie. Idąc dalej, co należy zrobić żeby po każdym wykonanym poleceniu z pętli switch program wracał do stanu początkowego, czyli czyścił ekran.

Będę bardzo wdzięczny za udzielenie odpowiedzi na te pytania.

Pozdrawiam
P-45003
akwes
» 2011-11-30 22:27:32
Czyszczenie można uzyskać przez system("cls"); w windows oraz system("clear") w linux.

Jeżeli chodzi o ESC i o reakcje po samym wciśnięciu klawisza może być problem. Nie znam innego sposobu niż dość skomplikowany z oparciem o timer, więc nie pomogę :P

Najlepiej jakbyś zainteresował się jakąś biblioteką do pracy z konsolą. Np. » KursyKurs New Curses, C++ kurs
P-45004
mike
Temat założony przez niniejszego użytkownika
» 2011-11-30 22:41:58
Ktoś ma jeszcze jakieś pomysły? Szczególnie ważne dla mnie są dwa pierwsze pytania.
P-45008
OSA_PL
» 2011-11-30 22:47:34
getch()?
P-45009
mike
Temat założony przez niniejszego użytkownika
» 2011-11-30 22:58:40
A konkretnie co z nim?
P-45011
OSA_PL
» 2011-11-30 23:01:23
Zamiast cin>>a; a=getch();

A co do ESC, to tak na szybko napisane( nie sprawdzałem, ale powinno działać):
C/C++
#include <conio.h>
char a;
int main()
{
    while( a != 27 )
    {
        //tu twój kod
       
       
        if( kbhit() )
        {
            a = getch();
        }
    }
    return 0;
}

P-45013
mike
Temat założony przez niniejszego użytkownika
» 2011-11-30 23:28:17
Niestety, ale nie działa. Program się uruchamia, ale wciśnięcie ESC nie powoduje żadnej reakcji.
P-45014
MrMB
» 2011-11-30 23:58:20
z mojego małego doświadczenia to myślę że do tego ESC to będzie potrzebna jakaś biblioteka która obsługuje klawiature (ctrl, f4, itd), ale czy istnieje jakieś inne prostsze rozwiązanie, może tak  
P-45015
« 1 » 2
  Strona 1 z 2 Następna strona