为什么我没有得到正确的输出?

时间:2016-09-06 03:45:17

标签: c++ io

我是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;
}

2 个答案:

答案 0 :(得分:1)

"Account Number: " + accountNumber

不会将accountNumber连接到字符串。而是执行指针算术运算。如果accountNumber10

"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;。

相关问题