Skocz do zawartości

Zablokowane klawiatura w c++


LionX Dagger

Rekomendowane odpowiedzi

Cze

mam pytanie

jak zrobić coś takiego że w c++ obsługuje też takie przyciski jak enter czy esc

załóżmy mam taki program

#include <iostream>

using namespace std;

int main ()
{ 
    char quit;  

    quit = '\0';
    while (quit != 'q')
    {
        cout << "Hello ! This is a console app." << endl;
        cout << "To create a console, go to Project Options and select" << endl;
        cout << "\'Win32 Console\'." << endl;
        cout << "Press q to quit " << endl;
        cin >> quit;
    }

    return 0;
}

i żeby zamiast q trzeba było wcisnąć esc lub enter jak takie coś zrobić

 

z góry thx

Odnośnik do komentarza
Udostępnij na innych stronach

chyba w ogóle całą pętle trzeba inaczej napisać ale problem w tym żę nie wiem jak ^^

 

edit:

oto co wykombinowałem mieszając c++ z Pascalem od razu mówię że kod nie działa bo trudno by funkcje z Pascala działały w c++ ale chciałem żebyście zobaczyli co chce osiągnąć

#include <iostream>

using namespace std;

int main ()
{ 
    char key;  

    quit = '\0';
    do {
        if KeyPressed  // Funkcja z Pascala
        key=ReadKey; //Funkcja z Pascala
        if (key=='77')
        {
        cout << "Hello ! This is a console app." << endl;
        cout << "To create a console, go to Project Options and select" << endl;
        cout << "\'Win32 Console\'." << endl;
        cout << "Press q to quit " << endl;
        }    
    } while(key!='27');

    return 0;
}

gdybym tylko wiedział jak napisać te dwie funkcje w c++ if KeyPressed , quit=ReadKey;

Odnośnik do komentarza
Udostępnij na innych stronach

a mógł byś mi dać prosty przykład z zastosowaniem tego case

bo tu dałeś mi tylko funkcje i co ja mam z nią zrobić ?? ^^

 

edit :

Jedyne zastosowanie do case które ja znam to jest we switch'u co nie rozwiązuje mego problemu no ale ja jestem nowicjuszem więc może jest jeszcze jakieś zastosowanie do tego które ja nie znam ^^

Odnośnik do komentarza
Udostępnij na innych stronach

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

using namespace std;

int main ()
    {
    char quit = false;
    
    cout << "Wcisnij 'Esc' aby zakonczyc prace programu.";
    
    while (!quit)
          {
          if (getch() == 27)
             {
             return 0;
             }
          }

    return 0;
    }

O coś takiego ci chodziło?

Odnośnik do komentarza
Udostępnij na innych stronach

wielkie dzięki Zakol dokładnie o coś takiego mi chodziło

 

Edit:

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

using namespace std;

main ()
{ 
    char key;  

    do {
        key=getch();
        if (key == 'A')
        {
        cout << "Hello ! This is a console app." << endl;
        cout << "To create a console, go to Project Options and select" << endl;
        cout << "\'Win32 Console\'." << endl;
        cout << "Press q to quit " << endl;
        }   
    } while(key != 27);
  }

tak teraz wygląda kod i wszystko działa tak jak chciałem ^^

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 miesiące temu...

przed return sprubuj wpisac getchar(); to powoduje ze po nacisnieciu entera sie wylacza

a jezeli nie chcesz zeby ci sie wylaczalo np. zeby potwierdzic cos enterem napisz po napisani np. cin>>... cin.ignore(); ignoruje enter

 

edit:sorry nie zauwazylem posta wyzej ale jak ktos chce krotsza wersje to ma

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...