Создайте 4 переменные с разными типами данных и предложите пользователю ввести в них значения. После ввода, отобразите их на экране.
| #include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int digit = 0;
double digit2 = 0;
char symbol = 0;
bool trueOrFalse = 0;
cout << "Введите целое число: ";
cin >> digit;
cout << "Введите вещественное число: ";
cin >> digit2;
cout << "Введите символ: ";
cin >> symbol;
// в переменную типа bool с помощью cin можно ввести
// только числа 0 (интерпретируется как false) и 1 (true)
cout << "Введите 0 или 1: ";
cin >> trueOrFalse;
cout << endl << endl;
cout << "Целое число: " << digit << endl;
cout << "Вещественное число: " << digit2 << endl;
cout << "Символ: " << symbol << endl;
cout << "bool: " << trueOrFalse << endl;
return 0;
}
|
Пользователь должен ввести 2 числа. Вам надо показать на экран произведение этих чисел, сумму и разницу. Покажите так же среднее арифметическое этих введенных чисел.
Показать код
| #include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
float num1 = 0;
float num2 = 0;
cout << "Введите первое число: ";
cin >> num1;
cout << "Введите второе число: ";
cin >> num2;
cout << num1 << " + " << num2 << " = " << num1 + num2 << endl;
cout << num1 << " - " << num2 << " = " << num1 - num2 << endl;
cout << num1 << " * " << num2 << " = " << num1 * num2 << endl;
cout << "Средне арифметическое: ";
cout << num1 << " + " << num2 << " / " << 2 << " = ";
cout << (num1 + num2)/2 << endl;
cout << endl;
return 0;
}
|
Арифметические операции
В современной жизни очень сложно обойтись без арифметических операций. Нам постоянно приходится что-то считать: складывать, умножать, вычитать, делить и т.д. Программирование — не исключение. Вам в 99.9% случаев придется ими пользоваться, при написании своих программ. Рассмотрим арифметические операции в следующей таблице.
Тут особое внимание следует уделить делению по модулю (%). Эта операция достаточно часто используется в решении определённых задач. Пример её применения: если нам необходимо поделить по модулю 9 на 4 (9 % 4), результат будет равен 1 (это остаток — то, что на 4 уже не делится на цело). Еще примеры: 20 % 8 = 4 (8 помещается в 20-ти 2 раза: 8 * 2 = 16, 20 — 16 = 4 остаток от деления), 3 % 2 = 1, 99 % 10 = 9, 9 % 10 = 9. Важно:
§ деление по модулю применяется только к целочисленным переменным;
§ нельзя делить по модулю на 0;
Пример:
| #include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int number1 = 18;
int number2 = 4;
cout << "number1 = " << number1 << endl;
cout << "number2 = " << number2 << endl;
cout << "number1 + number2 = " << number1 + number2 << endl;
cout << "number1 - number2 = " << number1 - number2 << endl;
cout << "number1 * number2 = " << number1 * number2 << endl;
cout << "number1 / number2 = " << number1 / number2 << endl;
cout << "number1 % number2 = " << number1 % number2 << endl;
cout << endl;
return 0;
}
|
Результат компиляции:
Тут вы видите, что при делении num1 на num2, на экране появилась только целая часть — 4 (хотя точное значение 4.5). Дробная часть отсекается, так как переменные определены, как целочисленные — int. А в результате деления по модулю мы видим 2 — то что осталось в остатке от деления 18 на 4.
Еще что хотелось бы рассмотреть в данной статье — это так называемые комбинированные (или составные) операторы. Помимо выполнения своей арифметической роли, они одновременно выполняют роль присваивания значения переменным. Вот список таких составных операторов:
| #include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int number1 = 10;
int number2 = 4;
cout << "number1 = " << number1 << endl;
cout << "number2 = " << number2 << endl;
number1 += number2; // эквивалентно записи number1 = number1 + number2
cout << "Результат от +=: " << "number1 = " << number1 << endl;
number1 -= number2; // number1 = number1 - number2 и т.д.
cout << "Результат от -=: " << "number1 = " << number1 << endl;
number1 *= number2;
cout << "Результат от *=: " << "number1 = " << number1 << endl;
number1 /= number2;
cout << "Результат от /=: " << "number1 = " << number1 << endl;
number1 %= number2;
cout << "Результат от %=: " << "number1 = " << number1 << endl;
cout << endl;
return 0;
}
|
Хотя для кого-то, с первого взгляда, эти операторы могут показаться запутанными, поверьте, к ним очень быстро можно привыкнуть и успешно применять в своих программах. Надо только немного попрактиковаться с их применением. Ваш код при этом будет выглядеть компактнее. Так же, использование комбинированных операторов является признаком хорошего тона в программировании. Поэтому, хоть и не будет ошибкой в коде использование сложения отдельно от присваивания — number1 = number1 + number2;, предпочтительней использовать сокращенный вариант записи number1 += number2;
Результат:
В этой статье были рассмотрены только бинарные операторы — те которые применяются для арифметических операций с двумя переменными (операндами). В одной из следующих, мы познакомимся с унарными операторами (для операций с одной переменной) — инкрементом и декрементом, а в будущем — и с тернарным оператором (которому необходимо три операнда).
Распространённая задача: Дано четырехзначное число (к примеру 5678), вывести на экран в обратном порядке цифры из которых это число состоит. То есть мы должны увидеть на экране 8765. Подсказка: чтобы взять из числа отдельные цифры, надо применять деление по модулю на 10.
| #include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int mainNumber = 5678;
cout << "Дано целое число: " << mainNumber << endl;
cout << "Число наизнанку: ";
// остаток от деления четырехзначного числа 5678 на 10
cout << mainNumber % 10; // 5678 % 10 = 8
// далее делим mainNumber на 10 и записываем в переменную
// так как тип переменной int, дробная часть отбросится
// и mainNumber будет равен 567 (а не 567,8)
mainNumber /= 10;
// показываем остаток от деления 567 на 10 на экран
cout << mainNumber % 10;
mainNumber /= 10;
cout << mainNumber % 10;
mainNumber /= 10;
cout << mainNumber % 10;
mainNumber /= 10;
cout << endl << endl;
return 0;
}
|
2. На сайте практически любого коммерческого банка, можно встретить так называемый Депозитный калькулятор, который позволяет людям, не желающим углубляться в формулы расчета процентных ставок, узнать какую прибыль они получат. Для этого им достаточно заполнить определённые поля, нажать на кнопку и увидеть результат. Это простая программа, которую уже сможет написать каждый из вас. Итак, задача: Пользователь вводит сумму депозита и количество месяцев хранения денег в банке. Необходимо провести расчет и показать на экран прибыль с депозита в месяц, за весь срок депозита, и общую сумму к выплате в конце срока. Валюта пусть будет — доллар США. Процентная ставка — 5% годовых. Формула расчета процентов в месяц — СуммаДепозита * (ПроцентнаяСтавка / 100) / ДнейВГоду * ДнейВМесяце.
| #include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
float sumDeposit = 0; // сумма депозита
int amountMonth = 0; // количество месяцев
float profit = 0; // прибыль
float annualRate = 5; // пять процентов годовых
int daysInYear = 365;
int daysInMonth = 30;
cout << "Введите сумму депозита в долларах: ";
cin >> sumDeposit;
cout << "Введите количество месяцев: ";
cin >> amountMonth;
cout << "\nРасчет\n";
cout << "=======================================\n";
cout << "Проценты в месяц: ";
// проводим расчет по формуле и записываем в переменную profit
profit = sumDeposit * (annualRate / 100) / daysInYear * daysInMonth;
cout << sumDeposit << " * " << annualRate << "% / " << daysInYear
<< " * " << daysInMonth << " = " << profit << " $" << endl;
cout << "Проценты за весь срок: ";
// умножаем % за 1 месяц на весь срок депозита и записываем в profit
profit *= amountMonth;
cout << profit << " $" << endl;
cout << "Общая сумма выплаты в конце срока: "
<< sumDeposit + profit << " $";
cout << endl << endl;
return 0;
}
|
Воспользуйтесь поиском по сайту: