Нужна помощь пожалуйста кассовый аппарат C++
Привет,
Я работаю над этой программой уже около 2 недель и просто не могу этого сделать, я новичок, мне действительно трудно, и я больше не знаю, что делать. Та часть, где вы должны были получить свои центы обратно, не хочет работать, и я действительно не знаю почему, я пытался оптимизировать как можно лучше свой код, чтобы иметь меньше строк кода, но я не способен это сделать. Некоторая помощь была бы очень признательна, пожалуйста.
Заранее большое спасибо.
#include <iostream> #include <math.h> using namespace std; int main() { double iAmount_due { 0 }; double iGiven_money { 0 }; double iMoney_back; iMoney_back = iGiven_money - iAmount_due; int iMoney100 { 0 }; int iMoney50 { 0 }; int iMoney20 { 0 }; int iMoney10 { 0 }; int iMoney5 { 0 }; int iMoney2 { 0 }; int iMoney1 { 0 }; int iCent25 { 0 }; int iCent10 { 0 }; int iCent5 { 0 }; int iCent1 { 0 }; cout << "Enter the amount due please: " << endl; cin >> iAmount_due; cout << "Enter the amount given please: " << endl; cin >> iGiven_money; if (iGiven_money >= iAmount_due) { iMoney_back = iGiven_money - iAmount_due; cout << "We will give you : " << iMoney_back << " $ back" << endl; } else { cout << "No money back" << endl; } while (iGiven_money >= iAmount_due) { iMoney100 = iMoney_back / 100; iMoney_back = (int)iMoney_back % 100; cout << "You will get: " << iMoney100 << " X 100 $ " << endl; iMoney50 = iMoney_back / 50; iMoney_back = (int)iMoney_back % 50; cout << "You will get: " << iMoney50 << " X 50 $ " << endl; iMoney20 = iMoney_back / 20; iMoney_back = (int)iMoney_back % 20; cout << "You will get: " << iMoney20 << " X 20 $ " << endl; iMoney10 = iMoney_back / 10; iMoney_back = (int)iMoney_back % 10; cout << "You will get: " << iMoney10 << " X 10 $ " << endl; iMoney5 = iMoney_back / 5; iMoney_back = (int)iMoney_back % 5; cout << "You will get: " << iMoney5 << " X 5 $ " << endl; iMoney2 = iMoney_back / 2; iMoney_back = (int)iMoney_back % 2; cout << "You will get: " << iMoney2 << " X 2 $ " << endl; iMoney1 = iMoney_back / 1; iMoney_back = (int) iMoney_back % 1; cout << "You will get: " << iMoney1 << " X 1 $ " << endl; iCent25 = iMoney_back / 0.25; iMoney_back = fmod ((int)iMoney_back, 0.25); cout << "You will get: " << iCent25 << " X 0.25 $ " << endl; iCent10 = iMoney_back / 0.10; iMoney_back = fmod ((int)iMoney_back , 0.10); cout << "You will get: " << iCent10 << " X 0.10 $ " << endl; iCent5 = iMoney_back / 0.5; iMoney_back = fmod ((int)iMoney_back , 0.5); cout << "You will get: " << iCent5 << " X 0.5 $ " << endl; iCent1 = iMoney_back / 0.1; iMoney_back = fmod ((int)iMoney_back, 0.1); cout << "You will get: " << iCent1 << " X 0.1 $ " << endl; break; } return 0; }
Что я уже пробовал:
Я перепробовал все, что мог в течение 2 недель, я перепробовал много библиотек c++, чтобы решить свою проблему с десятичными дробями моя программа до сих пор не возвращает мне центы
KarstenK
вы пропустили, чтобы вычесть обратно денежные куски из iMoney_back :-O
остальные ответы не оставляли больше ничего для записи.