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

Switch while if i kilka menu

Object Storage Arubacloud
0 głosów
190 wizyt
pytanie zadane 2 lutego 2021 w C i C++ przez Osama Nowicjusz (140 p.)

Robię projekt na zadanie z programowania. Mianowicie piszę kalkulator który ma za zadanie :

A) Po wprowadzeniu dwóch cyfr, użytkownik wybiera akcje: dodaj, odejmij, pomnóż, podziel 

B) Po wprowadzeniu 1 cyfry: potęga, pierwiastek, silnia 

Dla samej opcji  A nie mam problemu, da się to  w miarę łatwo zrobić. Natomiast wchodzi tutaj podpunkt B który mi to wszystko rujnuje. Próbowałem to zrobić za pomocą voidów i innych switchy kilka menu aby do tego dojść, lecz ni cholery nie wychodzi. Teraz pytanie jak to zrobić ? 

Z góry dziękuję za pomoc. Nie jestem programistą ani nie studiuję informatyki, ale dostałem taki przedmiot to staram się go nauczyć (choć idzie mi to topornie).

 

Tutaj kod który poknociłem po całości:

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

using namespace std;

void menu();
void menugl();
void menu2();
void opcjaa();
void opcjab();

int main(int argc, char* argv[])
{

    int x = 0;
    int z = 0;
    int y = 0;
    int a, b, c;

    //////////////////////////////////////////
                 // menu glowne //
    //////////////////////////////////////////

    if (int a = 0; a <= 9; a++)
    {

    }

    while (z > 4 || z < 1)
    {

        menugl();


            cin >> z;
        system("cls");
    }

    switch (y)
    {
    case 1:
        opcjaa();
        break;
    case 2:
        opcjab();
        break;
    case 3:
        system("clear");
        break;
    default: cout << "Cos poszlo nie tak!" << endl;
        break;
    }

    //////////////////////////////////////////
                 // menu2 //
    //////////////////////////////////////////

    while (z > 4 || z < 1)
    {
        cout << "Podaj liczbe: "; cin >> a;
        cout << endl;

        menu2();


        cin >> z;
        system("cls");
    }

    switch (z)
    {
    case 1:
        int c;
        cout << "Podaj potege: "; cin >> c;
        cout << endl;
        cout << "Wynik potegowania = " << pow(a,c) << endl;
        break;
    case 2:
        cout << "Wynik pierwiastkowania = " << sqrt(a) << endl;
        break;
    case 3:
        cout << "Wynik silni = " << !a << endl;
        break;
    case 4:
        system("clear");
        break;
    default: cout << "Cos poszlo nie tak!" << endl;
        break;
    }

    //////////////////////////////////////////
                 // menu  //
    //////////////////////////////////////////

    while (x > 5 || x < 1)
    {


        cout << "Podaj pierwsza liczbe: "; cin >> a; 
        cout << "Podaj druga liczbe: "; cin >> b;
        cout << endl;

        menu();

        cin >> x;
        system("cls");
    }

    switch (x)
    {
    case 1:
        cout << "Wynik dodawania = " << a + b << endl;
        break;
    case 2:
        cout << "Wynik odejmowania = " << a - b << endl;
        break;
    case 3:
        cout << "Wynik mnozenia = " << a * b << endl;
        break;
    case 4:
        cout << "Wynik dzielenia: " << a / b << endl;
        break;
    case 5:
        system("clear");
        break;
        default: cout << "Cos poszlo nie tak!" << endl;
        break;
    }


    system("PAUSE");
    return EXIT_SUCCESS;
}

void menu()
{
    cout << "*******************MENU********************" << endl;
    cout << "1.Dodawanie liczb" << endl;
    cout << "2.Odejmowanie liczb" << endl;
    cout << "3.Mnożenie liczb" << endl;
    cout << "4.Dzielenie liczb" << endl;
    cout << "5.Wyjscie z programu." << endl;
    cout << "Wybieram : ";
}

void menu2()
{
    cout << "*******************MENU********************" << endl;
    cout << "1.Potegowanie liczb" << endl;
    cout << "2.Pierwiastkowanie liczb" << endl;
    cout << "3.Silnia liczb" << endl;
    cout << "5.Wyjscie z programu." << endl;
    cout << "Wybieram : ";

}

void menugl()
{

    cout << "*******************MENU GLOWNE********************" << endl;
    cout << "W zaleznosci od wyboru odpale odpowiednia sciezke" << endl;
    cout << "1.Wpisz 1 liczbe" << endl;
    cout << "2.Wpisz 2 liczby" << endl;
}

void opcjaa()
{
    int a;
    cout << "Podaj liczbe: "; cin >> a;

}

void opcjab()
{
    int a, b;
    cout << "Podaj pierwsza liczbe: "; cin >> a;
    cout << "Podaj druga liczbe: "; cin >> b;

}

 

1
komentarz 2 lutego 2021 przez TOWaD Mądrala (5,700 p.)
cin>>liczba;
if(cin.peek()=='\n') potegowanie();
else { cin>>liczba2; dodawanie();}

może coś takiego zadziała

komentarz 2 lutego 2021 przez Osama Nowicjusz (140 p.)
Jeśli mogę prosić o wytłumaczenie, co robi ta część  " (cin.peek()=='\n')  " byłbym wdzięczny :)
1
komentarz 2 lutego 2021 przez TOWaD Mądrala (5,700 p.)
podgląda następny znak w strumieniu
komentarz 2 lutego 2021 przez Osama Nowicjusz (140 p.)
Teraz ma problem z pozyskaniem "Liczby" Do funkcji voida... pytanie brzmi czy mogę jakoś przekazać z int main() takową informację do void dodawanie / potegowanie ?
1
komentarz 2 lutego 2021 przez TOWaD Mądrala (5,700 p.)

int main(int argc, char* argv[]) że tak jak tu ?

komentarz 2 lutego 2021 przez Osama Nowicjusz (140 p.)
Dobra nie zauważyłem, że nie mam tam nic. Dziękuję za pomoc ! :)

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
3 odpowiedzi 744 wizyt
pytanie zadane 10 września 2020 w C i C++ przez Nidan23 Nowicjusz (130 p.)
0 głosów
1 odpowiedź 6,259 wizyt
pytanie zadane 28 lutego 2017 w C i C++ przez Geralt_z_Rivii Nowicjusz (240 p.)
0 głosów
1 odpowiedź 182 wizyt

92,550 zapytań

141,394 odpowiedzi

319,522 komentarzy

61,935 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!

...