首页 新闻 赞助 找找看

编计算器的问题--小数点的函数怎么实现

0
悬赏园豆:50 [待解决问题]

extern double x=0,y=0;
extern double b=0,d=0;
extern int z=0,a=0,c=0;
extern CString str="";
extern bool dot_flag=false;
void savenum(double i)
{
if(x!=0)
x
=10*x+i;
else
x
=i;
}
void savedotnum(double i)
{
a
=int (x);
b
=x-a;
d
=x-a;
while(d!=0){
d
=d*10;
c
=int (d);
d
=d-c;
i
=i/10;
}
x
=a+b+i/10;
}
void CDlgJiSuanQi::OnButton1()
{
if (dot_flag==false)
{
savenum(
1);
m_fShowValue
= x;
UpdateData(
false);
}
else if(dot_flag==true)
{
savedotnum(
1);
m_fShowValue
= x;
UpdateData(
false);
}
}
void CDlgJiSuanQi::OnBUTTONDot()
{
if(dot_flag==false)
{
GetDlgItemText(IDC_EDIT_SHOW,str);
GetDlgItem(IDC_EDIT_SHOW)
->SetWindowText(str+=".");
dot_flag
=true;
}
}
现在已经可以实现小数点,但是只能输入一位小数点,比如我输入11.1 可以 但是想输入11.11就不行了 求大神们帮看看代码。

didiaohappy的主页 didiaohappy | 初学一级 | 园豆:150
提问于:2011-09-02 14:42
< >
分享
所有回答(2)
1

这种跟算法相关的问题最好自己多钻研钻研,遇到问题就问人的话对于自己的发展不是很好

如是然 | 园豆:226 (菜鸟二级) | 2011-09-02 17:59
0

float k=10;

void savedotnum(double i)
{

      if(dot_flag==true)

       x=x+i/k;

  k=k*10;         
 
}

fishall | 园豆:300 (菜鸟二级) | 2011-09-02 23:58

谢谢

支持(0) 反对(0) didiaohappy | 园豆:150 (初学一级) | 2011-09-05 08:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册