提问人:AlongForTheRide 提问时间:10/12/2023 最后编辑:user12002570AlongForTheRide 更新时间:10/12/2023 访问量:75
在 C++ 中检查多个项目的有效用户输入的好方法是什么?不是 std::cin >> x >> y >> z;,而是在整个程序中输入
What are good ways to check valid user input for multiple items in C++? Not std::cin >> x >> y >> z;, but input throughout the program
问:
我一直在到处寻找这个答案,但我很难找到一个“正确答案”。我希望将来能随身携带一些东西用于基本的控制台程序,重新提示用户,直到他们输入正确的变量类型。这最好是可以在程序的所有部分(主文件、其他 cpp 文件)中使用以防止重复的东西。
我还在学习,所以我看到像“样板代码”这样的词和建议说不要重复自己,这让我很紧张,做一些将来可能会养成坏习惯的事情。话又说回来,我可能只是把事情搞得太复杂了!
这里有一些伪代码来描述我的问题。
#include "RandClass.h"
int main() {
// Random int
/*
**ASK USER INPUT**
**CHECK INPUT FOR INT USING FUNC**
*/
// More random blocks of code
/*
**ASK USER INPUT**
**CHECK INPUT FOR INT USING FUNC**
*/
// So on, so forth
}
// RandClass CPP file
#include "RandClass.h"
void RandClass::randomMutatorFunc() {
/*
**ASK USER INPUT**
**CHECK INPUT FOR INT USING FUNC**
*/
}
我在 Reddit 上四处浏览,在这里,并且非常谨慎地查看其他随机示例。如果有一个函数可以在我的所有课程中使用,而这个函数不被认为是不好的做法,那就太好了。但同样,像抽象/封装这样的东西不断钻进我的脑海,我不想养成坏习惯。
如果您推荐很棒的图书馆,我全都听!
如果这不是一个好问题,我很抱歉,我没有太多运气,而且信息量有时会让人不知所措。
答:
0赞
utnapistim
10/12/2023
#1
这是个好问题。
通常,我是这样进行的:
编写一次代码(在您的情况下,代码将读取一个整数并对其进行验证)。
如果多个位置需要代码,请将代码提取到单独的函数中,放入 CPP 文件,并在头文件中添加声明。
通过在必要时调用函数来重用代码。
评论
.h
.cpp
get_valid_int
int
get_int
is_valid
get_valid_int
get_int
get_valid_int