Mój kalkulator w konsoli

0

Zaczynam z programowaniem i wzięło mnie na napisanie kalkulatora w konsoli.
Tutaj rodzi się moje pytania.
Czy robię jakieś błedy? Może mam jakies złe nawyki? Coś się da lepiej zrobić?
Co dalej? Po kalkulatorze co można byłoby zrobić, aby poznać bardziej język.

#include <iostream>
#include <windows.h>
#include <math.h>
using namespace std;


int main()
{
 int cowybierasz, wyjdz;
 double liczba1, liczba2;

 system("cls");
 // Wypisanie w konsoli menu
 cout << "Kliknij przycisk i zatwierdz enterem\n\n[1] Dodawanie\n[2] Odejmowanie\n[3] Mnozenie\n[4] Dzielenie\n[5] Potegowanie\n[6] Pierwiastkowanie\n[7] Obliczanie pol\n\n[0] Wyjdz\n\nWybieram numer: "; // \n tworzy linię odstępu
 cin >> cowybierasz; // Sprawdza co wpisał użytkownik, następnie pętla switch wyłapuję to i porównuję z case


 switch( cowybierasz )
 // Pętla switch, porównuję wartość poddanej zmiennej z case, jeśli któryś z case ma tą samą wartość to wykonuje jego kod
{
case 1:
    system("cls"); // To jest funkcja z Windows.h, czyści nam konsole
    cout << "Wybrales Dodawanie\n\n" << "Pierwsza liczba: ";
    cin >> liczba1;
    cout << "Druga liczba: ";
    cin >> liczba2;
    cout << "\nWynik to: " << liczba1 + liczba2 << "\n\nWpisz 0, by wrocic do menu: ";
    cin >> wyjdz;
    main(); // I od nowa włączamy główną funkcję
    break; // Uwalniamy się od pętli

case 2:
    system("cls");
    cout << "Wybrales Odejmowanie\n\n" << "Pierwsza liczba: ";
    cin >> liczba1;
    cout << "Druga liczba: ";
    cin >> liczba2;
    cout << "\nWynik to: " << liczba1 - liczba2 << "\n\nWpisz 0, by wrocic do menu: ";
    cin >> wyjdz;
    main();
    break;

case 3:
    system("cls");
    cout << "Wybrales Mnozenie\n\n" << "Pierwsza liczba: ";
    cin >> liczba1;
    cout << "Druga liczba: ";
    cin >> liczba2;
    cout << "\nWynik to: " << liczba1 * liczba2 << "\n\nWpisz 0, by wrocic do menu: ";
    cin >> wyjdz;
    main();
    break;

case 4:
    system("cls");
    cout << "Wybrales Dzielenie\n\n" << "Liczba ktora chcesz podzielic: ";
    cin >> liczba1;
    cout << "Druga liczba: ";
    cin >> liczba2;
    cout << "\nWynik to: " << liczba1/liczba2 << "\n\nWpisz 0, by wrocic do menu: ";
    cin >> wyjdz;
    main();
    break;

case 5:
    system("cls");
    cout << "Wybrales Potegowanie\n\n" << "Liczba ktora chcesz potegowac: ";
    cin >> liczba1;
    cout << "Potega: ";
    cin >> liczba2;
    cout << "\nWynik to: " << pow(liczba1, liczba2) << "\n\nWpisz 0, by wrocic do menu: ";
    cin >> wyjdz;
    main();
    break;

case 6:
    system("cls");
    cout << "Wybrales Pierwiastkowanie\n\n" << "Liczba która chcesz pierwiastkowac: ";
    cin >> liczba1;
    cout << "Stopien pierwiastka: ";
    cin >> liczba2;
    cout << "\nWynik to: " << pow(liczba1, (1 / liczba2) )<< "\n\nWpisz 0, by wrocic do menu: ";
    cin >> wyjdz;
    main();
    break;

case 7:
    system("cls");
    cout << "Kliknij przycisk i zatwierdz enterem\n\n" << "[1] Kola\n" << "[2] Trojkata\n" << "[3] Trapeza\n\n"<< "[0] Wroc do menu\n\n" << "Wybieram numer: ";

    cin >> cowybierasz;
    switch (cowybierasz)
    {
        case 1:
            system("cls");
            cout << "Wybrales: [1] Koła\n\nPodaj promien: ";
            cin >> liczba1;
            cout << "\n\n Pole wynosi: " << M_PI * pow(liczba1, 2) << "\n\nWpisz 0, by wrocic do menu: ";
            cin >> wyjdz;
            main();
            break;

        case 2:
            system("cls");
            cout << "Wybrales: [2] Trojkata\n\nPodaj długosc wysokosci: ";
            cin >> liczba1;
            cout << "\nPodaj długosc podstawy:";
            cin >> liczba2;
            cout << "\n\n Pole wynosi: " << 0.5 * liczba1 * liczba2 << "\n\nWpisz 0, by wrocic do menu: ";
            cin >> wyjdz;
            main();
            break;
        case 3:
            double liczba3;
            system("cls");
            cout << "Wybrales: [3] Trapeza\n\nPodaj jedna z podstaw: ";
            cin >> liczba1;
            cout << "\nPodaj druga z podstaw: ";
            cin >> liczba2;
            cout << "\nPodaj wysokosc: ";
            cin >> liczba3;
            cout << "\n\n Pole wynosi: " << 0.5 * liczba3 * (liczba1 + liczba2) << "\n\nWpisz 0, by wrocic do menu: ";
            cin >> wyjdz;
            main();
            break;
        case 0:
            main();
            break;
        default:
            main();
            break;
    };
    break;
          default:
            main();
            break;}
};
1

bardzo duzo mozna ulepszyc zmienic. na razie czytaj jakakolwiek ksiazki dopoki nienauczysz sie podstaw podstaw.
Jezeli chcesz juz teraz wiedziec to poczytaj Czysty Kod. Autor Martin

Nie ma sensu pokazywac nigdzie komus takiego kodu, bo brakuje bardzo duzo. Feedback bylby spory...

Zeby nie byc goloslownym. Brakuje Ci np tutaj funkcji (taki czubek gory lodowej) przez co kod jest nieczytelny

0

Prosty kalkulator. Porównaj. Zastosuj.

1 użytkowników online, w tym zalogowanych: 0, gości: 1