史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   求助~c++的程式 (http://forum.slime.com.tw/thread165489.html)

wentang 2006-01-09 08:07 PM

求助~c++的程式
 
麻煩大大們幫我解解迷惑
題目如下
用一個二維陣列解決以下問題,某家公司有4名銷售員(1到4個)
他們負責5項產品(1到5),每天每位銷售員都對每項產品交上一份銷售狀況報告
每份報告內有
a銷售員編號
b產品編號
c當天這項產品的銷售金額
所以每位銷售員每天都會交出5份報告,假設手邊有上個月的報告,
撰寫一個程式讀入上個月所有的銷售報告,然後計算出每人每項產品的銷售總金額
所有的總金額存放在一個稱為sales的雙下標陣列中,處理完後,
以表格的方式列印結果出來.
表格的每一列代表某一項產品,每一行代表每一位銷售員.
所以,對某一列加總便可得到某項產品上個月的銷售總額
而對某一行加總,則可以得到某為銷售員上個月的銷售總額
你的列印結果應把每一列加總印在此列的最右邊
把每行的加總印在此行的最下面

請大大們幫忙解題
感謝大大

mini 2006-01-11 12:53 PM

語法:

╲銷售員
  產@  一  二  三  四
  品 ︱=================
  [1]︱
  [2]︱
  [3]︱
  [4]︱
  [5]︱

語法:

#include <cstdlib>
#include <iostream>

//以下中文 變數名 請自行改成 英文

#define 銷售員共有 4
#define 產品共有 5

//定義一個報告的結構
typedef struct
{
  int 銷售員編號;
  int 產品編號;
  int 產品當天銷售金額;
}report;

using namespace std;

int main(int argc, char *argv[])
{
        long sumtemp=0;
        int i,j;
        FILE *inp;
        report 銷售報告;
        int sales[銷售員共有][產品共有]={0};

        inp=fopen("MonthReport.bin","rb");
        while(!feof(inp)){
                fread(&銷售報告,sizeof(銷售報告),1,inp);
                //因為C/C++的陣列是從 0開始編號所以 -1
                sales[銷售報告.銷售員編號 -1][銷售報告.產品編號 -1]=
                        sales[銷售報告.銷售員編號 -1][銷售報告.產品編號 -1]+ 銷售報告.產品當天銷售金額;
        }
        fclose(inp);

        for(j=0; j<產品共有; j++){
          for(i=0; i<銷售員共有; i++){
                  sumtemp=sumtemp+sales[i][j];
                printf("%d\t",sales[i][j]); //列印sales[i][j]
          }
          printf("<=產品的總銷售額:%ld\n",sumtemp); //列印每項產品的總銷售額
          sumtemp=0;
        }

        //列印每位銷售員的業績 (自成一列)
        for(i=0; i<銷售員共有; i++){
          for(j=0; j<產品共有; j++){
                sumtemp=sumtemp+sales[i][j];
          }
                printf("%ld\t",sumtemp);
          sumtemp=0;
        }

    system("PAUSE");
    return EXIT_SUCCESS;
}

語法:

/*這個程式必須配合 MonthReport.bin 格式
所以以下是 月報告成檔 程式                */

#include <cstdlib>
#include <iostream>

//以下中文 變數名 請自行改成 英文

#define SN 4
#define GN 5

//定義一個報告的結構
typedef struct
{
  int serno;
  int goodsno;
  int goodsm;
}report;

using namespace std;

int main(int argc, char *argv[])
{
        FILE *inp;
        report sreport;

        inp=fopen("MonthReport.bin","wb");
            //輸入當天報告
        for(int i=0; i<SN; i++){
            sreport.serno=i+1;
                  for(int j=0; j<GN; j++){
                printf("銷售員編號[%d]\n請輸入 %d號產品銷售金額: ",i+1,j+1);
                sreport.goodsno=j+1;
                                scanf("%d",&sreport.goodsm);
                fwrite(&sreport,sizeof(sreport),1,inp);
                  }
                printf("\n");
                }
        fclose(inp);

    system("PAUSE");
    return EXIT_SUCCESS;
}

請參考: http://imil.au.edu.tw/~hsichcl/TurboC/C_Unit12.htm

wentang 2006-01-12 03:12 PM

感謝mini大大的指導
我知道如何去使用了
謝謝大大


所有時間均為台北時間。現在的時間是 11:57 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1