c++中返回NaN的函数
Function returning NaN in C++
我正在创建一个c++软件循环一个函数(双)无限期。在第一次循环之后,第二次运行时,它返回'nan'。我哪里做错了。
int main()
{
double Balance = 100;
for (int i = 0; i < 5; i++) {
nyaradzo(Balance, i);
}
}
double nyaradzo(double bal, int pass)
{
int x = bal;
double Amount;
string policy_number;
double confirmation;
cout<<"WELCOME TO NYARADZO ONLINE POLICY PAYMENT"<<endl;
cout<<"ENTER YOUR POLICY NUMBER"<<endl;
cin>>policy_number;
cout<<"ENTER AMOUNT YOU WISH TO PAY FOR YOU POLICY"<<endl;
cin>>Amount;
cout<<"YOUR POLICY NUMBER IS: "<<policy_number<<endl;
cout<<"YOU HAVE CHOSEN TO PAY $"<<Amount<<" FOR YOUR FUNERAL POLICY. n Is this information correct?"<<endl;
cout<<"1 TO CONFIRM"<<endl;
cout<<"2 TO CANCEL"<<endl;
cin>>confirmation;
if (confirmation==1) {
if (Amount <= x) {
x -= Amount;
cout<<"Transaction Complete"<<endl;
cout<<"YOUR BALANCE IS $"<<x<<endl;
return x;
}
else if (Amount > x) {
cout<<"TRANSACTION DENIED a"<<endl;
cout<<"You cannot withdraw more than your actual balance..."<<endl;
return 0;
}
else {
cout <<x << endl;
cout<<"TRANSACTION DENIED a"<<endl;
cout<<"Your purchase must be greater than or at least equal to $1"<<endl;
return 0;
}
}
else if (confirmation==2) {
cout<<"YOU HAVE CHOSEN TO CANCEL YOUR ZESA TRANSACTION"<<endl;
// transaction(bal, pass);
}
else
{
cout << "Invalid selection" << endl;
return 0;
}
}
第二次循环时,它失败了。
并非nyaradzo
中的所有路径都返回值。您应该启用所有编译器警告。它应该提醒你这一点。由于x = bal
和您只在数量ok时修改x,因此将此添加为函数的最后一行:
return x;
将x
的类型改为double
。或者去掉x
,使用bal
。
而且,我认为你想保持一个运行平衡。然后应该将for循环更改为:
for (int i = 0; i < 5; i++) {
Balance = nyaradzo(Balance, i);
}
相关文章:
- "error: no matching function for call to"构造函数错误
- 什么时候调用组成单元对象的析构函数
- 继承函数的重载解析
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- C++模板来检查友元函数的存在
- 递归函数计算序列中的平方和(并输出过程)
- 对RValue对象调用的LValue ref限定成员函数
- C++17复制构造函数,在std::unordereded_map上进行深度复制
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- nan() 函数的参数
- 调用某个回调函数两次会导致分段错误:Nan
- node.js Nan:在函数C++调用 JavaScript 回调
- 使用SIN和COS函数迭代时,NAN会导致
- 在使用NAN的Node.js的C++模块中未调用SetAccessor函数
- 为什么pow函数给我nan作为答案
- c++中返回NaN的函数
- 函数一直返回NaN
- 如何检查一个对象是否是Nan 2中的构造函数的实例?
- 为什么我的函数开始返回nan
- 无法从 MSVCRT strtod/sscanf/atof 函数获取 NaN