销售管理系统(c++)简单易解
生活随笔
收集整理的這篇文章主要介紹了
销售管理系统(c++)简单易解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
某公司有四個銷售員(編號:1-4),負責銷售五種產品(編號:1-5).每個銷售員都將當天出售的每種產品各寫一張便條交上來.每張便條包含內容:(選做)
1)銷售員的代號
2)產品的代號
3)這種產品的當天的銷售額
每位銷售員每天可能上繳0-5張便條.假設,收集到了上個月的所有便條,編寫一個處理系統,讀取上個月的銷售情況(自己設定),進行如下處理.
1)計算上個月每個人每種產品的銷售額.
2)按銷售額對銷售員進行排序,輸出排序結果(銷售員代號)
3)統計每種產品的總銷售額,對這些產品按從高到底的順序,輸出排序結果(需輸出產品的代號和銷售額)
4)輸出統計報表
銷售統計報表
產品代號 銷售之和
創作不易,感謝支持!!!(這只是比較簡易的,還能繼續添加!)
代碼:
功能的實現:
void Scrip::readdata() {FILE* fp = 0;if ((fp = fopen("list.txt", "r")) == NULL){printf("Feil opening falling!\n");exit(0);}elsefor (n = 0; !feof(fp); n++){fscanf(fp, "%d %d %d\n", ¬e[n].id, ¬e[n].num, ¬e[n].sale);//保存文件數據到結構體}fclose(fp); }void Scrip::collating()//整理讀取的信息并分類 {int i;for (i = 0; i < n; i++)//遍歷所有紙條{switch (note[i].num)//按產品分大類,銷售員分小類,累加每個人各類產品銷售量{case 1://產品1switch (note[i].id)//銷售員代號{case 1:Ely[0].sale[0] += note[i].sale; break;case 2:Ely[1].sale[0] += note[i].sale; break;case 3:Ely[2].sale[0] += note[i].sale; break;case 4:Ely[3].sale[0] += note[i].sale; break;}break;case 2: //產品2switch (note[i].id)//銷售員代號{case 1:Ely[0].sale[1] += note[i].sale; break;case 2:Ely[1].sale[1] += note[i].sale; break;case 3:Ely[2].sale[1] += note[i].sale; break;case 4:Ely[3].sale[1] += note[i].sale; break;}break;case 3://產品3switch (note[i].id)//銷售員代號{case 1:Ely[0].sale[2] += note[i].sale; break;case 2:Ely[1].sale[2] += note[i].sale; break;case 3:Ely[2].sale[2] += note[i].sale; break;case 4:Ely[3].sale[2] += note[i].sale; break;}break;case 4://產品4switch (note[i].id)//銷售員代號{case 1:Ely[0].sale[3] += note[i].sale; break;case 2:Ely[1].sale[3] += note[i].sale; break;case 3:Ely[2].sale[3] += note[i].sale; break;case 4:Ely[3].sale[3] += note[i].sale; break;}break;case 5://產品5switch (note[i].id)//銷售員代號{case 1:Ely[0].sale[4] += note[i].sale; break;case 2:Ely[1].sale[4] += note[i].sale; break;case 3:Ely[2].sale[4] += note[i].sale; break;case 4:Ely[3].sale[4] += note[i].sale; break;}break;}} }void Scrip::detail()//顯示銷售情況 {int i, j;for (i = 0; i < 4; i++)//遍歷銷售員{cout << "\n\t\t" << i + 1 << "號銷售員銷售情況:" << endl;for (j = 0; j < 5; j++)/*按銷售員分類遍歷所有產品并顯示信息*/cout << "\t\t" << j + 1 << "號產品銷售數量:" << Ely[i].sale[j] << endl;} }void Scrip::seller_sort()//按銷量對銷售員排序 {int i, j, k;int a[4] = { 0,0,0,0 };//用于儲存四個銷售員各自的銷售總量for (i = 0; i < 4; i++)for (j = 0; j < 5; j++)a[i] += Ely[i].sale[j];//統計每個銷售員所有產品總銷售量for (i = 0; i < 4; i++){k = 0;//用于標記本輪最大數for (j = 0; j < 4; j++)if (a[k] < a[j])k = j;cout << "銷量第" << i + 1 << ";" << "\t" << k + 1 << "號銷售員" << "\t銷量: " << a[k] << endl;a[k] = -1;///*輸出最大數和排名,將最大數標記為負*/} } void Scrip::product_sort()//按產品銷量對該類產品排序 {int i, j, k;int b[5] = { 0,0,0,0,0 };//存放五種產品總銷量for (i = 0; i < 5; i++)for (j = 0; j < 4; j++)b[i] += Ely[j].sale[i];//統計每件產品的總銷量for (i = 0; i < 5; i++){k = 0;//用于標記本輪最大數for (j = 0; j < 5; j++)if (b[k] < b[j])k = j;cout << "銷量第" << i + 1 << "的產品:" << "\t" << k + 1 << "號產品" << "\t銷量: " << b[k] << endl;b[k] = -1;///*輸出最大數和排名,將最大數標記為負*/} } void Scrip::total()//輸出報表 {int i, j;printf("\n\t銷售員\t產品\t銷量\n");for (i = 0; i < 4; i++)for (j = 0; j < 5; j++)cout << "\t " << i + 1 << "\t " << j + 1 << "\t" << Ely[i].sale[j] << endl; } void Menu::MainMenu() {cout << "\t\t********************菜單*********************\n" << endl;cout << "\t\t 1.查看每人每種產品的銷售額" << endl;cout << "\t\t 2.按銷售額對銷售員排序(銷售員代號)" << endl;;cout << "\t\t 3.對每種產品總銷售額從高到低排序(產品代號和銷售額)" << endl;cout << "\t\t 4.輸出統計報表" << endl;cout << "\t\t 5.導入前一個月銷售情況" << endl;cout << "\t\t 0.退出" << endl;cout << "\n\n\t\t*********************************************" << endl;cout << "請選擇(1-5):[ ]\b\b"; }void start() {int select;while (true){Menu::MainMenu();cin >> select;switch (select){case 1://查看每人每種產品的銷售額Scrip::detail();break;case 2://按銷售額對銷售員排序(銷售員代號)Scrip::seller_sort();break;case 3://對每種產品總銷售額從高到低排序(產品代號和銷售額)Scrip::product_sort();break;case 4://輸出統計報表Scrip::total();break;case 5://導入前一個月銷售情況{Scrip::readdata();//讀取文件Scrip::collating();//對信息整理分類}break;case 0://退出系統cout << "歡迎下次使用" << endl;system("pause");exit(0);default:cout << "輸入錯誤!" << endl;break;}system("pause");system("cls");} } int main() {start();system("pause");return 0; }文件的格式可以參考這個,不放到d盤的話,也可以直接將文件放到你的工作路徑下。
總結
以上是生活随笔為你收集整理的销售管理系统(c++)简单易解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Delphi易主Embarcadero
- 下一篇: [课业] | 软件安全 | 使用Amer