c++ - 我如何让程序跳回输入(cout)
问题描述
有人可以帮我跳回到程序的开头(cout)。预期的结果应该是:打印结果 --> 你想重新开始吗?(是/否)。如果 answer = y 则转到开始,如果 answer = n 则关闭程序。
这是代码:
#include <iostream>
#include <string>
class myClass {
private:
int var[3];
char response;
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() {
myClass MyObj;
MyObj.input();
MyObj.calc();
system("pause");
return 0;
}
解决方案
嗨,伙计,您可以使用这样的 while 循环将您的 input() 和 calc 函数括起来:
char flag = 'y';
while (flag != 'n') {
MyObj.input();
MyObj.calc();
std::cout << "Do you want to start again ? (y / n)";
std::cin >> flag;
}
我认为这对你有用
推荐阅读
- java - (Android) 以编程方式创建的 ImageView 不会添加到 LinearLayout
- sql - Entity Framework Core:生成的 SQL 不起作用
- java - 最佳实践:如何为 spring jpa 项目实现插件?
- html - 在呈现的 pandoc 输出中忽略特定 MD 文件的问题
- mysql - 如何找到最想要的 3 个滑水板,按报价数量降序排列;
- c# - 从 .NET 6.0.0-preview.3.21201.13 升级到 6.0.0-preview.4.21253.5,app.UseBlazorFrameworkFiles();导致错误
- mongodb - 如何优化我编写的查询以查找用户以及使用聚合的最后一个订单详细信息,它显示我超时,因为数据集很大
- java-9 - Java 作为 Windows 服务与 Apache Procrun 和 --add-module --add-opens --add-exports
- snowflake-cloud-data-platform - 以 Parquet 格式将 Snowflake 表数据卸载到 S3
- java - 如果字段输入为空,则 TableColumn 停止 EditCommit