虽然循环未启动显示 5,但从输入开始,C++
While loop not starting display at 5, starting with input, C++
我的 c++ 程序中的 while 循环有问题。它运行,但我试图让它以 5 开头(需要以 5 为增量显示数字)而不是我的输入数字。这是循环:
while (minutes <= 25) // max number displayed 25, minutes is my own input between 5 - 25
{
caloriesBurn = minutes * burnperMin; // calculating calories burned
if (minutes%5 == 0) // determining if number is divisible by 5
{
cout << minutes << " " << caloriesBurn << endl;
}
minutes++;
}
截至目前,如果我输入 15,它将从 15 开始显示,然后转到 20,然后是 25(就像我想要的那样),但我总是希望它从 5 开始,一直运行到我的输入 (15)。所以,基本上它显示的与我想要的相反。
for (int m = 5; m <= minutes; m += 5)
{
caloriesBurn = m * burnperMin; // calculating calories burned
cout << m << " " << caloriesBurn << endl;
}
改用for (minutes = 5; minutes <= 25; minutes += 5)
,并删除循环体末尾的minutes++;
,以及现在冗余的可分性检查。
如果需要保留while
则重构为等效项
minutes = 5;
while (minutes <= 25){
/* loop body*/
minutes += 5;
}
假设我正确理解了你的问题,就像你想要的条件一样,(尽可能保留你的代码)
int minutes = 5;
while (minutes < 25 && minutes < userInput) {
caloriesBurn = minutes * burnperMin; // calculating calories burned
cout << minutes << " " << caloriesBurn << endl;
minutes += 5;
}
这是假设您希望它显示燃烧的卡路里为 5,10,...分钟,最多为用户定义的时间,最长为 25 分钟。
相关文章:
- 当回溯以零开始时,如何调试崩溃
- 根据用户输入用字母填充矢量,并将"开始"和"结束"放在四肢
- 如何从头开始创建 avi 文件?
- 为什么 -mmacosx-version-min=10.10 不阻止使用标记为从 10.11 开始的函数?
- 自一周开始以来的秒数?
- 一旦双簧管录制开始,主 UI 线程就会被阻止
- GStreamer在开始任何播放之前进行搜索
- 使 std::fstream 写入文件末尾,但从头开始读取
- 如何以毫秒为单位获取开始时间和 now() 之间的毫秒差异(以 C++为单位?
- 哪个C++规范开始支持 std::vector
- 如何继续读取不同功能中的文件,而不是从头开始再次读取文件?
- 如何在 c++ 中确定一条指令(以字节为单位)在哪里结束,另一条指令从哪里开始?
- 如何在调试中通过传递引用开始
- 如何使用 picojson.h 在 c++ 中从头开始创建 json 对象
- 从特定键开始遍历地图
- 列表的有效性在插入后开始迭代器
- 尝试从头开始实现Leetcode的FizzBuzz多线程问题。收到"libc++abi.dylib: terminating"错误
- 试图修复一个错误,该错误不会让我开始编程其余部分
- 甚至在开始执行之前出现分段错误
- 为什么 Glib::VariantBase::store 方法破坏了给定缓冲区的开始