如何让C++程序输出结果后跳回cout输入环节实现循环重启
C++ 循环执行逻辑实现方案
实现思路
你需要的重复执行逻辑可以通过do-while循环实现:该循环会先执行一次完整的输入、计算流程,再判断用户输入的重启指令,完全匹配你的需求场景。
完整修改后代码
#include <iostream> #include <cctype> // 用于tolower函数实现不区分大小写判断 class myClass { private: int var[3]; public: void input() { std::cout << "Please enter a number " << std::endl; std::cin >> var[0]; std::cout << "Please enter a range " << std::endl; std::cin >> var[1]; } void calc() { for (var[2] = 1; var[2] <= var[1]; var[2]++) std::cout << var[2] * var[1] << std::endl; } }; int main() { char response; do { myClass MyObj; MyObj.input(); MyObj.calc(); // 询问是否重启 std::cout << "是否要重新开始?(y/n)" << std::endl; std::cin >> response; } while (tolower(response) == 'y'); // 输入y/Y都可以触发重启 system("pause"); return 0; }
关键修改说明
- 把原来单次执行的对象创建、输入、计算逻辑封装到
do代码块中,保证首次运行必然执行 - 计算完成后新增重启提示逻辑,读取用户输入的响应字符
while判断条件使用tolower兼容大小写输入,只要用户输入y/Y就会回到循环开头重新执行,输入其他字符就会退出循环结束程序- 原类中未使用的
response成员变量已移除,改到main函数作为局部变量使用,逻辑更合理
内容的提问来源于stack exchange,提问作者AnonCoder
相关产品推荐
相关产品推荐

