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

question-closed c++ simple calculator

VPS Starter Arubacloud
0 głosów
158 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 (195,220 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 168 wizyt
0 głosów
1 odpowiedź 336 wizyt
pytanie zadane 20 czerwca 2020 w Systemy operacyjne, programy przez Mateusz450 Początkujący (380 p.)
0 głosów
1 odpowiedź 284 wizyt
pytanie zadane 12 maja 2020 w C i C++ przez Tomyslav Nowicjusz (220 p.)

92,972 zapytań

141,936 odpowiedzi

321,171 komentarzy

62,301 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...