如图,我在帮朋友写一个医药程序。
工具vc6.0
问题如下:
上表的数据我定义了并读取数据并存在二维数组s(CString s[100][8];)中。下表我定义了又一个二维数组s2(CString s2[6][10];),我如何把这两个类的金额分别统计并存入s2中,知道的朋友帮下忙啦,谢谢。

解决方案 »

  1.   

    第二张表你可以这么显示,但不能这么存储,可以定义为CString s2[2][n]的样子,然后从第一张表中循环计算统计。数据的存储和表现(显示)要分开。
    另外,这种程序当然用数据库更合适,不要自己来处理复杂的数据结构。
      

  2.   

    这张截图是我已经写好的打印程序显示的一个Dlg窗口,表一和表二的数据全是从数据库调用的;
    CString s2[2][n]不行,因为横向显示不全所有类别的。
      

  3.   

    因为要打印到一张纸上的,所以不能CString s2[2][n]
      

  4.   

    谁帮下哦,因为这个活就几百块钱,预付金也没,如果谁帮我搞定了这个问题,并且成功结钱的话,我愿意提供50元RMB,决不食言。
      

  5.   

    zaodt ,你说的很有道理,我决定改下数据库。
      

  6.   


      struct ItemMoney
    {
       CString id;//项目id;
        CString type;//项目名称
        double iMoeny;//项目对应的金钱。
    }
      ItemMoeny im[100];
      for(int i=1;i<100;i++)//读出所有项目的金额。
    {
       im[i].id=s[i][0];//保存项目id
       im[i].type=s[i][1];//保存项目的名称
       im[i].iMoney=s[i][9];//项目对应的金额
    }
    ....
    for(int i=1;i<6;i++)     //第i行
       for(int j=1;j<10;j+=2)//第j列。定位每项的位置
        //从im中查找名称为s2[i][j-1]的项目,然后把对应的iMoeny写入s2[i][j]便可
      

  7.   

    冲这各位的热情,我这个活就是拿不到钱,也会散RMB给大家的,谢谢了~
      

  8.   

    弄好了,哈哈,改了下数据库结构就搞定了,哈哈,感谢zaodt,编程固然重要,但是架构和思想更为重要,今天遇到这个问题也更说明了这一点,以下为成功演示图:
    同样感谢suzhijie325,你的代码我会随后试验是否正确。
    还要感谢fmjwn、Mackz