向您请教一下,帮助我看看写的程序对吗,不对的话请帮忙修改,谢谢了!!!
问题是:将编辑框中的数据传送到列表框的同时,将编辑框中的数据记录到double weight[]数组中,计算编辑框一共输入了多少数据,触发按完成操作,代码如下:
void CIndex::OnWeightButton1() 
{
// TODO: Add your control notification handler code here
CString text;
int i, sumweight=0;
double db;
for(i=0;i<40;i++)
{
       weight[i]=0;
}UpdateData(true);
if(m_thweight=="")
{
   MessageBox("请输入信息 ");
   return;
}
else
{
    text+=m_thweight;
    if(weight[i]==0) //比较i位的值,如果为0 就把text的值放入数组weight[]中
{
    db=atof((LPCTSTR)text); //将text转换成double
    weight[i]=db; 

  i++; 
  sumweight++; //纪录输入了多少个数m_listweight.AddString(text); 
UpdateData(false);
}
}
问题是
调试中不能把db的值传入weight[]中,而且sumweight的值每次加2, 不是加一,请问问题出在那里?
谢谢

解决方案 »

  1.   

    我是要从一个编辑框中输入数据到列表框,同时把输入的数据保存到数组中,应为后面的程序要使用这个数组,开始把数组定义成全局变量,double weight[40],把它的每一位都初始化为0;输入数据到编辑框后,从第0位开始比较,如果为0,就把输入的数据保存到第0位,只要数组的第i 位为0,就把输入的数据保存进去,
    请问你的邮箱是多少,这样我可以把对话框的样式给你传过去,看起来会一目了然
      

  2.   

    好多错误啊,楼主...
    for(i=0;i<40;i++)
    {
           weight[i]=0;
    }每按一次按钮数组的内容就全被清成0了,
    sumweight++; //纪录输入了多少个数,但是你的sumweight是局部变量,根本无法记录总共输入了多少个数。
    先学会编程思想吧....