menu sterowane strzałkami
Ostatnio zmodyfikowano 2016-04-13 08:18
mkami Temat założony przez niniejszego użytkownika |
menu sterowane strzałkami » 2016-04-12 19:36:09 Witam! Mam problem z menu sterowanym strzałkami i Enterem w swojej bazie danych w C++. Nie działa mi klawisz Enter, szukałem już rozwiązania w internecie, ale żadne z proponowanych nie działało. Proszę o pomoc! Oto mój kod: void menu( int iPozycja ) { system( "cls" ); cout << "Baza danych motocykle : " << endl; cout << "1" <<(( iPozycja == 1 ) ? "*" : "." ) << "Stworz nowa baze danych" << endl; cout << "2" <<(( iPozycja == 2 ) ? "*" : "." ) << "Edytuj istniejaca baze danych" << endl; cout << "3" <<(( iPozycja == 3 ) ? "*" : "." ) << "Wyswietl baze" << endl; }
int main() { int znak = - 1; int znak2 = 0; int PozycjaMenu = 1; menu( PozycjaMenu ); while( true ) { if( _kbhit() ) znak = _getch(); if( znak != - 1 ) { switch( znak ) { case 1: nowa_baza(); cout << "Baza zostala stworzona" << endl; cout << "Wcisnij dowolny klawisz, aby przejsc do menu" << endl; getchar(); getchar(); menu( PozycjaMenu ); znak = - 1; system( "cls" ); break; case 2: wczytaj_plik(); cout << "Baza danych wczytana" << endl; cout << "Wcisnij dowolny klawisz, aby przejsc do menu" << endl; getchar(); getchar(); menu( PozycjaMenu ); znak = - 1; system( "cls" ); break; case 3: wyswietl(); cout << "Wcisnij dowolny przycisk, aby przejsc do menu" << endl; getchar(); getchar(); menu( PozycjaMenu ); znak = - 1; system( "cls" ); break; case 13: znak = '1' +( PozycjaMenu - 1 ); break; case 224: znak = _getch(); switch( znak ) { case 80: if( PozycjaMenu < L_MENU ) PozycjaMenu++; break; case 72: if( PozycjaMenu > 1 ) PozycjaMenu--; break; default: cout << "224." << znak << ":" <<( char ) znak << endl; } menu( PozycjaMenu ); znak = - 1; break; default: cout << "Nie ma takiej mozliwosci,wcisnij dowolny przycisk" << endl; getchar(); menu( PozycjaMenu ); znak = - 1; break; } } } return 1; } Z góry dzięki za pomoc! |
|
mkami Temat założony przez niniejszego użytkownika |
re » 2016-04-12 23:07:32 Czy program może nie działać poprawnie jeśli występuje problem przy jego odpalaniu tz. gdy zaczyna się kompilować wyskakuje okienko że program przestał dziać, jednak po chwili włącza się w czarnym okienku. |
|
darko202 |
» 2016-04-13 08:18:56 dziwne :-) u mnie w VS2010 działa ! po naciśnięciu klawisza ENTER wchodzi w pętle i dochodzi do case 13 i wykonuje to co tam jest a jest niewiele ewentualnie musisz bardziej opisać problem 2. użyj technologii debug'owania programu, aby śledzić program krok po kroku np. https://msdn.microsoft.com/pl-pl/library/bb384844.aspxpodobnie w innych kompilatorach ułatwi Ci to znacznie zrozumienie co się dzieje |
|
« 1 » |