私はユーザーからの入力を取得しようとしていて、s /彼が 'n'を押すまで出力します。それは動作していないようです。 scanfやcin.getの問題ですか?私がyを押すと、入力として "tekrar"が取られ、 "y"が出力として与えられ、ループに入ります。また、tekrar入力としてnを与えると停止しません。whileループでcin.get
char cevap[300]="";
char tekrar='y';
while (tekrar!='n')
{
cin.get(cevap,300);
cout<<cevap<<endl;
cout<<"Again? (y/n)";
scanf("%c",&tekrar);
}
出力:代わりのscanfの、標準入力から読み取るため
Hello
Again? (y/n)
y
Again? (y/n)
y
Again? (y/n)
n
Again? (y/n)
n
...
デバッガを接続すると、 'cevap'と' tekrar'の内容を見ることができます。あるいは、プログラムの実行中に簡単に値を見ることができるように、単にcout文を追加することもできます。それはcevapまたはtekrarが正しく更新されていないかどうかを伝えます。 – Tim
<<とscanfを混在させると問題が発生する –