• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Menu c++ problem?

Object Storage Arubacloud
0 głosów
131 wizyt
pytanie zadane 2 marca 2018 w C i C++ przez Kocot999 Nowicjusz (120 p.)
edycja 2 marca 2018 przez Patrycjerz

Witam! Chciałbym stworzyć aplikację z ekranem logowania o 3 próbach. Widziałem inne tematy z próbami ale nie wiem jak to podlaczyc do mojego kodu. Jeżeli chodzi o Menu gdy klikam 1 przechodzi do kalkulatora ale musze kliknać 2 razy a nie raz problem w " getchar()". Dodatkowo zastanawia mnie fakt jak zrobić przejście np. z drugiej opcji quiz  bez używania if() a przy uzyciu swifta. Podkreślam, że ucze sie programowania od 4 dni i wiele rzeczy nie rozumiem i proszę o wyrozumiałość.

#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <stdio.h>
using namespace std;

string login,haslo, kalkulator, Quiz;
float x,y;
char wybor,wybierz;


int main()


{
    cout << "Podaj login:";
    cin>> login;
    cout << "Podaj haslo:";
    cin>>haslo;



     if((login=="admin")&&(haslo=="szarlotka"))
    {
    cout<<"Udalo sie zalogowac!"<<endl;
    }
    else

    {
    cout<<"Nie udalo sie zalogowac!"<<endl;
    }

    getchar();getchar();
    system("cls");


    cout<<"MENU GLOWNE"<<endl;
    cout<<"----------------"<<endl;
    cout<<"Wybierz: "<<endl;
    cout<<"1. Kalkulator"<<endl;
    cout<<"2. Quiz"<<endl;
    cout<<"3. Harmonogram"<<endl;
    cout<<"4. Dzielenie"<<endl;
    cout<<"5. Koniec programu"<<endl;

wybierz=getch();
    switch(wybierz)

     {

 case '1':
    cout<<"1.Kalkulator";
    break;


 case'2':
    cout<<"2.Quiz";
    break;



     }


 getchar();getchar();
    system("cls");


    cout << "Podaj pierwsza liczbe:";
    cin>> x;
    cout<<"Podaj druga liczbe:";
    cin>>y;

    cout<<endl;

    cout<<"MENU GLOWNE"<<endl;
    cout<<"----------------"<<endl;
    cout<<"1. Dodawanie"<<endl;
    cout<<"2. Odejmowanie"<<endl;
    cout<<"3. Mnozenie"<<endl;
    cout<<"4. Dzielenie"<<endl;
    cout<<"5. Koniec programu"<<endl;


wybor=getch();

    switch(wybor)
    {
    case'1':
        cout<<"Suma= " <<x+y;
    break;

    case'2':
        cout<<"Roznica= "  <<x-y;
     break;

     case'3':
        cout<<"Iloczyn = " <<x*y;
    break;

    case '4':
        if(y==0) cout<<"Nie dzielimy przez zero";
  else cout<<"Iloraz= " <<x/y;
    break;

    case'5':
           exit(0);
    break;

default:cout<<"Nie ma takiej opcji w Menu";
    }



    return 0;

}

 

1 odpowiedź

0 głosów
odpowiedź 2 marca 2018 przez Paweł Dymek Bywalec (2,300 p.)
getchar();getchar();

dajesz 2 razy getchar() więc musisz dwa razy klikac

Poza tym 

wybierz=getch();
    switch(wybierz)
 
     {
 
 case '1':
    cout<<"1.Kalkulator";
    break;
 
 
 case'2':
    cout<<"2.Quiz";
    break;}

 

 

Sprawdzasz co wybrales w glownym menu po czym niezaleznie od tego wyboru przechodzisz do kalkulatora


 getchar();getchar();
    system("cls");
 
 
    cout << "Podaj pierwsza liczbe:";

 

 

Ogólny zarys tego programu widzę tak:

int main()
{
    
    pętla()
    {
        
            cout<<"MENU GLOWNE"<<endl;
            cout<<"----------------"<<endl;
            cout<<"Wybierz: "<<endl;
            cout<<"1. Kalkulator"<<endl;
            cout<<"2. Quiz"<<endl;
            cout<<"3. Harmonogram"<<endl;
            cout<<"4. Dzielenie"<<endl;
            cout<<"5. Koniec programu"<<endl;
            
            sprawdzasz wybor
            switch (wybor)
            {
                case 1: 
                    cout<<"Kalkulator"<<endl;
                    cout<<"----------------"<<endl;
                    cout<<"1. Dodawanie"<<endl;
                    cout<<"2. Odejmowanie"<<endl;
                    cout<<"3. Mnozenie"<<endl;
                    cout<<"4. Dzielenie"<<endl;
                    cout<<"5. Menu główne"<<endl;
                    break;
                case 2:
                    tutaj quiz
                    break;
                    
                case 3: 
                    tutaj harmonogram
                    break;
                    
                 case 4: 
                    tutaj Dzielenie
                    break;
                    
                 case 5: 
                    return 0;//koniec programu
                    break;
            }
    }
}

W dodatku ja zawsze oplatam zawartość case  w klamerki, nie wiem nawet czy to konieczne, ale mi tak czytelniej to wygląda, tzn:

case 1:
{
      //tu kod
}

 

komentarz 3 marca 2018 przez Kocot999 Nowicjusz (120 p.)
Troche zawiła odpowiedź musze sie wczytac:D
komentarz 3 marca 2018 przez Paweł Dymek Bywalec (2,300 p.)

@Kocot999, oczywiście tam gdzie kalkulator się zaczyna musisz dorobić dalej kod, zeby sie dzialo co ma sie dziac. Analogicznie do calej reszty. Oczywiście tam w case 5: ,czyli wyjsciu z programu, po returnie tego break; usun, po prostu kopiowalem i nie wywalilem go.

Ogólnie to ja przedstawilem tylko zarys, pomysl na wykonanie. Kod to Twoja działka 

Podobne pytania

0 głosów
3 odpowiedzi 200 wizyt
pytanie zadane 7 kwietnia 2019 w C i C++ przez boniek Nowicjusz (190 p.)
0 głosów
1 odpowiedź 776 wizyt
pytanie zadane 20 października 2016 w C i C++ przez perrymoon Nowicjusz (190 p.)
0 głosów
1 odpowiedź 188 wizyt
pytanie zadane 22 czerwca 2015 w C i C++ przez s92 Bywalec (2,300 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...