Очень простая задачка (c++)
Имеется очень простая задачка, не могу додумать последнее условие N=A.
Задачка:
Вы покупаете смартфон в магазине с гибкой системой скидок. Если исходная стоимость смартфона больше A рублей, на неё устанавливается скидка в X процентов. Если исходная стоимость смартфона больше B рублей, скидка составит Y процентов. На вход программе даны пять вещественных чисел: N, A, B, X, Y. N — исходная стоимость товара. Число A меньше числа B. Выведите стоимость покупки смартфона с учётом скидки.
#include <iostream>
using namespace std;
int main() {
double n, a, b, x, y;
cin >> n >> a >> b >> x >> y;
if (n > b) {
cout << n - ((n * y) / 100) << endl;
return 0;
}
if (n > a) {
cout << n - ((n * x) / 100) << endl;
return 0;
}
if (n < a) {
cout << n << endl;
return 0;
}
if (n = a) {
cout << n << endl;
return 0;
}
}
Ответы (3 шт):
Булат, ответ на твой вопрос можно найти здесь.
Кроме того, оператор (return 0; ) используют один раз, а не везде где вздумается, например:
int main()
{
// что-то делаем (команда)
return 0; // 0 если не хотим возвращать конкретное число или переменную.
}
Чтобы не делать подобных ошибок по синтаксису, читай книги по языку С и С++.
Моё решение, пусть и не самое удачное:
#include <iostream>
using namespace std;
int main() {
double n, a, b, x, y;
// Реализуйте алгоритм расчёта итоговой стоимости здесь
// считываем все вводимые числа
cin >> n >> a >> b >> x >> y;
// По заданию, Число A меньше числа B.
if ( a < b )
{
// Проверяем стоимость товара, в случае совпадения применеяем скидку x %
if (n > a && n <= b)
{
// рассчитываем стоимостьсо скидной
n = n - ((n * x) / 100);
}
// Проверяем стоимость товара, в случае совпадения применеяем скидку у %
else if (n > b)
{
n = n - ((n * y) / 100);
}
}
// Выводим результат
cout << n << endl;
}
if (n > b) {
n *= 1.0 - y / 100;
} else if (n > a) {
n *= 1.0 - x / 100;
}
cout << n << endl;
#include <iostream>
using namespace std;
int main() {
double n, a, b, x, y;
cin >> n >> a >> b >> x >> y;
if (n > b) {
n *= 1.0 - y / 100;
} else if (n > a) {
n *= 1.0 - x / 100;
}
cout << n << endl;
}