2 weixin 37278961 weixin_37278961 于 2017.01.07 16:19 提问

怎么判断输入的数据是int型还是char型

编辑程序可以实现键盘输入数据与运算符,进行“加减乘除”运算。
(运算范围限制在三位数内,若超出三位数的运算范围,出现错误提示信息)。(提示:先输入数据与运算符,保存,再按照运算符选择对应的子程序;输入的数据是用字符表示的,需要转换;要有良好的界面(提示信息))
大神们,如果输入的是字符要如何转为整型数据

5个回答

li_0x79d1_0x9510
li_0x79d1_0x9510   2017.01.07 16:24

你指的字符串是“一,二,三”这样的吗?
笨办法是做一个静态工具类, case "一" :return 1;
聪明方法没想到

weixin_37278961
weixin_37278961   2017.01.07 16:35

不是,只是一个简单的a、b、c、d等

u010983763
u010983763   2017.01.07 17:11

你可以用同Spanincluding()和SpainExcluding( )两个函数结合实现,半段输入的数据是int型或者char型,甚至可以判断输入的是否包括数字和字符!

m0_37277423
m0_37277423   2017.01.07 17:52

//这样行吗?
#include
#include
#include

int b;

void get()
{
int i;
char a;

i = 1;
while(i <= 3)
{
    a = getche();
    if(i==1)
    {
        if(a>='0'&&a<='9')
        {
            b = (int)a - 48;
            b = b * 100;
        }
        else if((a >= 'a'&& a <='z')||(a >= 'A'&& a <='Z'))
        {
            b = (int)a;
            return ;
        }
    }
    if(i==2)
    {
        if(a>='0'&&a<='9')
        {
            b += ((int)a - 48)*10;
        }
        else
        {
            ;
        }
    }
    if(i==3)
    {
        if(a>='0'&&a<='9')
        {
            b += (int)a - 48;
        }
        else
        {
            ;
        }
    }
    i++;
}

}

int print(int a,char s,int i)
{

if(s == '/')
{
    return (a / i);
}
if(s == '*')
{
    return (a * i);
}
if(s == '+')
{
    return (a + i);
}
if(s == '-')
{
    return (a - i);
}

}

int main()
{
int a;
int i;
char s;

get();
a = b;

s = getche();

get();
i = b;

printf("\n%d",print(a,s,i));
return 0;

}

csmzl
csmzl   2017.01.07 20:27

。这个题目的意思应该是说:我输入的1234567890都是以字符类型的数据传到后台的,
你需要在后台进行转换成数字类型再进行计算。
关键问题是你用的是什么语言啊?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!