これらのフォーラムの内外を検索しましたが、まだ問題が発生しています。私の C の理解はまだ非常に基本的なものです。ユーザーが入力した3つの数値を取り、最高値を計算する小さなプログラムを作成しています。私はそれを釘付けにしました。
ユーザーが整数値のみを入力するようにしたいと思います。指定された数値範囲内 (たとえば、1 から 1000 までの任意の数値) になるまで値を再入力するようにユーザーに促し続けるようにプログラムを設定することができましたが、それだけでは十分ではありません。各値をテストするために 3 つの while ループを使用しましたが、これは入力が整数型である場合にのみ機能します。
トリックは、組み込み関数を使用できないことです。手動で行う必要があります (申し訳ありませんが、言葉の選択が不十分です) char 変数と x = getchar(); を使用しようとしました。ASCII値を取得して条件でテストしますが、ループで動作させることができません。(while/do-while)
また、「for ループ」と配列変数を使用してみましたが、もう一度、ユーザーにプロンプトを表示し続けるのに苦労しています。
また、scanf によって返される値をテストして、その整数が正しいかどうかを確認しようとしましたが、正しい C 構文の知識レベルは level: noob です。ループがループしないか、無限にループします。
サンプルコードは次のとおりです。
int x, y, z =0;
printf("Enter the first number:\n");
scanf("d", &x);
while (condition) /* Here is where I need to determine that the entered val is false */
{
printf("Wrong input. Re-enter a valid value.\n");
x =0;
scanf("%d", &x); /*user re-prompted */
}
ASCII とループを使用する必要があると思いますが、それができません。また、入力された値は、比較のために関数に送信されてから返されます。
誰かが私にアドバイスといくつかのヒントを教えてください。
どうもありがとう