函数原型困难
Function prototype difficulties
我很难让程序正常工作。对于我遇到困难的项目部分,我需要创建一个函数来验证用户输入的两个不同的数字。然而,每当我运行程序时,我都会出现两个错误
一个是当我输入0(尽管我没有)时,首先读取输入
第二个是它处理它通过第二个输入验证测试运行第一个输入
功能原型:
int validate(int , int);
Main:
do
{
//display the menu
displayMenu();
cin >> choice;
validate(choice, months);
// process the user's choice
if (choice != QUIT_CHOICE)
{
// get the number of months
cout << over3 << "For how many months? ";
cin >> months;
validate(choice, months);
}
有问题的功能原型:
int validate(int choice, int months)
{
while (choice < 1 || choice > 4)
{
cout << over3 << choice << " is not between 1 and 4! Try again: ";
cin >> choice;
}
while (months < 1 || months > 12)
{
cout << over3 << months << " is not between 1 and 12! Try again: ";
cin >> months;
}
}
由于两者都是独立的,因此您需要将分离为两个函数:validateChoice
,它由第一个while循环组成,validateMonths
,它由第二个while环路组成。
如果你想要单个函数本身,你需要通过适当的参数
int validate(int value, int lowLimit, int HighLimit)
{
while(value < lowLimit || value > HighLimit)
{
//print error message here
cin>> value;
}
return value;
}
总的来说,做
cin >> choice;
choice = validate(choice, 1, 4);
与CCD_ 3类似。
您还没有展示如何(如果有的话)在do
循环之前初始化choice
和months
,但我猜您还没有。因此这里:
cin >> choice;
validate(choice, months);
您正在将一个未初始化的值作为第二个参数传递给validate
。未初始化的值可以是任何值;在你的情况下,它似乎是零。
相关文章:
- 函数向量_指针有不同的原型,我可以构建一个吗
- 具有enable_if外部类原型的模板类构造函数定义
- 函数如何通知用户它基于函数原型抛出异常?
- 在函数中拥有函数原型的目的是什么?
- 什么..(省略号)作为函数原型中唯一的函数参数,C++?
- 是否可以使用 libclang python 解析 cpp 文件中没有标头的函数原型
- 有没有办法在C++编译时更改函数原型?
- 省略函数原型中的返回类型
- 如何使用 "using" 关键字定义函数原型/签名
- 未定义原型函数?
- SFINAE :删除具有相同原型的函数
- 函数原型未初始化的局部变量
- 如何创建函数原型命名空间
- 如何使用这个原型函数char*encrypt(char*pEncryptedText,const char*pText)
- C++:警告:C4930:未调用原型函数(是否为变量定义?)
- 编写原型函数(c++)
- 我有在c++编程中创建和执行原型函数的麻烦
- 需要为原型函数创建一个单独的cpp文件
- 用Emacs从.h中自动插入原型函数
- 如何修复错误 C4930:"AMyStaticMeshActor a(void)":未调用原型函数(是否打算使用变量定义?