Wracanie do menu :)
Ostatnio zmodyfikowano 2009-05-02 14:57
Szmati Temat założony przez niniejszego użytkownika |
Wracanie do menu :) » 2009-04-30 18:25:26 Witam, mam pewien problem, a mianowicie chce, żeby po naciśnięciu "r" program powracał do menu... . Ma ktoś jakiś pomysł, bo mnie wena opuściła :) |
|
lynx |
» 2009-04-30 18:28:41 Przykład menu z użyciem biblioteki New Curses, myślę że to Ci nie będzie przeszkadzać i zrozumiesz jak coś takiego zrobić. :) |
|
Szmati Temat założony przez niniejszego użytkownika |
» 2009-04-30 18:40:31 Kurka niepotrzebnie temat zrobiłem, bo już sobie poradziłem, ale dzięki :)
PS w sumie jeszcze coś :) mam pętle do...while. Chcę żeby po naciśnięciu ESC pętla zakańczała się, ale co mam wpisać w warunku? |
|
pekfos |
» 2009-04-30 19:00:13 znak != 27 jeśli znak to int lub static_cast < int >( znak ) != 27 jeśli znak to char |
|
Szmati Temat założony przez niniejszego użytkownika |
» 2009-04-30 19:27:57 kurde no coś nie idzie #include <iostream> #include <conio.h> #include "console.ddt" using namespace ddt::console; using namespace std;
void rysuj_menu() { cout << "Menu wyboru" << endl; cout << "[1] Liczenie czasu" << endl; cout << "[2] Liczenie dlugosci" << endl; cout << "[3] Liczenie masy" << endl; cout << "[4]Wyjdz" << endl; }
int main( int argc, char * argv[] ) { int wybor, znak; float Wartosci[ 7 ]; Wartosci[ 0 ] = 60; Wartosci[ 1 ] = 3600; Wartosci[ 2 ] = 10; Wartosci[ 3 ] = 100; Wartosci[ 4 ] = 1000; Wartosci[ 5 ] = 10000; Wartosci[ 6 ] = 100000; Wartosci[ 7 ] = 1000000; unsigned char znak1; cout << "Nacisnij dowolny klawisz aby wejsc do menu" << endl; do { znak1 = getch(); clrscr(); rysuj_menu(); cout << "Wybierz kategorie: " << endl; cin >> wybor; if( wybor == 1 ) { int wyborCzas; float a; cout << "Menu wyboru" << endl; cout << "[1] Zamien sekundy na minuty" << endl; cout << "[2] Zamien sekundy na godziny" << endl; cout << "[3] Zamien minuty na sekundy" << endl; cout << "[4] Zamien minuty na godziny" << endl; cout << "[5] Zamien godziny na sekundy" << endl; cout << "[6] Zamien godziny na minuty" << endl; cout << "[7] Wroc do menu" << endl << endl; cout << "Wybierz nr: " << endl; cin >> wyborCzas; if( wyborCzas == 7 ) { cout << "Nacisnij 'r' i potwierdz ENTER'em aby wrocic do menu" << endl; znak = getch(); } else { switch( wyborCzas ) { case 1: cout << "Wpisz ilosc sec: " << endl; cin >> a; cout << a << " sec to " << a / Wartosci[ 0 ] << " minut" << endl; break; case 2: cout << "Wpisz ilosc sec: " << endl; cin >> a; cout << a << " sec to " << a / Wartosci[ 1 ] << " godzin" << endl; break; case 3: cout << "Wpisz ilosc minut: " << endl; cin >> a; cout << a << " minut to " << a * Wartosci[ 0 ] << " sec" << endl; break; case 4: cout << "Wpisz ilosc minut: " << endl; cin >> a; cout << a << " minut to " << a / Wartosci[ 0 ] << " godzin" << endl; break; case 5: cout << "Wpisz ilosc godzin: " << endl; cin >> a; cout << a << " godzin to " << a * Wartosci[ 1 ] << " sec" << endl; break; case 6: cout << "Wpisz ilosc godzin: " << endl; cin >> a; cout << a << " godzin to " << a * Wartosci[ 0 ] << " minut" << endl; break; default: cout << "Nie ma takiej opcji" << endl; break; } } } if( wybor == 2 ) { int wyborDlugosc; float b; cout << "Menu wyboru" << endl; cout << "[1] Zamien mm na cm" << endl; cout << "[2] Zamien mm na dm" << endl; cout << "[3] Zamien mm na m" << endl; cout << "[4] Zamien mm na km" << endl; cout << "[5] Zamien cm na mm" << endl; cout << "[6] Zamien cm na dm" << endl; cout << "[7] Zamien cm na m" << endl; cout << "[8] Zamien cm na km" << endl; cout << "[9] Zamien dm na mm" << endl; cout << "[10] Zamien dm na cm" << endl; cout << "[11] Zamien dm na m" << endl; cout << "[12] Zamien dm na km" << endl; cout << "[13] Zamien m na mm" << endl; cout << "[14] Zamien m na cm" << endl; cout << "[15] Zamien m na dm" << endl; cout << "[16] Zamien m na km" << endl; cout << "[17] Zamien km na mm" << endl; cout << "[18] Zamien km na cm" << endl; cout << "[19] Zamien km na dm" << endl; cout << "[20] Zamien km na m" << endl; cout << "[21] Wroc do menu" << endl << endl; cout << "Wybierz nr: " << endl; cin >> wyborDlugosc; if( wyborDlugosc == 21 ) { cout << "Nacisnij 'r' i potwierdz ENTER'em aby wrocic do menu" << endl; znak = getch(); } else { switch( wyborDlugosc ) { case 1: cout << "Wpisz ilosc mm: " << endl; cin >> b; cout << b << " mm to " << b / Wartosci[ 2 ] << " cm" << endl; break; case 2: cout << "Wpisz ilosc mm: " << endl; cin >> b; cout << b << " mm to " << b / Wartosci[ 3 ] << " dm" << endl; break; case 3: cout << "Wpisz ilosc mm: " << endl; cin >> b; cout << b << " mm to " << b / Wartosci[ 4 ] << " m" << endl; break; case 4: cout << "Wpisz ilosc mm: " << endl; cin >> b; cout << b << " mm to " << b / Wartosci[ 7 ] << " km" << endl; break; case 5: cout << "Wpisz ilosc cm: " << endl; cin >> b; cout << b << " cm to " << b * Wartosci[ 2 ] << " mm" << endl; break; case 6: cout << "Wpisz ilosc cm: " << endl; cin >> b; cout << b << " cm to " << b / Wartosci[ 2 ] << " dm" << endl; break; case 7: cout << "Wpisz ilosc cm: " << endl; cin >> b; cout << b << " cm to " << b / Wartosci[ 3 ] << " m" << endl; break; case 8: cout << "Wpisz ilosc cm: " << endl; cin >> b; cout << b << " cm to " << b / Wartosci[ 5 ] << " km" << endl; break; case 9: cout << "Wpisz ilosc dm: " << endl; cin >> b; cout << b << " dm to " << b * Wartosci[ 3 ] << " mm" << endl; break; case 10: cout << "Wpisz ilosc dm: " << endl; cin >> b; cout << b << " dm to " << b * Wartosci[ 2 ] << " cm" << endl; break; case 11: cout << "Wpisz ilosc dm: " << endl; cin >> b; cout << b << " dm to " << b / Wartosci[ 2 ] << " m" << endl; break; case 12: cout << "Wpisz ilosc dm: " << endl; cin >> b; cout << b << " dm to " << b / Wartosci[ 5 ] << " km" << endl; break; case 13: cout << "Wpisz ilosc m: " << endl; cin >> b; cout << b << " m to " << b * Wartosci[ 4 ] << " mm" << endl; break; case 14: cout << "Wpisz ilosc m: " << endl; cin >> b; cout << b << " m to " << b * Wartosci[ 3 ] << " cm" << endl; break; case 15: cout << "Wpisz ilosc m: " << endl; cin >> b; cout << b << " m to " << b * Wartosci[ 2 ] << " dm" << endl; break; case 16: cout << "Wpisz ilosc m: " << endl; cin >> b; cout << b << " m to " << b / Wartosci[ 4 ] << " km" << endl; break; case 17: cout << "Wpisz ilosc km: " << endl; cin >> b; cout << b << " km to " << b * Wartosci[ 7 ] << " mm" << endl; break; case 18: cout << "Wpisz ilosc km: " << endl; cin >> b; cout << b << " km to " << b * Wartosci[ 6 ] << " cm" << endl; break; case 19: cout << "Wpisz ilosc km: " << endl; cin >> b; cout << b << " km to " << b * Wartosci[ 5 ] << " dm" << endl; case 20: cout << "Wpisz ilosc km: " << endl; cin >> b; cout << b << " km to " << b * Wartosci[ 4 ] << " m" << endl; break; default: cout << "Nie ma takiej opcji" << endl; break; } } } if( wybor == 3 ) { int wyborWaga; float c; cout << "Menu wyboru" << endl; cout << "[1] Zamien gramy na dekagramy" << endl; cout << "[2] Zamien gramy na kilogramy" << endl; cout << "[3] Zamien gramy na tony" << endl; cout << "[4] Zamien dekagramy na gramy" << endl; cout << "[5] Zamien dekagramy na kilogramy" << endl; cout << "[6] Zamien dekagramy na tony" << endl; cout << "[7] Zamien kilogramy na gramy" << endl; cout << "[8] Zamien kilogramy na dekagramy" << endl; cout << "[9] Zamien kilogramy na tony" << endl; cout << "[10] Zamien tony na gramy" << endl; cout << "[11] Zamien tony na dekagramy" << endl; cout << "[12] Zamien tony na kilogramy" << endl; cout << "[13] Wroc do menu" << endl << endl; cout << "Wybierz nr: " << endl; cin >> wyborWaga; if( wyborWaga == 13 ) { cout << "Nacisnij 'r' i potwierdz ENTER'em aby wrocic do menu'" << endl; znak = getch(); } else { switch( wyborWaga ) { case 1: cout << "Wpisz liczbe gramow: " << endl; cin >> c; cout << c << " gramow to " << c / Wartosci[ 2 ] << " dekagramow" << endl; break; case 2: cout << "Wpisz liczbe gramow: " << endl; cin >> c; cout << c << " gramow to " << c / Wartosci[ 4 ] << " kilogramow" << endl; break; case 3: cout << "Wpisz liczbe gramow: " << endl; cin >> c; cout << c << " gramow to " << c / Wartosci[ 7 ] << " ton" << endl; break; case 4: cout << "Wpisz liczbe dekagramow: " << endl; cin >> c; cout << c << " dekagramow to " << c * Wartosci[ 2 ] << " gramow" << endl; break; case 5: cout << "Wpisz liczbe dekagramow: " << endl; cin >> c; cout << c << " dekagramow to " << c / Wartosci[ 3 ] << " kilogramow" << endl; break; case 6: cout << "Wpisz liczbe dekagramow: " << endl; cin >> c; cout << c << " dekagramow to " << c / Wartosci[ 6 ] << " ton" << endl; break; case 7: cout << "Wpisz liczbe kilogramow: " << endl; cin >> c; cout << c << " kilogramow to " << c * Wartosci[ 4 ] << " gram" << endl; break; case 8: cout << "Wpisz liczbe kilogramow: " << endl; cin >> c; cout << c << " kilogramow to " << c * Wartosci[ 3 ] << " dekagramow" << endl; break; case 9: cout << "Wpisz liczbe kilogramow: " << endl; cin >> c; cout << c << " kilogramow to " << c / Wartosci[ 4 ] << " ton" << endl; break; case 10: cout << "Wpisz liczbe ton: " << endl; cin >> c; cout << c << " ton to " << c * Wartosci[ 7 ] << " gramow" << endl; break; case 11: cout << "Wpisz liczbe ton: " << endl; cin >> c; cout << c << " ton to " << c * Wartosci[ 6 ] << " dekagramow" << endl; break; case 12: cout << "Wpisz liczbe ton: " << endl; cin >> c; cout << c << " ton to " << c * Wartosci[ 4 ] << " kilogramow" << endl; break; default: cout << "Nie ma takiej opcji" << endl; break; } } } if( wybor == 4 ) return EXIT_SUCCESS; } while( znak != 27 ); return EXIT_SUCCESS; }
co mam poprawić, żeby w końcu ruszyło z tym ESC? Dodam, że program się kompiluje, ale ESC nie działa. |
|
malan |
» 2009-04-30 19:35:21 Twoja pętla będzie działała dopóki znak będzie różny niż 27, czyli jeśli chcesz opuścić pętle (i zakończyć program) znak musi być równy 27. Podpowiem- popraw tą linijkę: if( wybor == 4 ) return EXIT_SUCCESS; |
|
Szmati Temat założony przez niniejszego użytkownika |
» 2009-05-01 17:14:06 doszedłem do tego: while( znak = 27 || wybor == 4 );
return EXIT_SUCCESS;
teoretycznie powinno chodzić. Jeśli nacisnę ESC albo dam ocje 4 z menu to powinno opuścić pętle i wyjść z programu, ale za cholerę to nie działa... Może ktoś zajrzeć do kodu i zobaczyć co się nie zgadza? |
|
DejaVu |
» 2009-05-01 17:22:08 w warunku użyłeś zapisu: znak = 27 powinien być: znak == 27 |
|
« 1 » 2 |