学校では、ブリッジ抵抗を持つブリッジ回路の電圧と電流を計算するプログラムを書きました。
私の問題は、ユーザーがすべての抵抗を CSV (R1、R2、R3...) として入力することです。ユーザー入力を検証して、浮動小数点数または整数のみが入力されているかどうかを確認したいと考えています。
入力が有効でない場合にユーザーに値の再入力を強制するために、検証用にこの do-while ループを作成しました。
int check = 1;
do{
if(check == 0){
check = 1;
puts("Re-Enter as the following: R1, R2, R3, R4, Rab");
}//endif
check = scanf("%f, %f, %f, %f, %f", &fR1, &fR2, &fR3, &fR4, &fRab);
fflush(stdin);
}while(check == 0);
check = 1;
編集
このコードは、ユーザーが文字または間違った数の引数を入力した場合 (例: 12、12、[ENTER])、単に「エラー」を「スロー」します。ユーザー入力を検証する最良の方法は何ですか?