stigmt
@stigmt
Учусь

Деление на число с плавающей точкой?

На примере задачи:
1 огурец =200.50 рублей
платим 200 рублей и получаю результат: вы можете купить 1 огурец, хотя явно значение на выходе меньше единицы. Помогите разобраться с делением
https://yadi.sk/i/sMVv1V3DjZwU4 - скриншот с cmd и компилятором
Код:
#include
#include

using std::cout;
using std::cin;
using std::endl;

int main()
{
setlocale(LC_ALL, "Russian");
int a;
cout << "Ведите сумму" << endl;
cin >> a;
const int b =200.9;
int с = a % b;
int v = (double)a / (double)b;
if (v >= 1.0)
cout << "Покупка возможна, вы получите: "<< v <<" ед. товара\n" << "Ваша сдача:" << с << endl;
else
cout << "Вам не хватает средств" << endl;

_getch();

return 0;
}
2) Второй вопрос вдогонку: как сделать так что бы при вводе букв, а не цифр, выводилось сообщение?
Например : "Ошибка. Вводите цифры"
  • Вопрос задан
  • 216 просмотров
Решения вопроса 1
tlito
@tlito
drupal, c++, seo
1. у вас переменная целая
const int b =200.9;
вам надо для числа 200.9 организовать переменную типа double
const double b =200.9;

2. проверка ввода сделает вашу программу в 2 раза длинне. так что для начала ограничьтесь сообщением типа: Введите число, десятые доли разделяйте точкой. И нажмите Ввод
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы