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

Wracanie do menu :)

Ostatnio zmodyfikowano 2009-05-02 14:57
Autor Wiadomość
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 :)
P-6226
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ć. :)
P-6227
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?
P-6228
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
P-6229
Szmati
Temat założony przez niniejszego użytkownika
» 2009-04-30 19:27:57
kurde no coś nie idzie
C/C++
#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;
                } //switch
            } //if
        } //if
        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;
                } //swicth
            } //if
        } //if
        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;
                } //switch
            } //if
        } //if
        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.       
P-6232
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;
P-6233
Szmati
Temat założony przez niniejszego użytkownika
» 2009-05-01 17:14:06
doszedłem do tego:
C/C++
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?
P-6277
DejaVu
» 2009-05-01 17:22:08
w warunku użyłeś zapisu:
znak = 27
powinien być:
znak == 27
P-6278
« 1 » 2
  Strona 1 z 2 Następna strona