用于确定使用char图标的变化的c++数学计算
C++ math calculation for determining change using char icons
cout << "Your change is " << change << ". Here's your change:";
char q = '@';
double ccounter = 0;
while(ccounter <= (change - .24)){
cout << q;
ccounter = ccounter + .25;
}
char d = '^';
while(ccounter <= (change - .09))
{
cout << d;
ccounter = ccounter + .10;
}
char n = '&';
while(ccounter <= (change - .04)){
cout << n;
ccounter = ccounter + .05;
}
char p = '*';
while(ccounter <= change){
cout << p;
ccounter = ccounter + .01;
}
return 0;
}
一旦你的顾客付给你大于或等于1.87的钱,用上面列出的符号给他们找零。例如,如果您的客户支付了5美元,您应该打印出:
Your change is 3.13. Here’s your change: $$$^***
第一块是代码,第二块是提示符。
当用户输入3表示他们想要支付的费用时,一切都很好,但4得到四个便士图标,而实际上应该是三个,因为变化是0.13。
任何帮助或建议将非常感激!
谢谢大家:)
[ * ] = Penny (1 cent)
[ & ] = Nickel (5 cents)
[ ^ ] = Dime (10 cents)
[ @ ] = Quarter (25 cents)
[ $ ] = 1 dollar
循环在错误的时间结束,因为ccounter
变量正在积累浮点舍入的错误。如果计算2 + 0.1 + 0.01 + 0.01 + 0.01
,得到2.1299999999999994。你应该将所有内容改为使用整数数学,即从213美分的计数器开始,然后从中减去25、10、5和1。如果您坚持使用整数数学,它将可靠地工作。
您的循环终止条件似乎都有一次性错误。这样写代码可能更清楚:
cout << "Your change is " << change << ". Here's your change:";
char q = '@';
double ccounter = 0;
while((change - ccounter) >= 0.25)
{
cout << q;
ccounter = ccounter + .25;
}
char d = '^';
while((change - ccounter) >= 0.10)
{
cout << d;
ccounter = ccounter + .10;
}
char n = '&';
while((change - ccounter) >= 0.05)
{
cout << n;
ccounter = ccounter + .05;
}
char p = '*';
while((change - ccounter) >= 0.01 )
{
cout << p;
ccounter = ccounter + .01;
}
return 0;
}
相关文章:
- C++取消引用指针.为什么会发生变化
- 为什么在读取文件大小时文件IO速度会发生变化
- 为什么cudaMemGetInfo报告设备内存总量的变化
- 如何避免LED在循环状态变化中闪烁?
- 当 I2C 值在C++中发生变化时收到通知
- Gtkmm 会不断检查 Gtk::日历上的所选日期是否发生变化
- 当我调用对象的方法时,对象的成员会发生变化
- 为什么向量内部的指针在从函数返回时会发生变化?
- 如何在 c++ 中循环中使用频率变化的声音?
- 为什么 C++ 中的零会发生变化
- 为什么我的全局变量似乎没有变化?
- 使用 IMFSinkWriter 编码的视频的播放速度会根据宽度而变化
- C++11:具有互斥锁的线程看到原子变量的值发生变化,尽管这是唯一可以改变它的代码
- 为什么预减量会导致奇怪的变化?
- MATLAB:跟踪imufilter对象中的状态变化
- 当父小部件大小发生变化时,如何更改子小部件的大小?
- 我正在将一个 std::string 传递给一个 boost 函数,该函数对该类型进行常量引用,但该值发生了变化
- c++问题:给一个变量赋值后,另一个变量发生了变化
- 为什么使用默认构造函数"{}"而不是"= default"存在性能变化?
- 当对象传递给成员函数时,成员函数的行为会发生变化?