確定我已經在這幾個小時....爲什麼我的C++程序打印一個額外的換行符?
//after a character is entered, library routines are used to uppercase the
letters. loops the program until "1" is entered
char letter;
while (letter != '1')
{
cout << "Enter a letter: ";
cin.get(letter);
cout << char(toupper(letter)) << '\n';
}
一切的作品,但它COUTS「輸入一個字母:」兩次......
這裏是一個示例輸出
Enter a letter: h
H
Enter a letter:
Enter a letter: k
K
Enter a letter:
Enter a letter: a
A
我希望它看起來像這樣
Enter a letter: h
H
Enter a letter: k
K
Enter a letter: a
A
你能幫助解釋爲什麼它是這樣做的......
首先嚐試使用<< endl代替<<'\ n',這將消除任何緩衝問題 –
也爲什麼cin.get而不是cin >>? –
第一個字母是你打字,第二個是打印出你的程序。不是嗎?如果你想讓輸入「不可見」,你可能需要使用像[ncurses]這樣的包(http://cboard.cprogramming.com/linux-programming/80662-ncurses-cplusplus-tutorial-documentation.html)。 – paulsm4