c语言程序,判断数据

怎么加一段代码,让用户输入的数据,然后进行判断。判断改数据是数字就执行下一步,不是数字(即为字符或者字母)就进行循环,要求用户重新输入printf("请输入操作代码");... 怎么加一段代码,让用户输入的数据,然后进行判断。
判断改数据是数字就执行下一步,不是数字(即为字符或者字母)就进行循环,要求用户重新输入
printf("请输入操作代码 ");
scanf("%d",&a[0]);
while (a[0]>=1||a[0]<= 4)
{

{
while (a[0]<1||a[0]> 4)
{
printf("输入的是错误操作代码\n");
printf("请重新输入操作代码 ");

加在这里面
scanf("%d",&a[0]);
}
展开
 我来答
wangluofan
2011-09-25 · TA获得超过888个赞
知道小有建树答主
回答量:1139
采纳率:0%
帮助的人:639万
展开全部
这个很简单,楼主可以用ctype.h里面的isnumeric(ch)函数来判定,ctype.h里面还有很多函数,比如说isalpha是判定一个字符是否是字母,isspace判定一个字符是否空格等,楼主也可以用ASCii码来判定,比如说0的ASCii码是48,就可以判断一个字符的ASCii码是否在0<=ch-48<=9之间,是的话就是数字了。。。
更多追问追答
追问
你写出来
追答
下面不是有人写出来了吗?这个很简单的,他们写的都没问题,我说的两种方法,他们都写出来了。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
311800c
2011-09-25 · 超过26用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:23.6万
展开全部
我做成函数吧。。。 别忘加头文件#include<iostream> 和 using namespace std;
void panduan(int a)
{

while(!((a>=0)&&(a<=9)))
{
printf("请输入数据:\n");
cin>>a;
}
printf("校验通过");

}
直接在你要加的地方 加入panduan(a[0])
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
10伯乐01
2011-09-25 · TA获得超过501个赞
知道小有建树答主
回答量:95
采纳率:0%
帮助的人:102万
展开全部
OK,您要实现的就是怎么判断输入是不是数字是吧。有一个函数可以实现:
isdigit(const char i) 判断参数 i 是否为0~9之间的数字字符,

不知道是不是您要功能。
更多追问追答
追问
怎么加在写的补充的问题里面
追答
要求输入类型是字符型。头文件要加#include 哦
printf("请输入操作代码 ");
scanf("%c",&a[0]); //a[0]是字符类型
while ( isdigit(a[0]) == 0)
{
printf("输入的是错误操作代码\n");
printf("请重新输入操作代码 ");
scanf("%c",&a[0]);
}

这样可以吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qicaiwuya
2011-09-25 · TA获得超过4212个赞
知道小有建树答主
回答量:1462
采纳率:100%
帮助的人:1215万
展开全部
用一个for循环,for(i=0;isdigit(ch=getchar())!=0;i++) 头文件加#include<ctype.h>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1fc36d4
2011-09-25 · TA获得超过3129个赞
知道大有可为答主
回答量:1497
采纳率:100%
帮助的人:1824万
展开全部
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int c;
do
{
printf("please input a digital:\n");
c=getch();
}while(!(c>='0'&&c<='9'));
printf("correct");
system("pause");
return 0;
}
追问
怎么加在我补充的问题里面
追答
按照你需要的,你的程序基本可以了啊
#include
#include

int main(void) {
int a[10];
printf("请输入操作代码 ");
scanf("%d", &a[0]);
while (a[0] 4) {
printf("输入的是错误操作代码\n");
printf("请重新输入操作代码 ");

scanf("%d", &a[0]);
}
printf("Ok,a[0]=%d\n",a[0]);
system("pause");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式