皆様の知恵を貸してください!!
素数判定問題で、
「入力値が1以下、かつ数字以外の文字の場合、その旨
エラーメッセージとして表示&再入力させる」
という要求事項があるのですが…
/* キーボードからの入力を受け付ける */
scanf("%d", &number);
/**== 入力値をチェック ==**/
/* 入力値が1以下の場合、再入力を促す */
while(number <= 1)
{
printf("2以上の数を入力してください。\n");
}
/* 入力値が数字以外の文字の場合、再入力を促す */
while(★)
{
printf("数字を入力してください。\n");
}
上記ソースの★のところになんと入れて良いかわかりません!!
課題の提出が明日なので…。
大至急、教えてください。よろしくお願いします!
No.3ベストアンサー
- 回答日時:
#1の方の意見に賛成です。
それと、このソースは根本的に間違えています。
このままでは、無限ループになってしまいます。
書き換えると。。。
/* 目的の値が入力されるまで繰り返す */
while(1)
{
/* キーボードからの入力を受け付け */
scanf(XXX, YYYYYY);
/**== 入力値をチェック ==**/
if(数字であるか判定する条件)
{
if(2以上であるか判定する条件)
{
/* 入力値が1以下の場合のメッセージを表示 */
printf("2以上の数を入力してください。\n");
}
else
{
break;
}
}
else
{
/* 入力値が数字以外の文字の場合のメッセージを表示 */
printf("数字を入力してください。\n");
}
}
Aquarius172さん、回答ありがとうございます。
そうですよね、おかしいコードですよね。
投稿してから、あっ!と思いました・・・。
No.4
- 回答日時:
while文よりもdo while文の方が適してないですか?
まぁそれはおいておいて、scanfの返値を利用すれば数値以外が入力されたかどうか判定できますよ
この回答への補足
Bonjinさん、回答ありがとうございます。
do while文は使わないこと、という条件が
ありまして・・・。
scanfの返値を利用するとは・・・。
初心者名なものですみません。
詳しい説明をおねがいできますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- Excel(エクセル) エクセルのマイナス表示 3 2022/03/28 16:35
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- Excel(エクセル) Excel2019のデータ入力に便利な関数について 4 2023/07/06 05:42
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
「出身中学と出身高校が混ざったような校舎にいる夢を見る」「まぶたがピクピクしてるので鏡で確認しようとしたらピクピクが止まってしまう」など、 これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
-
【選手権お題その2】この漫画の2コマ目を考えてください
サッカーのワンシーンを切り取った1コマ目。果たして2コマ目にはどんな展開になるのか教えてください。
-
数字以外が入力されたらエラー文を出したい。
C言語・C++・C#
-
0除算して、落ちるプログラムと落ちないプログラム
C言語・C++・C#
-
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
-
4
scanfに文字が入力されたときにエラー表示させる
C言語・C++・C#
-
5
C言語 数字以外を入力させない方法 教えてください
C言語・C++・C#
-
6
c言語
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正負を反転させて出力するプロ...
-
小数か整数かを判定する方法
-
ループ中でのscanfおよびcin
-
cout関数を使っているのですが...
-
Linuxで入力待ちなしkeyread関...
-
C言語 スロットみたいにするや...
-
Eclipseでコマンドラインを入力...
-
プログラミングの問題で、キー...
-
Date関数で書いた日付がおかしい
-
Linuxプログラミングで、キーボ...
-
入力する数字のサイズ制限について
-
C言語の勉強しています。すみま...
-
C++ scanfで止まらない
-
"gets"は危険なのでしょうか?
-
プログラムC言語の整数の約数に...
-
fgetsとループ処理
-
C言語でscanfが認識されません
-
java初心者です。入力されたの...
-
信頼区間の1.96や1.65ってどこ...
-
2÷3などの余りについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミング初心者です。 Py...
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
*をユーザーが入力した数字の数...
-
"scanf"でエンターで改行させな...
-
コマンドプロンプトからのEOFの...
-
java初心者です。入力されたの...
-
Excel VBAで、Application.Inpu...
-
Eclipseコンソール表示を、リセ...
-
cout関数を使っているのですが...
-
scanfが2回使えない・・・?;
-
EDITコントロールで入力できる...
-
batプログラム上で文字列を入力...
-
C言語について
-
入力候補を表示させるには・・・?
-
プログラミングの問題です 「金...
-
4桁の数字以外を入力したらエラ...
-
C言語でgetchar();が上手く使え...
-
入力値が1以下、かつ数字以外の...
-
UWSCで変数をキー入力
おすすめ情報