Przejdź do głównej zawartości
Uwaga!

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

Uwaga!

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:

⚠ Powtarzający się kod
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:

🤔 Czy to zadziała?
int choice;
std::cin >> choice; // wpisuję "cześć"

TODO: lekcja o błędach odczytu

Uwaga!

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

Uwaga!

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:

⚠ Powtarzający się kod
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:

🤔 Czy to zadziała?
int choice;
std::cin >> choice; // wpisuję "cześć"

TODO: lekcja o błędach odczytu