我是C ++的新手,并且遇到了io问题。输出省略了帐号:accountNumber,我不明白为什么。
这是我的显示功能。
void displayColumnTitle()
{
int accountNumber, balanceDue;
string name;
cout << "Enter Account Number(-1 to terminate the input):" << endl;
cin >> accountNumber;
cout << "Enter name: ";
cin >> name;
cout << "Enter balance due:" << endl;
cin >> balanceDue;
cout << "Account Number: " + accountNumber << endl
<< "Name: " + name << endl << "MONTH BALANCE DUE" << endl;
}
答案 0 :(得分:1)
"Account Number: " + accountNumber
不会将accountNumber
连接到字符串。而是执行指针算术运算。如果accountNumber
为10
,
"Account Number: " + accountNumber
相当于
"mber: "
我敢打赌,这不是你所期望的。
而不是
cout << "Account Number: " + accountNumber << endl
<< "Name: " + name << endl << "MONTH BALANCE DUE" << endl;
使用
// ||
// vv Use << not +
cout << "Account Number: " << accountNumber << endl
<< "Name: " << name << endl << "MONTH BALANCE DUE" << endl;
// ^^ Use << not +
// ||
答案 1 :(得分:0)
从您的代码中可以确定 accountNumber 和 balanceDue 属于整数类型。 因此,在连接(使用两个字符串之间的+运算符)带字符串的整数之前,需要将整数转换为字符串,这可以完成,
cout << "Account Number: " + std::to_string(accountNumber) << endl <<
"Name: " + name << endl << "MONTH BALANCE DUE" + std::to_string(balanceDue) << endl;
但我们还有其他解决方案,如#Sa; R Sahu&#34;。