
皆様の知恵を貸してください!!
素数判定問題で、
「入力値が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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
数字以外が入力されたらエラー文を出したい。
C言語・C++・C#
-
C言語 数字以外を入力させない方法 教えてください
C言語・C++・C#
-
scanfに文字が入力されたときにエラー表示させる
C言語・C++・C#
-
4
入力エラーの処理について。
C言語・C++・C#
-
5
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
6
C++で入力した文字列から数字を取り除くもしくは数字のみをのこす
C言語・C++・C#
-
7
char str[256]の256の意味は?
C言語・C++・C#
-
8
入力チェックのプログラム
C言語・C++・C#
-
9
関数から配列を返すには?
C言語・C++・C#
-
10
fgetsなどのときのstdinのバッファを消すには?
C言語・C++・C#
-
11
数字以外の入力をエラーにするには?
Visual Basic(VBA)
-
12
python エラー
その他(プログラミング・Web制作)
-
13
fgets( ) の返り値は何?
C言語・C++・C#
-
14
charでの計算?
C言語・C++・C#
-
15
ファイル出力で改行を入れたい!
C言語・C++・C#
-
16
getchar()の意味・・・
C言語・C++・C#
-
17
define で 配列
C言語・C++・C#
-
18
4桁の数字以外を入力したらエラーを表示したいです
C言語・C++・C#
-
19
課題でつまってます・・・
C言語・C++・C#
-
20
C言語初心者の質問失礼します。
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
*をユーザーが入力した数字の数...
-
5
数字以外が入力されたらエラー...
-
6
プログラムC言語の整数の約数に...
-
7
入力する数字のサイズ制限について
-
8
4桁の数字以外を入力したらエラ...
-
9
エクセル¥マクロで対話形式の...
-
10
java初心者です。入力されたの...
-
11
cout関数を使っているのですが...
-
12
VB.NETで16進数+16進数や16進...
-
13
Linuxで入力待ちなしkeyread関...
-
14
ワードで文字を入力する時の変...
-
15
数値の連続入力終了条件について
-
16
Java 6人分の得点を入力し、平...
-
17
Linuxプログラミングで、キーボ...
-
18
標準入力から文字列配列に格納
-
19
C言語
-
20
IF文で戻ることはできますか?...
おすすめ情報
公式facebook
公式twitter