Найти тему
ДЮН-Дмитрий Юрьевич

Простая программа на основах языка программирования C++. Кофе с молоком и сахаром

Оглавление

В предыдущей статье я показал вам программу, которая высчитывает стоимость приобретения Кофе с сахаром или без него, в зависимости от выбора пользователя. В этой статье я покажу вам более сложную версию данной программы. Теперь у пользователя больше вариантов выбора. Теперь у пользователя есть три главных варианта выбора: Кофе, Кофе+сахар, Кофе+сахар+сливки. При выборе одного из трех перечисленных вариантов, у пользователя появляется множество новых возможностей выбора разных исходов программы.

Я написал эту программу, используя только основы языка программирования 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; // пользовательское количество пакетиков сахара

double a_bag_of_cream = 10; // один пакетик сливок стоит 10 рублей

int amount_of_cream;

string Str; // переменная для выбора пользователя

cout << "Выберете (Кофе),(Кофе+сахар),(Кофе+сахар+сливки).\n";

cout << "Введите ваш выбор без пробелов: ";

cin >> Str; // Пользовательский выбор кофе с сахаром или без него

if(Str == "Кофе"){

cout << "Вы выбрали кофе без сахара\n";

cout << "Один стакан кофе стоит " << a_cup_of_coffee << " рублей\n";

cout << "Сколько чашек вы хотите купить? " << "Введите значение: ";

cin >> number_of_cups;

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(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";

}

} else if(Str == "Кофе+сахар+сливки"){

cout << "Вы выбрали кофе с сахаром и сливками.\n";

cout << "Один стакан кофе стоит " << a_cup_of_coffee << " рублей\n";

cout << "Один пакетик сахара стоит " << a_bag_of_sugar << " рублей\n";

cout << "Один пакетик сливок стоит " << a_bag_of_cream << " рублей\n";

cout << "Сколько чашек кофе вы хотите купить? " << "Введите значение: ";

cin >> number_of_cups;

cout << "Сколько пакетиков сахара вы хотите купить? " << "Введите значение: ";

cin >> number_of_bags;

cout << "Сколько пакетиков сливок вы хотите купить? " << "Введите значение: ";

cin >> amount_of_cream;

if(number_of_cups == 0 && number_of_bags == 0 && amount_of_cream == 0){

cout << "Вы ничего не купили!\n";

} else if(number_of_cups > 0 && number_of_bags == 0 && amount_of_cream == 0){

cout << "Вы решили пить кофе без сахара!\n";

cout << "Ваш заказ стоит " << number_of_cups * a_cup_of_coffee << " рублей\n";

} else if(number_of_cups == 0 && number_of_bags > 0 && amount_of_cream == 0){

cout << "Вы решили купить сахар!\n";

cout << "Ваш заказ стоит " << number_of_bags * a_bag_of_sugar << " рублей\n";

} else if(number_of_cups == 0 && number_of_bags == 0 && amount_of_cream > 0){

cout << "Вы решили купить сливки!\n";

cout << "Ваш заказ стоит " << amount_of_cream * a_bag_of_cream << " рублей\n";

} else if(number_of_cups > 0 && number_of_bags > 0 && amount_of_cream == 0){

cout << "Ваш выбор - кофе с сахаром!\n";

cout << "Ваш заказ стоит " << number_of_cups * a_cup_of_coffee + number_of_bags * a_bag_of_sugar << " рублей\n";

} else if(number_of_cups == 0 && number_of_bags > 0 && amount_of_cream > 0){

cout << "Ваш выбор - сливки с сахаром!\n";

cout << "Ваш заказ стоит " << number_of_bags * a_bag_of_sugar + amount_of_cream * a_bag_of_cream << " рублей\n";

} else if(number_of_cups > 0 && number_of_bags == 0 && amount_of_cream > 0){

cout << "Ваш выбор - кофе со сливками без сахара!\n";

cout << "Ваш заказ стоит " << number_of_cups * a_cup_of_coffee + amount_of_cream * a_bag_of_cream << " рублей\n";

} else if(number_of_cups > 0 && number_of_bags > 0 && amount_of_cream > 0){

cout << "Ваш выбор - кофе со сливками и с сахаром!\n";

cout << "Ваш заказ стоит " << number_of_cups * a_cup_of_coffee + number_of_bags * a_bag_of_sugar + amount_of_cream * a_bag_of_cream << " рублей\n";

}

}

