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

question-closed c++ simple calculator

Object Storage Arubacloud
0 głosów
135 wizyt
pytanie zadane 1 kwietnia 2020 w C i C++ przez Eriss69 Gaduła (4,470 p.)
zamknięte 26 kwietnia 2020 przez Eriss69
#include <iostream>
#include <math.h>
#include <cstdlib>
#include <locale.h>
using namespace std;

void menu()
{
   
    cout << "1-Dodawanie (+)" << endl;
    cout << "2-Odejmnowanie(-) " << endl;
    cout << "3-Mnożenie(*) " << endl;
    cout << "4-Dzielenie(/)" << endl;
    cout << "5-Wyciaganie pierwiastka z liczby x ze stopnia n" << endl;
    cout << "6-Potęgowanie do n-tej potegi" << endl;
    cout << "7 wyjscie z programu bye!" << endl;
}
void dodawanie()
{
    int a, b;
    cout << "\nPodaj a:";
    cin >> a;
    cout <<"Podaj b:";
    cin >> b;
    cout << a << "+" << b << "=" << a + b << endl;
}
void odejmowanie()
{
    int a, b;
    cout << "\nPodaj a:";
    cin >> a;
    cout << "Podaj b:";
    cin >> b;
    cout << a << "-" << b << "=" << a - b << endl;
}
void mnozenie()
{
    int a, b;
    cout << "\nPodaj a:";
    cin >> a;
    cout << "Podaj b:";
    cin >> b;
    cout << a << "*" << b << "=" << a * b << endl;

}
void dzielenie()
{
    float a, b;
    cout << "\nPodaj a:";
    cin >> a;
    cout << "Podaj b:";
    cin >> b;
    if (b != 0)
    {
        cout << a << "/" << b << "=" << a / b << endl;
    }
    else
    {
        cout << "I po co dzielisz przez 0 baranie?" << endl;
    }

}
void pierwiastek()
{
    float a, stopien;
    cout << "\nPodaj a:";
    cin >> a;
    cout << "podaj stopien pierwiastka ";
    cin >> stopien;
    if (a != 0)
    {
        cout << pow(a, 1 / stopien);

    }
    else
    {
        cout << "Po co ci to było?";
    }
 
}
long int potega(long int podstawa, int wykladnik)
{
    int wynik = 1;

    for (int i = 0; i < wykladnik; i++)
        wynik *= podstawa;

    return wynik;
}


int main()
{
    string wyb;
    setlocale(LC_CTYPE, "Polish");
    cout << "--------------" << endl;
    cout << "Kalkulator " << endl;
    cout << "--------------" << endl;

    menu();
    int wybor;
    cout << "Wybierz co chcesz zrobic: ";
    cin >> wybor;
    switch (wybor)
    {
        case 1:
        {
            cout << "wybrales dodawnie";
            dodawanie();
            cout << "\nChcesz powrocic do menu wyboru?(tak/nie)";
            cin >> wyb;
            if (wyb == "tak")
            {
                system("cls");
                main();
            }
            else
            {
                cout << "Żegnaj!" << endl;
                return 0;
            }
            break;
        }
        case 2:
        {
            cout << "wybrales Odejmnowanie";
            odejmowanie();
            cout << "\nChcesz powrocic do menu wyboru?(tak/nie)";
            cin >> wyb;
            if (wyb == "tak")
            {
                system("cls");
                main();
            }
            else
            {
                cout << "Żegnaj!" << endl;
                return 0;
            }
            break;
        }
        case 3:
        {
            cout << "wybrales Mnożenie";
            mnozenie();
            cout << "\nChcesz powrocic do menu wyboru?(tak/nie)";
            cin >> wyb;
            if (wyb == "tak")
            {
                system("cls");
                main();
            }
            else
            {
                cout << "Żegnaj!" << endl;
                return 0;
            }
            break;
        }
        case 4:
        {
            cout << "wybrales Dzielenie";
            dzielenie();
            cout << "\nChcesz powrocic do menu wyboru?(tak/nie)";
            cin >> wyb;
            if (wyb == "tak")
            {
                system("cls");
                main();
            }
            else
            {
                cout << "Żegnaj!" << endl;
                return 0;
            }
            break;
        }
        case 5:
        {
            cout << "Wyciaganie pierwiastka z liczby x ze stopnia n";
            pierwiastek();
            cout << "\nChcesz powrocic do menu wyboru?(tak/nie)";
            cin >> wyb;
            if (wyb == "tak")
            {
                system("cls");
                main();
            }
            else
            {
                cout << "Żegnaj!" << endl;
                return 0;
            }
            break;
        }
        case 6:
        {
            cout << "wybrales potegowanie";
            int a, b;

            cout << "\nWpisz podstawe: ";
            cin >> a;
            cout << "Wpisz wykladnik: ";
            cin >> b;

            cout << potega(a, b) << endl;
            cout << "Chcesz powrocic do menu wyboru?(tak/nie)";
            cin >> wyb;
            if (wyb == "tak")
            {
                system("cls");
                main();
            }
            else
            {
                cout << "Żegnaj!" << endl;
                return 0;
            }
        }
        case 7:
        {
            cout << "bye" << endl;
            return 0;
            break;
        }
    }

}

Co sądzicie? Dość dluga przerwe miałem i duzo zapomnialem :/ Grunt to pisac, pisac i jescze raz pisac

komentarz zamknięcia: Uzyskałem odpowiedz

1 odpowiedź

+2 głosów
odpowiedź 1 kwietnia 2020 przez j23 Mędrzec (194,920 p.)

Ten kod:

        cout << "\nChcesz powrocic do menu wyboru?(tak/nie)";
            cin >> wyb;
            if (wyb == "tak")
            {
                system("cls");
                main();
            }
            else
            {
                cout << "Żegnaj!" << endl;
                return 0;
            }
            break;

powtarzasz w każdym case'ie. Nie można dać go raz za switchem?

Do tego wywołujesz main - tego się nie robi. O tego są pętle.

Dlaczego w każdym case'ie masz cout << "wybrales blablabla";? Przenieś to do odpowiedniej funkcji.

Dlaczego w potega nie pytasz się o liczby, a w pozostałych funkcjach już tak?

 

komentarz 2 kwietnia 2020 przez Eriss69 Gaduła (4,470 p.)
yy.. BO nie wiedzialem jak to zrobic zeby do wszystkiego odwołwalo sie, pokaz jak to się robi bo serio nie wiem :/ W funkcji potega zrobiłem inaczej po prostu ;)

Podobne pytania

0 głosów
0 odpowiedzi 154 wizyt
0 głosów
1 odpowiedź 257 wizyt
pytanie zadane 20 czerwca 2020 w Systemy operacyjne, programy przez Mateusz450 Początkujący (380 p.)
0 głosów
1 odpowiedź 257 wizyt
pytanie zadane 12 maja 2020 w C i C++ przez Tomyslav Nowicjusz (220 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

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

...