c++ Menüauswahl/Scrollauswahl mit Pfeilen/Farben BITTE HILFE



  • Hallo liebes C++ Forum! Ich wollte einen Lottorechner mit einer Pfeilauswahl/Scrollauswahl schreiben, leider kann ich das noch nicht richtig umsetzen. 😞 kann das eventuell jemand in mein Programm einabauen? Und mir mal erklären wie?

    Also mit den Pfeiltasten in jeder kommenden Auswahl mit den Pfeilen navigieren können ca so:
    #include <iostream>
    #include <string>
    #include <windows.h>

    using namespace std;

    int main()
    {
    string Menu[3] = {"Start Game", "Options", "Exit"};
    int pointer = 0;

    while(true)
    {
    system("cls");

    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
    cout << "Main Menu\n\n";

    for (int i = 0; i < 3; ++i)
    {
    if (i == pointer)
    {
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11);
    cout << Menu[i] << endl;
    }
    else
    {
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15);
    cout << Menu[i] << endl;
    }
    }

    while(true)
    {
    if (GetAsyncKeyState(VK_UP) != 0)
    {
    pointer -= 1;
    if (pointer == -1)
    {
    pointer = 2;
    }
    break;
    }
    else if (GetAsyncKeyState(VK_DOWN) != 0)
    {
    pointer += 1;
    if (pointer == 3)
    {
    pointer = 0;
    }
    break;
    }
    else if (GetAsyncKeyState(VK_RETURN) != 0)
    {
    switch (pointer)
    {
    case 0:
    {
    cout << "\n\n\nStarting new game...";
    Sleep(1000);
    } break;
    case 1:
    {
    cout << "\n\n\nThis is the options...";
    Sleep(1000);
    } break;
    case 2:
    {
    return 0;
    } break;
    }
    break;
    }
    }

    Sleep(150);
    }

    return 0;
    }

    ...

    Mein Programm:

    #include <iostream>
    #include <cstdlib>
    #include <time.h>

    using namespace std;

    int main (int argc, char** argv) {
    int z, s, zahl, Hilfsfeld, min, i, Spiele, t, w, d, Spielegesamt;
    double Gebuehr, Felder, Tage, Wochen;
    char j;
    bool gueltig;
    srand (time(NULL));
    cout << "Programm: Lotto" << endl;
    cout << "Abgabe: 09.06.2017, 12:00 Uhr" << endl;
    cout << "Copyright© 2017 Marvin Meier AG" << endl;
    cout << endl;
    cout << endl;

    cout << "Wie viele Lottofelder m\224chten Sie ausf\201llen?" << endl;
    cin >> Spiele;
    int Lottofeld [Spiele] [6];

    cout << "An welchen Wochentagen m\224chten Sie Lotto spielen?" << endl;
    cout << "W\204hlen Sie die Wochentage mit der Navigation! "
    cout<<"1-Mittwoch"<<endl;
    cout<<"2-Samstag"<<endl;
    cout<<"3-Mittwoch und Samstag"<<endl;
    cin>>t;
    Tage=t;

    cout<<"Wie viele Wochen moechten sie Lotto spielen"<<endl;
    cout<<"1-eine Woche"<<endl;
    cout<<"2-zwei Wochen"<<endl;
    cout<<"3-drei Wochen"<<endl;
    cout<<"4-vier Wochen"<<endl;
    cout<<"5-fuenf Wochen"<<endl;
    cin>>w;
    Felder=Spiele*1;
    switch(w)
    {
    case 1:
    {
    switch(t)
    {
    case 1:
    {
    Wochen=1;
    Gebuehr=Felder*1*Wochen;
    Gebuehr=Gebuehr+0.35;
    Spielegesamt=1;
    }
    break;
    case 2:
    {
    Wochen=1;
    Gebuehr=Felder*1*Wochen;
    Gebuehr=Gebuehr+0.35;
    Spielegesamt=1;
    }
    break;
    case 3:
    {
    Wochen=1;
    Gebuehr=Felder*2*Wochen;
    Gebuehr=Gebuehr+0.5;
    Spielegesamt=2;
    }
    break;
    }
    }
    break;
    case 2:
    {

    switch(t)
    {
    case 1:
    {
    Wochen=2;
    Gebuehr=Felder*1*Wochen;
    Gebuehr=Gebuehr+0.5;
    Spielegesamt=2;
    }
    break;
    case 2:
    {
    Wochen=2;
    Gebuehr=Felder*1*Wochen;
    Gebuehr=Gebuehr+0.5;
    Spielegesamt=2;
    }
    break;
    case 3:
    {
    Wochen=2;
    Gebuehr=Felder*2*Wochen;
    Gebuehr=Gebuehr+0.75;
    Spielegesamt=4;
    }
    break;
    }

    }
    break;
    case 3:
    {
    switch(t)
    {
    case 1:
    {
    Wochen=3;
    Gebuehr=Felder*1*Wochen;
    Gebuehr=Gebuehr+0.5;
    Spielegesamt=3;
    }
    break;
    case 2:
    {
    Wochen=3;
    Gebuehr=Felder*1*Wochen;
    Gebuehr=Gebuehr+0.5;
    Spielegesamt=3;
    }
    break;
    case 3:
    {
    Wochen=3;
    Gebuehr=Felder*2*Wochen;
    Gebuehr=Gebuehr+1;
    Spielegesamt=6;
    }
    break;
    }
    }
    break;
    case 4:
    {
    switch(t)
    {
    case 1:
    {
    Wochen=4;
    Gebuehr=Felder*1*Wochen;
    Gebuehr=Gebuehr+0.75;
    Spielegesamt=4;
    }
    break;
    case 2:
    {
    Wochen=4;
    Gebuehr=Felder*1*Wochen;
    Gebuehr=Gebuehr+0.75;
    Spielegesamt=4;
    }
    break;
    case 3:
    {
    Wochen=4;
    Gebuehr=Felder*2*Wochen;
    Gebuehr=Gebuehr+1;
    Spielegesamt=8;
    }
    break;
    }
    }
    break;
    case 5:
    {
    switch(t)
    {
    case 1:
    {
    Wochen=5;
    Gebuehr=Felder*1*Wochen;
    Gebuehr=Gebuehr+0.75;
    Spielegesamt=5;
    }
    break;
    case 2:
    {
    Wochen=5;
    Gebuehr=Felder*1*Wochen;
    Gebuehr=Gebuehr+0.75;
    Spielegesamt=5;
    }
    break;
    case 3:
    {
    Wochen=5;
    Gebuehr=Felder*2*Wochen;
    Gebuehr=Gebuehr+1;
    Spielegesamt=10;
    }
    break;
    }
    }
    break;
    }
    for(d=0;d<Spielegesamt;d++)
    {
    for (z=0; z<Spiele; z++)

    {
    for(s=0; s<6; s++)

    {
    gueltig=false;
    while(gueltig==false)
    {
    zahl = rand()%49+1;
    gueltig=true;
    for(j=0;j<s;j++)
    {
    if(Lottofeld[z][j]==zahl)
    {
    gueltig=false;
    break;
    }
    }
    }
    Lottofeld[z][s]=zahl;
    }

    }
    for(z=0;z<Spiele;z++)
    {
    for(i=0;i<5;i++)
    {
    min=i;
    for(j=i+1;j<=5;j++)
    {
    if(Lottofeld[z][j]<Lottofeld[z][min])
    min=j;
    }
    Hilfsfeld=Lottofeld[z][min];
    Lottofeld[z][min]=Lottofeld[z][i];
    Lottofeld[z][i]=Hilfsfeld;
    }
    }

    for(z=0; z<Spiele; z++)
    {

    for (s=0; s<6; s++)
    {
    cout << Lottofeld [z][s] << " \t";
    }
    cout << endl;
    }
    cout<<endl;

    }
    cout<<"Teilnahmegebuehr: "<<Gebuehr<<" Euro.";
    return 0;
    }


Log in to reply