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;}
};