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

Menu w consoli c++

Ostatnio zmodyfikowano 2015-10-20 08:29
Autor Wiadomość
dekros
Temat założony przez niniejszego użytkownika
Menu w consoli c++
» 2015-10-02 23:26:04
Witam mam pytanko piisze program do szkoły ale chciałem zrobić by był taki bardziej "epicki " xD

i głownie chodzi mi oto by po włączeniu było coś takiego

>> Dodaj <<
   Usun
   Zapisz

naciskajac strzalke w dół

   Dodaj
>> Usun <<
   Zapisz


i analogicznie by to przeskakiwało po nacisnienieciu entera zatwierdza opcje narazie mam to zrobione tak że

wybieram np 2 i naciskam enter
kod:

    int tryb;
    do
    {
        cout << " 1- wyswietla baze "<<endl<<" 2- dodaje nowa osobe "<<endl<<
             " 3- edytuje wybrana osobe "<<endl<<" 4- zeruje wybrana osobe "<<endl<<
             " 5- Zapisz Cala baze do pliku" << endl << " 6- Wczytaj Cala baze z pliku"<<endl<<
             " 7- Koniec Programu"<<endl;
        cin>> tryb;
        switch(tryb)
        {
        //tutaj pokolei od  1 do 6 opcji zakodowanych
        case 7:
            cout << "Koniec"<<endl;
            break;
        default:
            cout << " 1- wyswietla baze "<<endl<<" 2- dodaje nowa osobe "<<endl<<
                 " 3- edytuje wybrana osobe "<<endl<<" 4- zeruje wybrana osobe "<<endl<<
                 " 5- Zapisz Cala baze do pliku" << endl << " 6- Wczytaj Cala baze z pliku"<<endl<<
                 " 7- Koniec Programu"<<endl;
            tryb=7;
            break;
        }
    }
    while(tryb!=7);
tylko chciałem to zrobic na zasadzie takiego menu:)
P.S tak polskie nazwy zmiennych nie wiem czy tak jak w javie oracle narzuca angielskie nazwy ale to program który w szkole piszemy i jest u nas taka niepisana zasada że po polsku piszemy nazwy itp
P-138127
pekfos
» 2015-10-03 12:23:23
getch(), kody klawiszy góra, dół, czyszczenie ekranu.
P-138131
C-Objective
» 2015-10-20 08:29:43
Do czyszczenia jest clrscr(), tutaj mam fragmencik kodu z mojego daaaawno porzuconego projektu:
C/C++
//Dla visuala
void textbackground( int color )
{
    HANDLE wyjscie;
    wyjscie = GetStdHandle( STD_OUTPUT_HANDLE );
    SetConsoleTextAttribute( wyjscie, color );
}

