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

Menu w konsoli - "problem".

Ostatnio zmodyfikowano 2014-08-30 15:55
Autor Wiadomość
mateo1991
Temat założony przez niniejszego użytkownika
Menu w konsoli - "problem".
» 2014-08-30 13:36:57
Witam serdecznie wszystkich! :)
Dziś za zadanie obrałem sobie napisanie prostego i efektywnego menu w konsli.
Fajnie działało lecz gdy dodałem
"if(y==5){if(klawisz==13){ wyjscie=1; }}"
To już nie działa ;/...
Kompiluję się lecz po naciśnięciu strzałki lub innego klawisza program się zamyka??? !
Nie jestem doświadczonym "pisarzem" :D więc jeśli ktoś by był na tyle łaskaw i podpowiedział mi co zrobiłem źlę to będę wdzięczny... :)
(używam CODE::BLOCKS).

C/C++
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <string>
#include <windows.h>

using namespace std;

void Menu_gl()
{
    int klawisz, y = 1, wyjscie = 0;
    do
    {
        if( klawisz == 72 ) { if( y > 1 ) { y--; } else y = 5; } //gora
        if( klawisz == 80 ) { if( y < 5 ) { y++; } else y = 1; } //dol
        system( "cls" ); //czyszczenie konsoli
        cout << "\n      MENU GLUWNE\n\n";
        if( y == 1 ) { cout << "  >>  "; } else { cout << "      "; }; cout << "GRA 1       \n";
        if( y == 2 ) { cout << "  >>  "; } else { cout << "      "; }; cout << "GRA 2       \n";
        if( y == 3 ) { cout << "  >>  "; } else { cout << "      "; }; cout << "GRA 3       \n";
        if( y == 4 ) { cout << "  >>  "; } else { cout << "      "; }; cout << "OPCJE       \n";
        if( y == 5 ) { cout << "  >>  "; } else { cout << "      "; }; cout << "WYJSCIE     \n";
        if( y == 1 ) { if( klawisz == 13 ) { /* opcja 1 */ } }
        if( y == 2 ) { if( klawisz == 13 ) { /* opcja 2 */ } }
        if( y == 3 ) { if( klawisz == 13 ) { /* opcja 3 */ } }
        if( y == 4 ) { if( klawisz == 13 ) { /* opcja 4 */ } }
        if( y == 5 ) { if( klawisz == 13 ) { wyjscie = 1; } }
        klawisz = getch();
        klawisz = getch();
    }
    while( wyjscie == 1 );
   
}

int main()
{
    Menu_gl();
    return 0;
}
P-116381
SeaMonster131
» 2014-08-30 13:49:54
while( wyjscie == 1 );
Pętla będzie się wykonywać wtedy, gdy 'wyjscie' będzie równe 1.
P-116382
Jacob99
» 2014-08-30 14:58:52
C/C++
int klawisz //... if( klawisz == 72 ) { if( y > 1 ) { y--; } else y = 5; } //gora
if( klawisz == 80 ) { if( y < 5 ) { y++; } else y = 1; } //dol
Nigdzie nie inicjalizujesz zmiennej klawisz, więc masz w niej losowe wartości(przy pierwszym obiegu pętli).
cout << "\n      MENU GLUWNE\n\n";
Aż zęby bolą...
2 ważne pytania, które zawsze się powtarzają:
1. Kiedy młodzi polscy programiści nauczą się pisać po polsku?
2. Kiedy zaczną oni czytać logi kompilacji?
P-116391
pekfos
» 2014-08-30 15:55:16
młodzi polscy programiści
To jak nazywanie małego dziecka kopiącego piłkę - piłkarzem. Na moje oko, trochę na wyrost.. ;)

Dziś za zadanie obrałem sobie napisanie prostego i efektywnego menu w konsli.
Efektywnego, czy efektownego..? Jak na efektywne, to za wiele rzeczy w kodzie jest niepotrzebnych.
P-116395
« 1 »
  Strona 1 z 1