return 0;

}

-------------------------------------------------------------------------------------------------------

Выше представлен исходный код программы. В этой статье, в отличие от предыдущей, я опубликую не только сам код, но и скриншоты из моей IDE.

-2
-3
-4

Скриншоты результатов программы в терминале

У данной программы есть несколько исходов.

Если пользователь напишет "Кофе", то он выберет кофе без сахара, и если программа просит его, сколько чашек кофе ему налить, и пользователь напишет 0, то программа выдаст следующее:

-5

Если пользователь напишет "Кофе", то он выберет кофе без сахара, и если программа просит его, сколько чашек кофе ему налить, и пользователь напишет 1, то программа выдаст следующее:

-6

Если пользователь напишет "Кофе+сахар" без пробелов, программа сначала выдаст пользователю цену одной чашки кофе и одного пакетика сахара, потом спросит, сколько чашек кофе и пакетиков сахара нужно пользователю:

1) Если пользователь напишет количество чашек кофе = 0 и количество пакетиков сахара = 0, то программа выдаст следующее:

-7

2) Если пользователь напишет количество чашек кофе = 1 и количество пакетиков сахара = 0, то программа выдаст следующее:

-8

3) Если пользователь напишет количество чашек кофе = 0 и количество пакетиков сахара = 1, то программа выдаст следующее:

-9

4) Если пользователь напишет количество чашек кофе = 1 и количество пакетиков сахара = 1, то программа выдаст следующее:

-10

Если пользователь напишет "Кофе+сахар+сливки" без пробелов, программа сначала выдаст пользователю цену одной чашки кофе, одного пакетика сахара и одного пакетика сливок, потом спросит, сколько чашек кофе, пакетиков сахара и молока нужно пользователю:

1) Если пользователь напишет количество чашек кофе = 0, количество пакетиков сахара = 0, количество пакетиков сливок = 0, то программа выдаст следующее:

-11

2) Если пользователь напишет количество чашек кофе = 1, количество пакетиков сахара = 0, количество пакетиков сливок = 0, то программа выдаст следующее:

-12

3) Если пользователь напишет количество чашек кофе = 0, количество пакетиков сахара = 1, количество пакетиков сливок = 0, то программа выдаст следующее:

-13

4) Если пользователь напишет количество чашек кофе = 0, количество пакетиков сахара = 0, количество пакетиков сливок = 1, то программа выдаст следующее:

-14

5) Если пользователь напишет количество чашек кофе = 1, количество пакетиков сахара = 2, количество пакетиков сливок = 0, то программа выдаст следующее:

-15

6) Если пользователь напишет количество чашек кофе = 1, количество пакетиков сахара = 0, количество пакетиков сливок = 1, то программа выдаст следующее:

-16

7) Если пользователь напишет количество чашек кофе = 0, количество пакетиков сахара = 2, количество пакетиков сливок = 1, то программа выдаст следующее:

-17

8) Если пользователь напишет количество чашек кофе = 1, количество пакетиков сахара = 2, количество пакетиков сливок = 1, то программа выдаст следующее:

-18

Заключение к статье

Как видите, если вы дочитали статью до этого места, по сравнению с прошлой версией этой программы, мне удалось усложнить ее, используя только изученные основы языка программирования C++. Теперь у программы стало больше разных исходов, зависящих от выбора пользователя.

Как бы вы упростили код данной программы, используя только основы C++, не заходя в темы функций и классов?

Предыдущие статьи:

  • Простая программа на основах языка программирования C++. Кофе с сахаром
  • Кофейная программа. Примитив на C++. Открытый исходный код
  • Простая программа на C++. Вывод или изменение элементов массива
  • Hello World в Geany. C++ в Linux
  • Мой путь к C++. Hello world без IDE