void rysowanie( char znak, int p_x, int p_y )
{
    gotoxy( p_x, p_y );
    cout << znak;
}
void ramki()
{
    char temp_ch = 0xCD;
    rysowanie( 0xC9, 1, 1 );
    rysowanie( 0xCD, 2, 1 );
    for( int i = 0; i < 76; i++ )
         cout << temp_ch;
   
    rysowanie( 0xBB, 79, 1 );
    for( int i = 2; i < 25; i++ )
         rysowanie( 0xBA, 79, i );
   
    rysowanie( 0xC8, 1, 25 );
    temp_ch = 0xCD;
    for( int i = 0; i < 77; i++ )
         cout << temp_ch;
   
    rysowanie( 0xBC, 79, 25 );
    for( int i = 2; i < 25; i++ )
         rysowanie( 0xBA, 1, i );
   
    rysowanie( 0xCB, 60, 1 );
    for( int i = 2; i < 25; i++ )
         rysowanie( 0xBA, 60, i );
   
    rysowanie( 0xCA, 60, 25 );
    rysowanie( 0xCC, 60, 5 );
    for( int i = 0; i < 18; i++ )
         cout << temp_ch;
   
    rysowanie( 0xCC, 60, 9 );
    for( int i = 0; i < 18; i++ )
         cout << temp_ch;
   
    rysowanie( 0xCC, 60, 20 );
    for( int i = 0; i < 18; i++ )
         cout << temp_ch;
   
    rysowanie( 0xCC, 60, 22 );
    for( int i = 0; i < 18; i++ )
         cout << temp_ch;
   
    rysowanie( 0xB9, 79, 5 );
    rysowanie( 0xB9, 79, 9 );
    rysowanie( 0xB9, 79, 20 );
    rysowanie( 0xB9, 79, 22 );
    gotoxy( 61, 3 );
    cout << "Program";
    gotoxy( 62, 6 );
    cout << "Cos  ";
    gotoxy( 62, 7 );
    cout << "o  ";
    gotoxy( 62, 8 );
    cout << "programie ";
    gotoxy( 61, 10 );
    cout << "Tutaj";
    temp_ch = 0xcd;
    rysowanie( 0xC9, 63, 12 );
    for( int i = 0; i < 12; i++ )
         cout << temp_ch;
   
    rysowanie( 0xbb, 76, 12 );
    temp_ch = 0xba;
    gotoxy( 62, 13 ); //Tutaj zamiast gwiazdek w pewnym momencie możesz dać jakieś np. Informacje :D?
    cout << " " << temp_ch << "************" << temp_ch;
    gotoxy( 62, 14 );
    cout << " " << temp_ch << "************" << temp_ch;
    gotoxy( 62, 15 );
    cout << " " << temp_ch << "************" << temp_ch;
    gotoxy( 62, 16 );
    cout << " " << temp_ch << "************" << temp_ch;
    gotoxy( 62, 17 );
    cout << " " << temp_ch << "************" << temp_ch;
    rysowanie( 0xC8, 63, 18 );
    temp_ch = 0xcd;
    for( int i = 0; i < 12; i++ )
         cout << temp_ch;
   
    rysowanie( 0xbc, 76, 18 );
    gotoxy( 61, 21 );
    cout << " CosFajnego ";
    gotoxy( 61, 23 );
    cout << "******Autor******";
    gotoxy( 61, 24 );
    cout << "C-Objective";
   
}
int menu()
{
    gotoxy( 6, 3 );
    cout << "                   SNAKE  ";
    gotoxy( 5, 5 );
    cout << "...Opis Programu";
    string menu_gl_op[ 4 ];
    menu_gl_op[ 0 ] = " Opcja1 ";
    menu_gl_op[ 1 ] = " Opcja2 ";
    menu_gl_op[ 2 ] = " Opcja3 ";
    menu_gl_op[ 3 ] = " Wyjscie ";
    string clear = "                                                    ";
    gotoxy( 6, 20 );
    cout << "    JakasNotka      ";
    gotoxy( 6, 22 );
    cout << "         CosFajnego      ";
    int podswietlona = 1;
    int z1 = 0, z2 = 0, x = 22, y = 11;
    do
    {
        for( int i = 0; i < 4; i++ )
        {
            if( podswietlona == i + 1 )
                 textbackground( 0x84 );
            else
                 textbackground( 0x07 );
           
            gotoxy( x, y );
            cout << menu_gl_op[ i ] << endl;
            y += 1;
        }
        y -= 4;
        z1 = getch();
        while( kbhit() )
        {
            z2 = getch();
        }
        fflush( stdin );
        if( z1 == 224 && z2 == 72 && podswietlona != 1 )
             podswietlona--;
        else if( z1 == 224 && z2 == 80 && podswietlona != 4 )
             podswietlona++;
       
    } while( z1 != 13 );
   
    z1 = 0, z2 = 0;
    textbackground( 0x07 );
    y = 2;
    for( int i = 0; i < 23; i++ )
    {
        gotoxy( 5, y );
        y += 1;
        cout << clear << endl;
    }
    if( podswietlona == 1 )
         return 1;
    else if( podswietlona == 2 )
         return 2;
    else if( podswietlona == 3 )
         return 0;
    else
         return - 1;
   
}
Menu zwraca:
1 - Opcja 1
2 - Opcja 2
3 - Opcja 3
-1 - Zakończ program
EDIT: Może to nie jest takie jak chciałeś, ale zdaje mi się że takie też jest dobre.
P-138919
« 1 »
  Strona 1 z 1