Ten artykuł nie jest skończony. Możesz pomóc w jego ukończeniu edytując tą stronę.
Podstawowy kalkulator
Wymaga znajomości: 1. Pierwszy program - 4. Instrukcje warunkowe
Przegląd
Stworzymy prosty program, który będzie mógł policzyć:
- ➕ sumę
- ➖ różnicę
- ✖ iloczyn
- ➗ iloraz
dwóch liczb rzeczywistych (tak naprawdę zmiennoprzecinkowych - float
)
Kod źródłowy
#include <iostream>
int main()
{
std::cout << "=== KALKULATOR ===\n"
<< "Menu:\n"
<< "1) Dodawanie\n"
<< "2) Odejmowanie\n"
<< "3) Mnożenie\n"
<< "4) Dzielenie\n"
<< "> Twój wybór: ";
int choice;
std::cin >> choice;
float a, b;
if (choice == 1)
{
std::cout << "Liczenie sumy (a + b).\n"
<< "Proszę wpisać pierwszą liczbę: ";
std::cin >> a;
std::cout << "Proszę wpisać drugą liczbę: ";
std::cin >> b;
std::cout << "a + b wynosi " << (a + b);
}
else if (choice == 2)
{
std::cout << "Liczenie różnicy (a - b).\n"
<< "Proszę wpisać pierwszą liczbę: ";
std::cin >> a;
std::cout << "Proszę wpisać drugą liczbę: ";
std::cin >> b;
std::cout << "a - b wynosi " << (a - b);
}
else if (choice == 3)
{
std::cout << "Liczenie iloczynu (a * b).\n"
<< "Proszę wpisać pierwszą liczbę: ";
std::cin >> a;
std::cout << "Proszę wpisać drugą liczbę: ";
std::cin >> b;
std::cout << "a * b wynosi " << (a * b);
}
else if (choice == 4)
{
std::cout << "Liczenie ilorazu (a / b).\n"
<< "Proszę wpisać pierwszą liczbę: ";
std::cin >> a;
std::cout << "Proszę wpisać drugą liczbę: ";
std::cin >> b;
if (b == 0)
std::cout << "Nie można dzielić przez 0!";
else
std::cout << "a / b wynosi " << (a / b);
}
else
std::cout << "Nieprawidłowa opcja: " << choice;
}
Wyjaśnienie
Ta sekcja wymaga rozbudowy. Możesz nam pomóc edytując tą stronę.
1. Menu główne
Używamy cout
do wyświetlania menu głównego programu na samym początku jego
wykonania (Lekcja - 1. Pierwszy program).
Połączyliśmy wyświetlenia wielu tekstów za pomocą operatorów <<
.
2. Wybór
By określić, która operacja powinna zostać wykonana, użyliśmy instrukcji if
, else if
oraz else
(Lekcja - 4. Instrukcje warunkowe)
Co można usprawnić
1. Powtarzający się kod
Łatwo można dostrzec, że jest pewien fragment kodu, który powtarza się kilka razy:
std::cout << "Proszę wpisać pierwszą liczbę: ";
std::cin >> a;
std::cout << "Proszę wpisać drugą liczbę: ";
std::cin >> b;
Nauczysz się w kursie rozwiązywać problem powtórzeń w kodzie poprzez korzystanie z funkcji.
2. Wykrywanie błędów wczytywania
Co by się stało, gdyby spróbowano wpisać słowo
(np.: cześć
) zamiast liczby, w tym miejscu w kodzie:
int choice;
std::cin >> choice; // wpisuję "cześć"
TODO
: lekcja o błędach odczytu