【发布时间】:2013-11-01 16:08:33
【问题描述】:
为了上学,我写了一个程序来计算带有桥电阻的桥电路的电压和电流。
我的问题是我希望用户以 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]),此代码只会“抛出”“错误”。验证用户输入的最佳方法是什么?
【问题讨论】:
-
具体问题是什么?
-
OP,你有没有测试过这个......就像一次?
-
好的,首先,
scanf返回什么?当用户输入“12.0.12”时会发生什么。支票的价值是多少?
标签: c validation input