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