| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1700 人关注过本帖
标题:[求助]如何判断是否为数字
只看楼主 加入收藏
非凡DZ
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2007-4-6
收藏
 问题点数:0 回复次数:16 
[求助]如何判断是否为数字

这是一个简单的计算器,我想约束用户只能输入数字,即当用户输入键盘上其它非数字按键时,提示必须输入数字,该怎么判断,请高手指点,谢谢

#include<stdio.h>
void main()
{
float num1,num2,result;
char op,ans='y';
do
{
printf("请输入第一个数字:");
fflush(stdin);
scanf("%f",&num1);
printf("\n请输入运算符:");
fflush(stdin);
scanf("%c",&op);
printf("\n请输入第二个数字:");
fflush(stdin);
scanf("%f",&num2);
switch(op)
{
case '+':
result=num1+num2;
break;
case '-':
result=num1-num2;
break;
case '*':
result=num1*num2;
break;
case '/':
if(num2!=0)
{
result=num1/num2;
break;
}
else
{
printf("\n注意:除数不能为零,请重新输入!\n\n");
continue;
}
default:
printf("\n提示:请在+ - * /中做出选择!\n\n");
continue;
}

printf("%5.2f%c%5.2f=%5.2f\n",num1,op,num2,result);
printf("\n是否继续进行计算(Y/N)?\n");
scanf(" %c",&ans);
while(ans!='Y' && ans!='y' && ans!='N' && ans!='n') //提示是否计算后,用户必须在'y'和'n'中进行选择
{
printf("请在Y和N中做出选择!\n");
scanf(" %c",&ans);
}
}while(ans=='Y'||ans=='y');
}

搜索更多相关主题的帖子: 数字 判断 
2007-04-13 15:41
liuminghui
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:2882
专家分:0
注 册:2007-1-26
收藏
得分:0 
Pr5qVW4z.rar (31.06 KB) [求助]如何判断是否为数字



海鸽 is My Lover!!
2007-04-13 15:46
liuminghui
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:2882
专家分:0
注 册:2007-1-26
收藏
得分:0 

不知道你能否打开啊,是C#.net写的


海鸽 is My Lover!!
2007-04-13 15:46
liuminghui
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:2882
专家分:0
注 册:2007-1-26
收藏
得分:0 
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar < '0' || e.KeyChar > '9')
{
e.Handled = true;
}
}

海鸽 is My Lover!!
2007-04-13 15:48
liuminghui
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:2882
专家分:0
注 册:2007-1-26
收藏
得分:0 

海鸽 is My Lover!!
2007-04-13 15:48
非凡DZ
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2007-4-6
收藏
得分:0 
我没有.net

2007-04-13 15:49
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
用字符串输入 你要记录的数据.然后在每个字符判断就可以了

2007-04-13 15:53
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 

do
{
scanf("%s",a);//a为一数组
for(i=0;i<strlen(a);i++)
if(a[i]<'0'||a[i]>'9')
{printf("您只能输入数字\n");
continue;
}
}while(i==strlen(a);
n=atoi(s); //将字符串转换为整型赋给n


雁无留踪之意,水无取影之心
2007-04-13 16:32
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
还有不要忘了加入头文件 #include <ctype.h>(atoi包含在这个头文件中)

雁无留踪之意,水无取影之心
2007-04-13 16:37
海蓝啸
Rank: 5Rank: 5
来 自:安徽
等 级:贵宾
威 望:17
帖 子:1611
专家分:0
注 册:2006-4-3
收藏
得分:0 
为什么不用这个函数

int isdigit(char ch)

这个社会太复杂。。。
2007-04-13 17:41
快速回复:[求助]如何判断是否为数字
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013401 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved