我要寫一段程式來整理資料,因我是初學者想不到什麼方法?可以給我一個方向,謝謝
檔案大約如下公司    部門     編碼
A       K       55
c       K       11
B       Z       80
A       Y       22
B       Y       65整理後 匯出公司    部門     編碼
A       Y       22
A       K       55
B       Y       65
B       Z       80
c       K       11排列方式
1.先把公司整理出來由A~C
2.再整理該公司的部門 K~Z
3.再把該部門的編碼由小到大排序請問這樣怎麼寫比較好
我有想過就硬拆,用struct
typedef struct Company
{
  CString dep;
  int data;
};
先讀資料後,
Company A[100], B[100], C[100] ;
//公司分類
switch(讀的公司){
case 'A':
   A[i].dep= 讀到部門;
   A[i].data= 讀到編碼;
   ++i;
   break;
case 'B':
   B[j].dep= 讀到部門;
   B[j].data= 讀到編碼;
   ++j;
   break;
case 'C':
......}//部門分類
switch(A[i].dep){
case 'K':
      dataK[h]=A[i].data;
   ++i;
   ++h;
   break;
case 'Z':
   dataZ[n]=B[j].data;
   ++j;
   ++n;
   break;
case 'Y':
......}然後再一個個印出來可是這方法,不太好,可我想不出其他方法了?請還有其他方法整理嗎?

解决方案 »

  1.   

    讀 .db檔,排列完成後,excel匯出
      

  2.   


    struct data
    {
      CString comp;
      CString depart;
      int code;
      bool largerdata(data &p)//这个叫谓词
      { 
         if(comp>p.comp)
        {
          return 1;
         }else if(comp>p.comp)
         {  //第二字段 
            if(depart>p.comp)
             { 
                 return 1;           }else if(depart==p.comp)
                {//比较第3字段,自己模仿写              }else
                 {
                  return 0;
                }
          }else
          {
            return 0;
          }   }
    }
    vector <data> datavec;
    sort(datavec.begin(),datavec.end(),largerdata); 
      

  3.   

    建议用STL里面的容器,Vector或者List
    你自己建容器,操作太麻烦。而且问题多。