【发布时间】:2018-02-17 20:51:13
【问题描述】:
我正在尝试创建一个介于 15.00 和 40.00 之间的随机数,用于计算。具体任务是构建一个程序,接收售出的门票数量并计算这些门票销售的总收入,其中三种门票类型具有恒定价格值,其中一种门票类型具有介于两者之间的随机价格值15.00 美元和 40.00 美元。我怎样才能做到这一点?
我已经接近了这一点,但前提是我将 mystmax 和 mystmin 声明为“int”。我希望它们是双倍的,所以我可以在 $15.00 和 $40.00 之间设置每个十进制值:
unsigned seed = time(0);
srand(seed);
double mystery = (rand() % (mystmax - mystmin+1))+mystmin;
这是我尝试将最小值和最大值设为双精度时遇到的错误:
“'int'和'double'类型的无效操作数到二进制'operator%'”
我能做些什么来解决这个问题?
【问题讨论】:
-
你真的需要花车吗?或者你只需要两位小数?您说您需要“15.00 美元到 40.00 美元之间的每一个十进制值”,但这要么是无穷大(数学上),要么是数百万(实际
double范围约束) -
小数点后两位即可。