2015-01-31 31 views
0

实施例:现在C++阅读空间>>同时接受整数

int main() { 
    int areacode, phone; 
    cout << "please enter area code and phone #: " << endl; 
    cin>> areacode, phone; 
    cout<<"you entered ("<<areacode<<") "<< phone<< endl; 
    return 0; 
} 

,所需的输出是所输入:(416)666-1111。此外,区号和电话号码必须单独验证,即#define minAreacode 100 maxAreacode 999等,因此电话#不能被视为字符串。

回答

0
cin>> areacode, phone; 
      //^

您是逗号操作让你的代码编译的受害者,而这绝对是你想要的东西没有做。 areacode的右侧仅被std::istream& operator>>(std::istream&, const std::string&)运算符忽略。

你可能想要写

cin >> areacode >> phone; 
+0

虽然你可能是正确的,他的意思是做什么......'std :: cin >> areacode,phone'是'(std :: cin >> areacode),phone',所以他仍然会阅读'areacode'。 (我不清楚输入的内容应该是什么样的;他很可能需要将它作为字符串读取,然后解析字符串以提取值,当然,无论他需要做什么,他必须在验证它正常工作之后才能使用输入。) – 2015-01-31 18:55:10

1

而不是

cin >> areacode, phone; 

您的代码应阅读

cin >> areacode >> phone; 
+0

谢谢大家! – 2015-01-31 18:28:35