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