質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

2回答

1426閲覧

C++における、switch文内のdefaultがうまく作動しない件について

KeiM

総合スコア8

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2018/04/21 21:34

「Press some key」と指示が表示され、「s」キーを入力した時だけ、Store関数が外部から呼び出され、それ以外のキーが押された時は、「Invalid key」と表示した後、「Press some key」という指示に戻る(3回まで)という処理を行いたいのですが、この「Invalid key」が表示されません。

どなたかおかしな点が分かりますでしょうか?

よろしくお願い致します。

#include <iostream> #include <stdlib.h> using namespace std; void Store(); int main() { for (int times = 0; times < 4; times++){ system("clear"); char Presssomekey; cout << "Press some key." << endl; cout << "s-Store" << endl; cin >> Presssomekey; if (Presssomekey == 's') {Presssomekey = 1;} switch (Presssomekey) { case 1: {Store();}; break; default: cout << "invalid key" << endl;} continue;} cout << "Game finished." << endl; return 0; }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

質問者さんのソースコードをコピペして実行したところ、
以下のような処理になっているように見えました。
そのため、「Invalid key」が表示されないように見えるのではないでしょうか。
4回目の入力でfor文を抜けた時には
「Invalid key」が表示されていると思いますが、いかがでしょう。

"s"以外が入力される

「Invalid key」を表示

for文の先頭に戻ってsystem("clear");を実行

「Invalid key」が消える

投稿2018/04/21 23:58

miyatoshi24

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんにちは。

詳細不明ですが、取り敢えずwandboxでやってみるとInvalid keyは表示されるようです。

ところで、インデントを適切に付けましょう。
インデントの付け方は色々ありますが、破綻したインデントはプログラム構造が見えなくなるので非常に嫌われますよ。
例えば、ご提示のプログラムでswicthのcaseとcontiueのインデントが同じであるのは恐らくほぼ全ての人がNGというと思います。

投稿2018/04/22 07:10

編集2018/04/22 07:12
Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問