2016-03-08 40 views
0
#include <iostream> 

using namespace std; 

void main(int argc, char* argv[]) 
{ 
    int conversion, hash; 

    cout << "Select one." << endl; 
    cout << "0: Radix Method 32" << endl; 
    cout << "1: Radix Method 64" << endl; 
    cout << "2: SumUp" << endl; 
    cin >> conversion; 

    cout << endl << "Select one." << endl; 
    cout << "0: Division" << endl; 
    cout << "1: Multiplication" << endl; 
    cin >> hash; 

    cout << "Conversion: " + conversion << endl; 
    cout << "hash: " + hash << endl; 
} 

就像这样简单,我越来越狂放的输出。我觉得这很明显,但我太累了,看不到它。我输入变量的数字是从下一个输出字符串中移除的字符数。例如:cin正在吃输出流

Select one. 
0: Radix Method 32 
1: Radix Method 64 
2: SumUp 
1 

Select one. 
0: Division 
1: Multiplication 
2 
onversion: 
sh: 
Press any key to continue . . . 

Select one. 
0: Radix Method 32 
1: Radix Method 64 
2: SumUp 
5 

Select one. 
0: Division 
1: Multiplication 
1 
rsion: 
ash: 
Press any key to continue . . . 

我疯了还是这样做没有意义?我是否使用cin错误?我有几个月没有使用C++,但是我看不出有什么问题。

+0

'无效的主要(INT ARGC,CHAR *的argv [])'在全局范围内是无效的在C++中。将其返回值的类型更改为“int”。 – MikeCAT

+1

“转换”+转换? – ZDF

+0

你不是疯了,它是有道理的。 – MikeCAT

回答

2

cout << "Conversion: " + conversion表示从阵列的头部之后的conversion元件打印。

你可能想这(改变+<<):

cout << "Conversion: " << conversion << endl; 
cout << "hash: " << hash << endl; 
+0

啊。很高兴知道。这实际上可能在某个时候派上用场。感谢你放纵我的睡眠剥夺愚蠢。 – Zarthias