在 GetTransfer 之后,我在帐户 1 收到未分配变量错误。我无法弄清楚我搞砸了什么逻辑错误
I'm getting a unassigned variable error at the account1 after the GetTransfer. I can not figure out what logic error i have messed up on
在代码的GetTransfer部分之后获取未分配的变量错误。它声称account1是未分配的变量,但从我所看到的情况来看,我已经声明了它。我已经尝试过多次纠正它,我只是能弄清楚。
#include <iostream>
#include <conio.h>
using namespace std;
// Chance Pinkerton
// December 3, 2013
// CaseProject2Chapter3
struct bankInfo
{
int accountNum;
double startBal;
double endBal;
};
int main()
{
bankInfo account1;
bankInfo account2;
double transferAmt;
int GetAccount1();
int GetAccount2();
double GetBal1();
double GetBal2();
double GetTransfer();
account1.accountNum = GetAccount1();
while (account1.accountNum < 1000 || account1.accountNum > 9999)
{
cout << "Error. That account does not exsist." << endl;
account1.accountNum = GetAccount1();
}
GetBal1();
account2.accountNum = GetAccount2();
while (account2.accountNum < 1000 || account2.accountNum > 9999)
{
cout << "Error. That account number doesnt exsist." << endl;
account2.accountNum = GetAccount2();
}
if (account2.accountNum == account1.accountNum)
{
cout << "Error. Account numbers can not be the same " << endl;
account2.accountNum = GetAccount2();
}
GetBal2();
transferAmt = GetTransfer();
account1.accountNum = (account1.accountNum % 5) + (account1.accountNum * 10);
account2.accountNum = (account2.accountNum % 5) + (account2.accountNum * 10);
account1.endBal;
account2.endBal;
while (account1.endBal < 0)
{
cout << "Error. Account balance can not be negative." << endl;
GetTransfer();
if (account1.endBal < 10)
{
cout << "Warning. Account balance will be below $10.00 " << endl;
}
}
account1.endBal = account1.startBal - transferAmt;
account2.endBal = account2.startBal + transferAmt;
cout << "Account number 1: " << account1.accountNum << endl;
cout << "Starting balance: " << account1.startBal << endl;
cout << "Ending balance: " << account1.endBal << endl;
cout << "Account number 2: " << account2.accountNum << endl;
cout << "Starting balance: " << account2.startBal << endl;
cout << "Ending balance: " << account2.endBal << endl;
getch();
return 0;
}
int GetAccount1()
{
int accountNum;
cout << "Please enter your account number " << endl;
cin >> accountNum;
return accountNum;
}
int GetAccount2()
{
int accountNum;
cout << "Please enter the second account number " << endl;
cin >> accountNum;
return accountNum;
}
double GetBal1()
{
double startBal;
cout << "Enter your account balance " << endl;
cin >> startBal;
return startBal;
}
double GetBal2()
{
double startBal;
cout << "Enter the second account balance " << endl;
cin >> startBal;
return startBal;
}
double GetTransfer()
{
double transferAmt;
cout << "How much would you like to transfer to the second account " << endl;
cin >> transferAmt;
return transferAmt;
}
这两条语句完全没有任何作用,很可能是编译器向您发出警告的来源:
account1.endBal;
account2.endBal;
此外,我认为您需要在这里实际捕获GetTransfer()
的返回值,也许是transferAmt
:
GetTransfer();
您可能需要重新思考整个while
循环,特别是考虑到transferAmt
与account1.endBal
:的关系
while (account1.endBal < 0)
{
cout << "Error. Account balance can not be negative." << endl;
GetTransfer();
if (account1.endBal < 10)
{
cout << "Warning. Account balance will be below $10.00 " << endl;
}
}
例如,在您知道传输将成功之前,您不希望更新endBal
。此外,你的低平衡警告放错了地方。
相关文章:
- 写一个分数类,我无法弄清楚这些错误
- 分段错误(核心转储)但无法弄清楚
- 任何人都可以弄清楚这段代码如何显示运行错误?它打印无限时间 -1 以及正确答案
- 我无法弄清楚"对Winmain@16错误的未定义引用"
- 我的程序不断抛出编译错误,我无法弄清楚为什么会发生错误
- 无法弄清楚错误来自哪里(调试器说分段错误)
- 无法弄清楚此错误的含义
- 我在用c ++编程时一直遇到LNK2005错误,我似乎无法弄清楚问题是什么
- 我无法弄清楚我的程序的问题,即使我已经查看了错误日志消息
- C 向量下标超出范围,没有逻辑错误,无法弄清楚
- 运行时检查失败#2 - 变量周围的堆栈'myArray'已损坏.- 似乎无法弄清楚如何删除此错误
- 我无法弄清楚此访问冲突错误.有人可以在这里帮助我吗?
- 一直试图调试此加密算法.无法弄清楚什么是错误
- 链接错误:无法弄清楚如何将数组作为函数参数传递/接收
- 在 GetTransfer 之后,我在帐户 1 收到未分配变量错误。我无法弄清楚我搞砸了什么逻辑错误
- C++ 简单的指针错误无法弄清楚为什么?
- 我一直收到错误LNK2019,似乎无法弄清楚如何解决它
- 无法弄清楚为什么我的程序在 spoj 上给出运行时错误而不是在 ideone 上给出运行时错误的原因
- 我怎样才能弄清楚这个分段错误发生的位置和原因
- C ++中的构建错误,未定义的符号,在这里尝试了其他答案,无法弄清楚