|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2006-01-09, 08:07 PM | #1 |
註冊會員
|
求助~c++的程式
麻煩大大們幫我解解迷惑
題目如下 用一個二維陣列解決以下問題,某家公司有4名銷售員(1到4個) 他們負責5項產品(1到5),每天每位銷售員都對每項產品交上一份銷售狀況報告 每份報告內有 a銷售員編號 b產品編號 c當天這項產品的銷售金額 所以每位銷售員每天都會交出5份報告,假設手邊有上個月的報告, 撰寫一個程式讀入上個月所有的銷售報告,然後計算出每人每項產品的銷售總金額 所有的總金額存放在一個稱為sales的雙下標陣列中,處理完後, 以表格的方式列印結果出來. 表格的每一列代表某一項產品,每一行代表每一位銷售員. 所以,對某一列加總便可得到某項產品上個月的銷售總額 而對某一行加總,則可以得到某為銷售員上個月的銷售總額 你的列印結果應把每一列加總印在此列的最右邊 把每行的加總印在此行的最下面 請大大們幫忙解題 感謝大大 |
送花文章: 539,
|
2006-01-11, 12:53 PM | #2 (permalink) |
管理版主
|
語法:
╲銷售員 產@ 一 二 三 四 品 ︱================= [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; } |
送花文章: 2013,
|