我想在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;
这是我尝试将min和max作为双精度时得到的错误:
"类型'int'和'double'到二进制'运算符%'的操作数无效"
我该怎么做才能解决这个问题?
别.
你既不需要也不想要货币的浮点数.
有一些方法可以使它工作(std::uniform_real_distribution
将给你浮点随机值),但这样做有很多问题(为启动器舍入错误),你只需要这两个货币值之间的所有无穷小数值.
所以,坚持一个整数,在你的情况下计算便士(美分?).如果你想转换成整数(美元?),最后除以100输出.