c++编程问题:将数字、小数点、正负号组成的字符串转换成相应的实数

 我来答
匿名用户
2013-06-10
展开全部
#include<iostream>

using namespace std;

void read_and_clean(double &n);

int main()
{
double input_number;
read_and_clean(input_number);
cout<<input_number;

}

void read_and_clean(double &n)
{
int flag=1;
cout<<"input number";
const int Arrary_Size=10;
char digit_string[Arrary_Size];
char next;
cin.get(next);
int index=0;
for(;next!='\n';)
{
if(next=='+'||next=='-')
{
if(next=='-')
flag=-1;
cin.get(next);
}
if(next!='+'&&next!='-'&&next!='.'&&!isdigit(next))
{index=-1;break;}
digit_string[index]=next;
index++;
cin.get(next);
}

if(index==-1)
{
cout<<"input error";
}
else
{
digit_string[index]='\0';
n=flag*atof(digit_string);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式