C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: C++について


(過去ログ 65 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■37360 / inTopicNo.1)  C++について
  
□投稿者/ ゆい (3回)-(2009/06/18(Thu) 00:11:25)

分類:[C/C++] 

こんばんわ。ゆいです。
先日教えて頂いたソースを必要なものを加えて書いてみたのですが、
意図したように処理がいかずに困っています。
色々調べてみたりもしたのですが、改善できなかったので、皆様のお力添えを頂きたく投稿しました。
よろしくお願い致します。


#include <iostream>
#include <string>

using namespace std;

int main(void)

{
while(true){

cout << "何か文字を入力してね";

string line;
getline(cin, line);

if(line.size() >= 2){
cout << "2バイト以上入力しないでね";
}

else if(line[0]=='y'){
cout << "続けるよ";
}

else if(line[0]=='n'){
cout << "やめるよ";
}

else{
cout << "yかnを入力してね";
}

}

return 0;
}


始めに何か文字を入力してエンターを押しても何も表示されず、
続いてもう1度入力してエンターを押すと、そこで初めて表示がされます。
1度の入力でその内容に見合った表示を出力するには、
どのように直せば良いしょうか。
ご教授お願い致します。
引用返信 編集キー/
■37361 / inTopicNo.2)  Re[1]: C++について
□投稿者/ επιστημη (1987回)-(2009/06/18(Thu) 05:49:57)
επιστημη さんの Web サイト
2009/06/18(Thu) 08:50:37 編集(投稿者)

> 始めに何か文字を入力してエンターを押しても何も表示されず、
> 続いてもう1度入力してエンターを押すと、そこで初めて表示がされます。

その症状、再現できません。
起動すると "何か文字を入力してね" が出力されます。

cout << "何か文字を入力してね" << flush;
するといいかも。

# もちっとマシなタイトルつけてください

引用返信 編集キー/
■37366 / inTopicNo.3)  Re[2]: C++について
□投稿者/ .SHO (892回)-(2009/06/18(Thu) 09:00:37)
どこから実行してますか?
「コマンドプロンプト」で実行しても同じでしょうか?

参考までに、MIFES の「DOSシェルエスケープ」で実行すると
標準入力が MIFES にくわれてしまい、同じ現象になります。
(MIFES のバージョンによる)。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -