【发布时间】:2012-02-27 09:36:18
【问题描述】:
我想限制以下patient_id 变量可能具有的值(出于安全原因)。以下是我目前拥有的代码,但我很确定这是错误的方法:
void addPatient(){
int patient_id;
printf("Enter ID between 10000 & 99999: ");
do{
scanf("%d", &patient_id);
}while((patient_id<10000)&&(patient_id>99999));
}
【问题讨论】:
-
patient_id<99999应该读作patient_id>99999吗?除此之外,您的解决方案似乎很好,没有办法使用 scanf 限制整数的输入范围。当你请求一个整数时,你甚至不能阻止输入一个字符串。 -
您的意思是
while((patient_id>10000)&&(patient_id<99999));吗?否则,第一个条件是多余的,如10000 < 99999。 -
@hmjd 反过来:)
-
我猜错误的事情可能是 lOranger 的建议,也可能是一些提示一次又一次地要求用户输入所需范围内的值。
-
@hmjd - 嗯,是的,等等|| - (患者ID99999)