void Taiketu_basyo::taiketu()
{
int iti,kougeki; //一時的に必要な「位置」と「攻撃量」の変数
cout << "さあ、あなたの攻撃です。" << '\n';
cout << "攻撃の位置(1~5の数値)を入力してください。" << '\n';
cin >> iti;
cout << "攻撃に使うパワー(100以下の数値)を入力してください。" << '\n';
cin >> kougeki;
cout << '\n';
you.kougeki_suru(kougeki);
if(buu_no_basyo == iti){
buu.kougeki_sareru(kougeki * 2);
}else{
cout << "あなたの攻撃は外れたようです。" << '\n';
}
cout << '\n';
cout << "大魔王の攻撃です。" << '\n';
cout << "(エンターキーを押してください)" << '\n';
cin.sync();
cin.get();
iti = rand() % 5 + 1;
kougeki = rand() % 100 + 1;
buu.kougeki_suru(kougeki);
if(you_no_basyo == iti){
you.kougeki_sareru(kougeki * 2);
}else{
cout << "大魔王ブウの攻撃は外れたようです。" << '\n';
}
}
int main()
{
Taiketu_basyo dokoka; //対決場所dokokaの生成
//ここでコンストラクタが働きヒーローと大魔王の位置が決められる
dokoka.taiketu(); //dokokaの対決
このプログラムなんですが
cin.sync();
cin.get();
の部分で「プログラムの進行を一時ストップし、エンターキー(リターンキー)で進行を再開する」としたんですがプログラムを動かしてみるとストップしません。
色々考えてみたんですが原因がわからないのでどなたか教えてもらえませんでしょうか?
よろしくお願いします。
言語はC++でやってます。
No.1ベストアンサー
- 回答日時:
よくわかりませんが
やってみたら回避できたのでサンプルを。
#include <iostream>
void main()
{
int num;
std::cin >> num;
std::cin.get();//これがないと突き抜けますよ
printf( "a" );
std::cin.sync();
std::cin.get();
printf( "b" );
}
要は、前に入力した内容が
文字列+改行
となっていて、
前回入力時の改行のみ次のget()で拾っている。
と、思います。
他にもっと方法があると思いますが
これでとりあえずは回避できるかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- 政治 ロシアは対空ミサイルを地上攻撃に流用しています。日本もそうするべきですよね? 2 2023/02/23 21:18
- Java プログラミングの問題です。大至急です。 『RPGゲームで魔王を倒します。魔王のHPはhです。戦闘はタ 1 2023/02/01 10:48
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- 歴史学 堤未果さんはアメリカは真珠湾攻撃を前もって知っていたと主張しています。 7 2022/08/28 22:03
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- ハッキング・フィッシング詐欺 【Evil Corp(エビルコープ)】ロシアはウクライナ侵攻前に決済システムを破壊、電 1 2023/05/30 00:25
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数字以外が入力されたらエラー...
-
小数か整数かを判定する方法
-
*をユーザーが入力した数字の数...
-
java初心者です。入力されたの...
-
プログラミング初心者です。 Py...
-
正負を反転させて出力するプロ...
-
java 入力された文字列を数値に...
-
"scanf"でエンターで改行させな...
-
4桁の数字以外を入力したらエラ...
-
プログラムの進行が一時ストッ...
-
cout関数を使っているのですが...
-
javaで入力を促すメッセージの...
-
C言語について
-
scanf()の順番
-
scanfの入力をgets関数で読み捨...
-
コンボボックスで日本語入力を...
-
特定の文字が入力されるまで・・・
-
gets_sがうまく動かない
-
入力値が1以下、かつ数字以外の...
-
【C言語】入力された文字種別ご...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
数字以外が入力されたらエラー...
-
正負を反転させて出力するプロ...
-
プログラミング初心者です。 Py...
-
java初心者です。入力されたの...
-
Eclipseコンソール表示を、リセ...
-
scanfが2回使えない・・・?;
-
C言語 逆ピラミッドの作り方
-
double型が正常に認識されてい...
-
ワードで文字を入力する時の変...
-
コマンドプロンプトからのEOFの...
-
Linuxで入力待ちなしkeyread関...
-
scanf が無視されます
-
if文の条件にscanf関数を使うと…?
-
C言語について
-
cout関数を使っているのですが...
-
enterでループ終了
-
"scanf"でエンターで改行させな...
-
C言語でgetchar();が上手く使え...
-
C言語scanf_sで何故か2回入力に...
おすすめ情報