В предыдущей статье, я показал вам программу, которая высчитывает общую стоимость чашек кофе, которые хочет купить пользователь. В этой статье я покажу вам усложненную версию данной программы. Теперь пользователь может выбрать из двух вариантов: кофе без сахара или кофе с сахаром.
Я написал эту программу, используя изученные мной основы языка программирования C++, например, условные операторы if и else if.
Я написал эту программу, опираясь на условие следующей задачи: "Объявите несколько переменных, с помощью которых можно будет подсчитать общую стоимость нескольких товаров".
Я решил пока не смотреть в ответ этой задачи, и попробовать написать несколько своих версий программы, решающей данную задачу. Сама эта задача достаточно абстрактна, и дает возможности для творческого подхода к решению.
Я работаю в Linux MX21, который основан на Debian, и в IDE - редактор кода или среда разработки программ под названием Geany.
Исходный код программы
------------------------------------------------------------------------------------
#include <iostream>
#include <string>
/*Примитивные программы на c++.*/
// Кофейная программа с сахаром или без.
using namespace std;
int main(){
double a_cup_of_coffee = 20; // одна чашка кофе 20 рублей
int number_of_cups; // пользовательское количество чашек кофе
double a_bag_of_sugar = 5; // один маленький пакетик сахара 5 рублей
int number_of_bags; // пользовательское количество пакетиков сахара
string Str; // переменная для выбора пользователя
cout << "Выберете (Кофе) или (Кофе+сахар).\n";
cout << "Введите ваш выбор без пробелов: ";
cin >> Str; // Пользовательский выбор кофе с сахаром или без него
if(Str == "Кофе"){
cout << "Вы выбрали кофе без сахара\n";
cout << "Один стакан кофе стоит " << a_cup_of_coffee << " рублей\n";
cout << "Сколько чашек вы хотите купить? " << "Введите значение: ";
cin >> number_of_cups;
// Далее вложенный оператор if
if(number_of_cups == 0){
cout << "Вы не купили ни одной чашки кофе!\n";
} else if(number_of_cups > 0){
cout << "Ваш заказ стоит " << number_of_cups * a_cup_of_coffee << " рублей\n";
}
} else if(Str == "Кофе+сахар"){
cout << "Вы выбрали кофе с сахаром.\n";
cout << "Один стакан кофе стоит " << a_cup_of_coffee << " рублей\n";
cout << "Один пакетик сахара стоит " << a_bag_of_sugar << " рублей\n";
cout << "Сколько чашек кофе вы хотите купить? " << "Введите значение: ";
cin >> number_of_cups;
cout << "Сколько пакетиков сахара вы хотите купить? " << "Введите значение: ";
cin >> number_of_bags;
// Далее вложенные операторы if и else if
if(number_of_cups == 0 && number_of_bags == 0){
cout << "Вы ничего не купили!\n";
} else if(number_of_cups > 0 && number_of_bags == 0){
cout << "Вы решили пить кофе без сахара!\n";
cout << "Ваш заказ стоит " << number_of_cups * a_cup_of_coffee << " рублей\n";
} else if(number_of_cups == 0 && number_of_bags > 0){
cout << "Вы решили купить сахар!\n";
cout << "Ваш заказ стоит " << number_of_bags * a_bag_of_sugar << " рублей\n";
} else if(number_of_cups > 0 && number_of_bags > 0){
cout << "Ваш выбор - кофе с сахаром!\n";
cout << "Ваш заказ стоит " << number_of_cups * a_cup_of_coffee + number_of_bags * a_bag_of_sugar << " рублей\n";
}
}
return 0;
}
--------------------------------------------------------------------------------------------------------
Выше представлен исходный код данной программы. В прошлой статье я просто размещал скриншоты исходного кода из моей IDE, теперь я решил скопировать сам код, и оформить его на столько, на сколько позволяют возможности форматирования текста в Дзен-студии. Вы можете протестировать его сами в вашей IDE в вашей операционной системе. Программа запускается только в терминале или через IDE.
Скриншоты результатов программы в терминале
У данной программы есть несколько исходов:
- Если пользователь напишет "Кофе", то он выберет кофе без сахара, и если программа просит его, сколько чашек кофе ему налить, и пользователь напишет 0, то программа выдаст следующее.
- Если пользователь напишет "Кофе", то он выберет кофе без сахара, и если программа просит его, сколько чашек кофе ему налить, и пользователь напишет, например, 2, то программа выдаст следующее.
- Если пользователь напишет "Кофе+сахар" без пробелов, то он выберет кофе с сахаром, и если программа просит его, сколько чашек кофе ему налить, и пользователь напишет 0, и при выборе количества пакетиков сахара он тоже напишет 0, то программа выдаст следующее.
- Если пользователь напишет "Кофе+сахар" без пробелов, то он выберет кофе с сахаром, и если программа просит его, сколько чашек кофе ему налить, и пользователь напишет 1, и при выборе количества пакетиков сахара он напишет 0, то программа выдаст следующее.
- Если пользователь напишет "Кофе+сахар" без пробелов, то он выберет кофе с сахаром, и если программа просит его, сколько чашек кофе ему налить, и пользователь напишет 0, и при выборе количества пакетиков сахара он напишет 1, то программа выдаст следующее.
- Если пользователь напишет "Кофе+сахар" без пробелов, то он выберет кофе с сахаром, и если программа просит его, сколько чашек кофе ему налить, и пользователь напишет 1, и при выборе количества пакетиков сахара он напишет 2, то программа выдаст следующее.
Заключение к статье
Как видите, если вы дочитали статью до этого места, по сравнению с прошлой версией этой программы, мне удалось усложнить ее, используя только изученные основы языка программирования C++. Теперь у программы стало больше разных исходов, зависящих от выбора пользователя.
Как бы вы упростили код данной программы, используя только основы C++, не заходя в темы функций и классов?
Предыдущие статьи:
- Кофейная программа. Примитив на C++. Открытый исходный код
- Простая программа на C++. Вывод или изменение элементов массива
- Hello World в Geany. C++ в Linux
- Мой путь к C++. Hello world без IDE