版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目 錄</b></p><p> 1.題目要求-------------------------------------------------------------------4</p><p> 2.需求分析-------------------------------------------------------------
2、------4</p><p> 3.總體設(shè)計(jì)-------------------------------------------------------------------4</p><p> 4.詳細(xì)設(shè)計(jì)-------------------------------------------------------------------8</p><p&g
3、t; 5.上機(jī)操作------------------------------------------------------------------30</p><p> 6.總結(jié)----------------------------------------------------------------------33</p><p> 7.致謝----------------
4、------------------------------------------------------33</p><p> 參考文獻(xiàn)-------------------------------------------------------------------34</p><p><b> 1.題目要求</b></p><p>
5、; 系統(tǒng)包含三類(lèi)用戶:管理員、店長(zhǎng)、銷(xiāo)售員。</p><p> 向管理員提供以下功能:自身密碼修改、其他用戶添加刪除、用戶信息修改、統(tǒng)計(jì)。商品信息添加、修改、刪除、查找、統(tǒng)計(jì)。</p><p> 向店長(zhǎng)提供以下功能:登錄、注銷(xiāo)、自身密碼修改、自身信息修改,商品信息修改、商品信息設(shè)計(jì),查看日?qǐng)?bào)表、月報(bào)表、商品銷(xiāo)售量報(bào)表、查找瀏覽器修改商品儲(chǔ)備信息。</p><p&g
6、t; 向銷(xiāo)售員提供以下功能:商品瀏覽、查找、出售,查看自己本日?qǐng)?bào)表、本月報(bào)表。</p><p><b> 2. 需求分析</b></p><p> 用戶與商品信息要采用文件存儲(chǔ),因而要提供文件的輸入、輸出功能,要實(shí)現(xiàn)用戶的添加、修改、刪除,商品信息的添加、修改、刪除、查找等,需要提供相應(yīng)的信息添加、刪除、修改與查找功能;要實(shí)現(xiàn)商品瀏覽功能,需要提供顯示操作;另外
7、,還要提供鍵盤(pán)式選擇菜單以實(shí)現(xiàn)功能選擇。</p><p><b> 3.總體設(shè)計(jì)</b></p><p> 1.【整體E-R圖3-1】</p><p><b> 圖3-1</b></p><p> 2.【程序中典型的流程圖】</p><p><b> ?。ㄒ?/p>
8、)添加模塊</b></p><p> ?。?)分析:信息添加模塊職工的基本信息包括:用戶、商品基本信息,對(duì)它們輸入后,要存進(jìn)原文件,流程圖(圖3-2)如下。</p><p><b> 圖3-2</b></p><p><b> ?。ǘg覽模塊</b></p><p> ?。?)分析:
9、瀏覽功能首先需要查找信息是否存在,在查找時(shí),因?yàn)榇疟P(pán)文件無(wú)序,所以采用直接查找的辦法。在容錯(cuò)上有較好的能力,輸錯(cuò)時(shí)系統(tǒng)會(huì)有提示,也會(huì)作出相應(yīng)的反映。算法和以上的分程序有相同的優(yōu)點(diǎn)。</p><p> 流程圖如下(圖3-3)。</p><p><b> 圖3-3</b></p><p><b> ?。ㄈ┎樵兡K</b>
10、</p><p> ?。?)分析:基本信息的查詢按查詢方式:按商品的名稱查詢,可供選擇的方式比較豐富。但本程序只使用了一種。在查詢小模塊中采用了直接查找的方法,這主要是由于磁盤(pán)文件無(wú)序的緣故。程序在選擇結(jié)構(gòu)上采用了if和else的嵌套形式,看起來(lái)有點(diǎn)繁雜(圖3-4)</p><p><b> 圖3-4</b></p><p><b>
11、; ?。ㄋ模﹦h除模塊</b></p><p> (1)分析:商品信息存放在磁盤(pán)中,程序須將該文件全部取出來(lái),在內(nèi)存中把要?jiǎng)h掉的內(nèi)容除去,然后在重新輸入到磁盤(pán),這種算法比較合理,但有一點(diǎn)煩瑣。可以改為另一種辦法:設(shè)置一個(gè)標(biāo)示符,對(duì)有這些標(biāo)識(shí)符的記錄在下次輸入時(shí)跳過(guò),在新商品信息輸入時(shí),將其覆蓋就行了。在對(duì)文件進(jìn)行刪除時(shí),考慮到很多方面,如:查詢不到時(shí)系統(tǒng)該如何處理等。人性化設(shè)計(jì)有在刪除之前詢問(wèn)是否繼續(xù)
12、。</p><p> 流程圖(圖3-5)如下:</p><p><b> 圖 3-5</b></p><p><b> 五)修改模塊</b></p><p> (1)分析:修改與刪除程序相似,管理員信息存放在磁盤(pán)中,程序須將該文件全部取出來(lái),在內(nèi)存中把要修改的內(nèi)容修改,然后在重新輸入到磁盤(pán),
13、這種算法比較合理,但有一點(diǎn)煩瑣,可以改進(jìn)(圖2-6)。</p><p><b> 圖3-6</b></p><p><b> 4.詳細(xì)設(shè)計(jì)</b></p><p> 1.歡迎界面void WelcomeMenu() </p><p> void WelcomeMenu() {</p&g
14、t;<p> printf("---------------服裝銷(xiāo)售系統(tǒng)-----------\n");</p><p> printf("系統(tǒng)功能說(shuō)明:\n");</p><p> printf(" 管理員功能:\n");</p><p> printf("
15、 (1)自身密碼修改\n");</p><p> printf(" (2)用戶信息管理:添加,修改,刪除,查詢\n");</p><p> printf(" (3)商品信息管理:添加,修改,查詢,刪除\n");</p><p> printf(" (4)退出登陸系統(tǒng)
16、\n");</p><p> printf(" 店長(zhǎng)功能:\n");</p><p> printf(" (1)自身密碼修改\n");</p><p> printf(" (2)商品信息管理:添加,修改,查詢,刪除\n");</p><p>
17、; printf(" (3)銷(xiāo)售報(bào)表顯示:日銷(xiāo)售報(bào)表,月銷(xiāo)售報(bào)表,銷(xiāo)售員銷(xiāo)售報(bào)表\n");</p><p> printf(" (4)退出登陸系統(tǒng)\n");</p><p> printf(" 銷(xiāo)售員功能:\n");</p><p> printf("
18、 (1)商品瀏覽,查詢,商品銷(xiāo)售\n");</p><p> printf(" (2)自己商品銷(xiāo)售報(bào)表顯示:日銷(xiāo)售報(bào)表,月銷(xiāo)售報(bào)表\n");</p><p> printf(" (3)退出登陸系統(tǒng)\n");</p><p> printf("--------------謝謝使
19、用--------------------\n");</p><p> printf("(注:管理員,店長(zhǎng),用戶登陸的賬號(hào)分別是admin,boss,sell初始密碼和賬號(hào)一致)\n");</p><p><b> };</b></p><p> 歡迎界面運(yùn)行如下(圖4-1):</p><
20、p><b> 圖4-1</b></p><p> 2.登陸模塊 void SystemLogin()函數(shù)</p><p> void SystemLogin() { //所有用戶身份調(diào)用的登陸函數(shù)</p><p> char userName[20],password[20];</p>
21、<p> int isLogin = 0;</p><p> SystemUser *tmpUser;</p><p> printf("請(qǐng)輸入你的系統(tǒng)用戶帳號(hào):");</p><p> scanf("%s",userName);</p><p> printf("\n請(qǐng)
22、輸入你的系統(tǒng)用戶密碼:");</p><p> scanf("%s",password);</p><p> tmpUser = pSystemUserHead;</p><p> while(NULL != tmpUser) {</p><p> if(0 == strcmp(tmpUser->u
23、serName,userName)) {</p><p> if(0 == strcmp(tmpUser->password,password)) {</p><p> isLogin = 1;</p><p> strcpy(currentUser,tmpUser->userName);</p><p> current
24、UserType = tmpUser->userType;</p><p> switch(currentUserType) {</p><p> case ADMIN_USER_TYPE:</p><p> AdminOperationMenu();</p><p><b> break;</b><
25、/p><p> case BOSS_USER_TYPE:</p><p> BossOperationMenu();</p><p><b> break;</b></p><p> case SELL_USER_TYPE:</p><p> SellOperationMenu();<
26、/p><p><b> break;</b></p><p><b> default:</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> } e
27、lse {</b></p><p> printf("對(duì)不起,你輸入的密碼錯(cuò)誤!\n");</p><p> SystemLogin(); //用戶名正確,密碼錯(cuò)誤</p><p><b> }</b></p>
28、<p><b> }</b></p><p> tmpUser = tmpUser->next;</p><p><b> }</b></p><p> if(isLogin != 1) {</p><p> printf("對(duì)不起,該用戶不存在\n"
29、); //遍歷了所有用戶都沒(méi)有找到用戶</p><p> SystemLogin();</p><p><b> }</b></p><p><b> }</b></p><p> 運(yùn)算顯示如下(圖4-2):</p><
30、p><b> 圖4-2</b></p><p> 3.管理員功能模塊 </p><p> (1)管理員歡迎界面void AdminOperationMenu()函數(shù)</p><p> void AdminOperationMenu() {</p><p> int select;</p>&
31、lt;p> while(1) {</p><p> printf("親愛(ài)的管理員%s同志,歡迎使用本系統(tǒng),你擁有下面所有功能:\n",currentUser);</p><p> printf(" (1)自身密碼修改\n");</p><p> printf(" (2)用戶信息管理:添加,修改,查詢
32、,刪除\n");</p><p> printf(" (3)商品信息管理:添加,修改,查詢,刪除\n");</p><p> printf(" (4)退出系統(tǒng)\n");</p><p> printf("請(qǐng)輸入上面功能對(duì)應(yīng)的序號(hào)進(jìn)行功能選擇:");</p><p>
33、; scanf("%d",&select);</p><p> switch(select) {</p><p><b> case 1:</b></p><p> ChangePassword();</p><p><b> continue;</b><
34、/p><p><b> case 2:</b></p><p> UserManage();</p><p><b> continue;</b></p><p><b> case 3:</b></p><p> ProductsManage()
35、;</p><p><b> Continue;</b></p><p><b> case 4:</b></p><p> ExitSystem();</p><p><b> break;</b></p><p><b> def
36、ault:</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> };</b></p><p> 運(yùn)算顯示
37、如下(圖4-3):</p><p><b> 圖4-3</b></p><p> ?。?)自身密碼修改(調(diào)用密碼修改函數(shù)ChangePassword();)</p><p><b> //密碼修改函數(shù)</b></p><p> void ChangePassword() {</p>
38、<p> char newPassword1[20],newPassword2[20];</p><p> SystemUser *tmpUser;</p><p> printf("請(qǐng)輸入你的新密碼:");</p><p> scanf("%s",newPassword1);</p>&l
39、t;p> printf("請(qǐng)?jiān)俅屋斎肽愕男旅艽a:");</p><p> scanf("%s",newPassword2);</p><p> if(0 != strcmp(newPassword1,newPassword2)) {</p><p> printf("對(duì)不起,你兩次輸入的密碼不一致,修改
40、失敗!\n");</p><p><b> return ;</b></p><p><b> }</b></p><p> tmpUser = pSystemUserHead;</p><p> while(NULL != tmpUser) {</p><p&
41、gt; if(0 == strcmp(tmpUser->userName,currentUser)) {</p><p> strcpy(tmpUser->password,newPassword1);</p><p> printf("密碼修改成功!\n");</p><p><b> break;</b&g
42、t;</p><p><b> }</b></p><p> tmpUser = tmpUser->next;</p><p><b> }</b></p><p><b> };</b></p><p> 運(yùn)算顯示如下(圖4-4):&l
43、t;/p><p><b> 圖4-4</b></p><p> 用戶信息管理:添加,修改,刪除,查詢</p><p> //用戶信息管理:添加,修改,刪除,查詢//</p><p> void UserManage() { //用戶信息函數(shù)//</p><p>
44、 int select;</p><p> //管理員顯示模塊//</p><p> while(1) {</p><p> printf("親愛(ài)的管理員%s同志,你目前進(jìn)入的是用戶信息管理功能:\n",currentUser);</p><p> printf(" (1)用戶信息查看\n"
45、);</p><p> printf(" (2)用戶信息添加\n");</p><p> printf(" (3)用戶信息修改\n");</p><p> printf(" (4)用戶信息刪除\n");</p><p> printf(" (5)返回上級(jí)菜單
46、\n");</p><p> printf(" (6)退出登陸系統(tǒng)\n");</p><p> printf("請(qǐng)輸入上面功能對(duì)應(yīng)的序號(hào)進(jìn)行功能選擇:");</p><p> scanf("%d",&select);</p><p> switch(sel
47、ect)</p><p><b> {</b></p><p><b> case 1:</b></p><p> UserInfoView(); //調(diào)用用戶信息查看的函數(shù)//</p><p><b> continue;</b></p><
48、;p><b> case 2:</b></p><p> UserInfoAdd(); //調(diào)用用戶信息添加函數(shù)//</p><p><b> continue;</b></p><p><b> case 3:</b></p><p> UserI
49、nfoModify(); //調(diào)用用戶信息修改函數(shù)//</p><p><b> continue;</b></p><p><b> case 4:</b></p><p> UserInfoDelete(); //調(diào)用用戶信息刪除函數(shù)//</p><p><b>
50、continue;</b></p><p><b> case 5:</b></p><p> AdminOperationMenu(); //返回上級(jí)系統(tǒng)//</p><p><b> break; </b></p><p><b> case 6:</b&g
51、t;</p><p> ExitSystem(); //退出登陸//</p><p><b> break;</b></p><p><b> default:</b></p><p><b> break;</b></p><p>
52、;<b> }</b></p><p><b> }</b></p><p><b> };</b></p><p> 運(yùn)算顯示如下(圖4-5):</p><p><b> 圖4-5</b></p><p> //用戶信
53、息查看函數(shù)//</p><p> void UserInfoView() { </p><p> SystemUser *tmpUser;</p><p> tmpUser = pSystemUserHead;</p><p> printf("親愛(ài)的管理員%s,你好,你查看的所有用戶信息如下:\n&qu
54、ot;,currentUser);</p><p> printf("用戶名\t密碼\t用戶類(lèi)型(1代表管理員,2代表店長(zhǎng),3代表銷(xiāo)售員)\n");</p><p> while(NULL != tmpUser){</p><p> printf("%s\t%s\t%d\n",tmpUser->userName,t
55、mpUser->password,tmpUser->userType);</p><p> tmpUser = tmpUser->next;</p><p><b> }</b></p><p><b> };</b></p><p> 運(yùn)算顯示如下(圖4-6):</
56、p><p> //用戶信息添加函數(shù)//</p><p> void UserInfoAdd() {</p><p> SystemUser tmpUser;</p><p> printf("親愛(ài)的管理員%s,請(qǐng)依次輸入用戶信息:\n",currentUser);</p><p> print
57、f("用戶名:");</p><p> scanf("%s",tmpUser.userName);</p><p> printf("用戶密碼:");</p><p> scanf("%s",tmpUser.password);</p><p> prin
58、tf("用戶類(lèi)型(1代表管理員,2代表店長(zhǎng),3代表銷(xiāo)售員):");</p><p> scanf("%d",&tmpUser.userType);</p><p> tmpUser.next = NULL;</p><p> if(FUNCTION_SUCCESS == AddUser(&tmpUser)
59、)</p><p> printf("用戶信息添加成功!\n");</p><p><b> };</b></p><p> 運(yùn)算顯示如下(圖4-7):</p><p><b> 圖4-7</b></p><p> //用戶信息修改函數(shù)//<
60、;/p><p> void UserInfoModify() {</p><p> char userName[20];</p><p> SystemUser *pUser;</p><p> printf("親愛(ài)的管理員%s,請(qǐng)輸入要修改的用戶帳號(hào):\n",currentUser);</p><
61、p> scanf("%s",userName);</p><p> pUser = pSystemUserHead;</p><p> while(NULL != pUser) {</p><p> if(0 == strcmp(pUser->userName,userName)) {</p><p>
62、 printf("請(qǐng)輸入新的帳號(hào):");</p><p> scanf("%s",pUser->userName);</p><p> printf("請(qǐng)輸入新的密碼:");</p><p> scanf("%s",pUser->password);</p>
63、;<p> printf("請(qǐng)輸入新的用戶類(lèi)型(1代表管理員,2代表店長(zhǎng),3代表銷(xiāo)售員):");</p><p> scanf("%d",&pUser->userType);</p><p> printf("用戶信息修改成功\n");</p><p><b>
64、 return ;</b></p><p><b> }</b></p><p> pUser = pUser->next;</p><p><b> }</b></p><p> printf("對(duì)不起,沒(méi)有你查找的用戶信息!\n");</p&g
65、t;<p><b> };</b></p><p> 運(yùn)算顯示如下(圖4-8):</p><p><b> 圖4-8</b></p><p> //用戶信息刪除函數(shù)//</p><p> void UserInfoDelete() {</p><p>
66、 SystemUser *pUserA,*pUserB;</p><p> char userName[20];</p><p> printf("親愛(ài)的管理員%s朋友,你好,你現(xiàn)在進(jìn)入的用戶信息刪除功能:\n",currentUser);</p><p> printf("請(qǐng)輸入你要?jiǎng)h除的用戶名:\n");</
67、p><p> scanf("%s",userName);</p><p> pUserA = pUserB = pSystemUserHead; //pUserB指向要?jiǎng)h除的記錄,pUserA指向前一條記錄</p><p> if(NULL == pUserB) return ;</p><p> while(N
68、ULL != pUserB){</p><p> if(0 == strcmp(userName,pUserB->userName)) {</p><p> if(pUserB == pSystemUserHead && pUserB->next == NULL){ //如果系統(tǒng)只有一條商品信息</p><p> free(p
69、SystemUserHead);</p><p> pSystemUserHead = NULL;</p><p> printf("用戶信息刪除成功!\n");</p><p><b> return ;</b></p><p><b> }</b></p>
70、<p> pUserA->next = pUserB->next;</p><p> if(pSystemUserHead == pUserB)</p><p> pSystemUserHead = pUserB->next;</p><p> free(pUserB);</p><p> print
71、f("用戶信息刪除成功!\n");</p><p><b> return ;</b></p><p><b> }</b></p><p><b> else {</b></p><p> pUserA = pUserB;</p>&
72、lt;p> pUserB = pUserB->next;</p><p><b> }</b></p><p><b> }</b></p><p> printf("對(duì)不起,不存在該帳號(hào)的用戶信息!");</p><p><b> };</
73、b></p><p> 運(yùn)算顯示如下(圖4-9):</p><p><b> 圖4-9</b></p><p> (3)商品信息管理:添加,修改,查詢,刪除</p><p> //商品管理模塊//</p><p> void ProductsManage() {</p>
74、<p> int select;</p><p> while(1) {</p><p> printf("親愛(ài)的%s朋友,你好,你現(xiàn)在進(jìn)入的是商品管理功能,你可以選擇以下功能:\n",currentUser);</p><p> printf(" (1)商品信息查看\n");</p>
75、<p> printf(" (2)商品信息查找\n");</p><p> printf(" (3)商品信息添加\n");</p><p> printf(" (4)商品信息修改\n");</p><p> printf(" (5)商品信息刪除\n");
76、</p><p> printf(" (6)返回上一級(jí)菜單\n");</p><p> printf(" (7)退出登陸系統(tǒng)\n");</p><p> printf("請(qǐng)選擇應(yīng)的操作編號(hào):");</p><p> scanf("%d",&
77、select);</p><p> switch(select) {</p><p><b> case 1:</b></p><p> ProductsView(); //調(diào)用商品查看函數(shù)//</p><p><b> continue;</b></p><p>
78、;<b> case 2:</b></p><p> ProductFind(); //調(diào)用商品信息查找函數(shù)//</p><p><b> continue;</b></p><p><b> case 3:</b></p><p> InputAndAddPr
79、oduct(); //調(diào)用商品添加函數(shù)//</p><p><b> continue;</b></p><p><b> case 4:</b></p><p> ModifyProduct(); //調(diào)用商品修改函數(shù)//</p><p><b> continue;&
80、lt;/b></p><p><b> case 5:</b></p><p> DeleteProduct(); //調(diào)用刪除商品信息函數(shù)//</p><p><b> continue;</b></p><p><b> case 6:</b></p
81、><p> switch(currentUserType) { //返回上一級(jí)//</p><p> case ADMIN_USER_TYPE:</p><p> AdminOperationMenu(); </p><p><b> break;</b></p><p> case
82、 BOSS_USER_TYPE:</p><p> BossOperationMenu();</p><p><b> break;</b></p><p> case SELL_USER_TYPE:</p><p> SellOperationMenu();</p><p><b&
83、gt; break;</b></p><p><b> default:</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> break;</b></p>
84、<p><b> case 7:</b></p><p> ExitSystem();</p><p><b> break;</b></p><p><b> default:</b></p><p><b> break;</b>
85、;</p><p><b> }</b></p><p><b> }</b></p><p><b> }; </b></p><p> 運(yùn)算顯示如下(圖4-10):
86、 </p><p><b> 圖4-10</b></p><p> //商品的查看函數(shù)//</p><p> void ProductsView() {</p><p> Products *tmpProduct;</p><p><b> int i;</
87、b></p><p><b> i = 1;</b></p><p> tmpProduct = pProductHead;</p><p> if(NULL == tmpProduct)</p><p> printf("對(duì)不起,目前還沒(méi)有商品信息");</p><
88、p><b> else{</b></p><p> while(NULL != tmpProduct) {</p><p> printf("第%d件商品信息如下:\n",i);</p><p> printf("商品編號(hào): %d\n",tmpProduct->productId);&
89、lt;/p><p> printf("商品名稱: %s\n",tmpProduct->productName);</p><p> printf("商品型號(hào): %s\n",tmpProduct->productType);</p><p> printf("商品廠家: %s\n",tmpPro
90、duct->productCompany);</p><p> printf("商品價(jià)格: %f\n",tmpProduct->productPrice);</p><p> printf("商品數(shù)量: %d\n",tmpProduct->productCount);</p><p> printf(&
91、quot;商品附加信息: %s\n",tmpProduct->memo);</p><p> tmpProduct = tmpProduct->next;</p><p><b> i++;</b></p><p><b> }</b></p><p><b>
92、 }</b></p><p><b> };</b></p><p> 運(yùn)算顯示如下(圖4-11):</p><p><b> 圖4-11</b></p><p> //商品查找函數(shù)//</p><p> void ProductFind() {<
93、;/p><p> Products *tmpProduct; </p><p> int findWay,productId;</p><p> char productName[20];</p><p> printf("親愛(ài)的%s朋友,你好,你現(xiàn)在進(jìn)入的商品查詢功能:\n",currentUser);<
94、/p><p> printf("請(qǐng)選擇查詢方式: 1--按商品編號(hào)查詢 2--按商品名稱查詢\n");</p><p> scanf("%d",&findWay);</p><p> tmpProduct = pProductHead;</p><p> switch(findWay) {
95、</p><p><b> case 1:</b></p><p> printf("請(qǐng)輸入查詢的商品編號(hào):");</p><p> scanf("%d",&productId);</p><p> while(NULL != tmpProduct) {</p
96、><p> if(productId == tmpProduct->productId) {</p><p> printf("你查詢的商品編號(hào)為%d的商品信息如下:\n",productId);</p><p> printf(" 商品名稱: %s\n",tmpProduct->productName);&l
97、t;/p><p> printf(" 商品型號(hào): %s\n",tmpProduct->productType);</p><p> printf(" 商品廠家: %s\n",tmpProduct->productCompany);</p><p> printf(" 商品價(jià)格: %f\n"
98、;,tmpProduct->productPrice);</p><p> printf(" 商品數(shù)量: %d\n",tmpProduct->productCount);</p><p> printf(" 商品附加信息: %s\n",tmpProduct->memo);</p><p><b&
99、gt; return ;</b></p><p><b> }</b></p><p> tmpProduct = tmpProduct->next;</p><p><b> }</b></p><p> printf("對(duì)不起,不存在該商品編號(hào)的商品!\n&
100、quot;);</p><p><b> break;</b></p><p><b> case 2:</b></p><p> printf("請(qǐng)輸入查詢的商品名稱:");</p><p> scanf("%s",productName);<
101、/p><p> while(NULL != tmpProduct) {</p><p> if(0 == strcmp(tmpProduct->productName,productName)) {</p><p> printf("你要查詢的商品名稱為%s的商品信息如下:\n",productName);</p><
102、p> printf(" 商品名稱: %s\n",tmpProduct->productName);</p><p> printf(" 商品型號(hào): %s\n",tmpProduct->productType);</p><p> printf(" 商品廠家: %s\n",tmpProduct->
103、productCompany);</p><p> printf(" 商品價(jià)格: %f\n",tmpProduct->productPrice);</p><p> printf(" 商品數(shù)量: %d\n",tmpProduct->productCount);</p><p> printf("
104、 商品附加信息: %s\n",tmpProduct->memo);</p><p><b> return ;</b></p><p><b> }</b></p><p> tmpProduct = tmpProduct->next;</p><p><b>
105、; }</b></p><p> printf("對(duì)不起,不存在該商品編號(hào)的商品!\n");</p><p><b> break;</b></p><p><b> default:</b></p><p><b> break;</b&g
106、t;</p><p><b> }</b></p><p> }運(yùn)算顯示如下(圖4-12):</p><p><b> 圖4-12</b></p><p> //商品添加函數(shù)//</p><p> void InputAndAddProduct() {</p&
107、gt;<p> Products product;</p><p> printf("親愛(ài)的%s朋友,你好,請(qǐng)依次輸入新商品的信息:\n",currentUser);</p><p> printf("商品名稱:");</p><p> scanf("%s",product.produ
108、ctName);</p><p> printf("商品型號(hào):");</p><p> scanf("%s",product.productType);</p><p> printf("商品制造商:");</p><p> scanf("%s",prod
109、uct.productCompany);</p><p> printf("商品價(jià)格:");</p><p> scanf("%f",&product.productPrice);</p><p> printf("商品數(shù)量:");</p><p> scanf(&q
110、uot;%d",&product.productCount);</p><p> printf("商品附加信息:");</p><p> scanf("%s",product.memo);</p><p> product.next = NULL;</p><p> if(FU
111、NCTION_SUCCESS == AddProduct(&product))</p><p> printf("商品信息添加成功!\n");</p><p><b> };</b></p><p> 運(yùn)算顯示如下(圖4-15):</p><p><b> 圖4-15<
112、/b></p><p> //商品修改函數(shù)//</p><p> void ModifyProduct() {</p><p> int productId; //待修改的商品編號(hào)</p><p> Products *tmpProduct; </
113、p><p> printf("親愛(ài)的%s朋友,你好,你現(xiàn)在進(jìn)入的商品信息修改功能:\n",currentUser);</p><p> printf("請(qǐng)輸入要修改的商品編號(hào):");</p><p> scanf("%d",&productId);</p><p> tm
114、pProduct = pProductHead;</p><p> if(NULL == tmpProduct) return ;</p><p> while(NULL != tmpProduct) {</p><p> if(productId == tmpProduct->productId){</p><p> prin
115、tf("商品編號(hào)%d的商品信息如下:\n",productId);</p><p> printf(" 商品名稱: %s\n",tmpProduct->productName);</p><p> printf(" 商品型號(hào): %s\n",tmpProduct->productType);</p>
116、<p> printf(" 商品廠家: %s\n",tmpProduct->productCompany);</p><p> printf(" 商品價(jià)格: %f\n",tmpProduct->productPrice);</p><p> printf(" 商品數(shù)量: %d\n",tmpPro
117、duct->productCount);</p><p> printf(" 商品附加信息: %s\n",tmpProduct->memo);</p><p> printf("下面請(qǐng)對(duì)照修改該商品的相應(yīng)信息:\n");</p><p> printf("新的商品名稱: ");</
118、p><p> scanf("%s",tmpProduct->productName);</p><p> printf("新的商品型號(hào): ");</p><p> scanf("%s",tmpProduct->productType);</p><p> printf
119、("新的商品廠家: ");</p><p> scanf("%s",tmpProduct->productCompany);</p><p> printf("新的商品價(jià)格: ");</p><p> scanf("%f",&tmpProduct->produc
120、tPrice);</p><p> printf("新的商品數(shù)量: ");</p><p> scanf("%d",&tmpProduct->productCount);</p><p> printf("新的商品附加信息: ");</p><p> scanf
121、("%s",tmpProduct->memo);</p><p> printf("商品信息修改成功!\n");</p><p><b> break;</b></p><p><b> }</b></p><p> tmpProduct = t
122、mpProduct->next;</p><p><b> }</b></p><p><b> };</b></p><p> //商品刪除函數(shù)//</p><p> void DeleteProduct() {</p><p> int productId
123、 = 0;</p><p> Products *tmpProductA,*tmpProductB;</p><p> printf("親愛(ài)的%s朋友,你好,你現(xiàn)在進(jìn)入的商品刪除功能:\n",currentUser);</p><p> printf("請(qǐng)輸入你要?jiǎng)h除的商品編號(hào):\n");</p><
124、p> scanf("%d",&productId);</p><p> tmpProductA = tmpProductB = pProductHead; //tmpProductB指向要?jiǎng)h除的記錄,tmpProductA指向前一條記錄</p><p> if(NULL == tmpProductB) return ;</p>&
125、lt;p> while(NULL != tmpProductB){</p><p> if(tmpProductB->productId == productId) {</p><p> if(tmpProductB == pProductHead && tmpProductB->next == NULL){ //如果系統(tǒng)只有一條商品信息</p
126、><p> free(pProductHead);</p><p> pProductHead = NULL;</p><p> printf("商品信息刪除成功!\n");</p><p><b> return ;</b></p><p><b> }<
127、;/b></p><p> tmpProductA->next = tmpProductB->next;</p><p> if(pProductHead == tmpProductB)</p><p> pProductHead = tmpProductB->next;</p><p> free(tmpPr
128、oductB);</p><p> printf("商品信息刪除成功!\n");</p><p><b> return ;</b></p><p><b> }</b></p><p><b> else {</b></p><
129、p> tmpProductA = tmpProductB;</p><p> tmpProductB = tmpProductB->next;</p><p><b> }</b></p><p><b> }</b></p><p> printf("對(duì)不起,不存在
130、該商品編號(hào)的信息!");</p><p><b> };</b></p><p> 店長(zhǎng)功能模塊(圖4-16)</p><p><b> 圖4-16</b></p><p><b> 店長(zhǎng)歡迎界面</b></p><p> //店長(zhǎng)
131、歡迎界面//</p><p> void BossOperationMenu() { int select; while(1) { printf("親愛(ài)的店長(zhǎng)%s同志,歡迎使用本系統(tǒng),你擁有下面所有功能:\n",currentUser); printf(" (1)自身密碼修改\n"); printf("
132、; (2)商品信息管理:添加,修改,查詢,刪除\n"); printf(" (3)銷(xiāo)售報(bào)表顯示:日?qǐng)?bào)表,月報(bào)表,商品銷(xiāo)售量報(bào)表,銷(xiāo)售員業(yè)績(jī)報(bào)表\n"); printf(" (4)退出系統(tǒng)\n"); printf("請(qǐng)輸入上面功能對(duì)應(yīng)的序號(hào)進(jìn)行功能選擇:"); scanf("%d"
133、,&select); switch(select) { case 1: ChangePassword(); break; case 2: ProductsMa</p><p> (2)密碼修改,商品信息管理功能和管理員對(duì)應(yīng)功能的函數(shù)的調(diào)用一致&l
134、t;/p><p> ?。凑{(diào)用ChangePassword() roductsManage() 函數(shù))</p><p> 銷(xiāo)售報(bào)表顯示:日?qǐng)?bào)表,月報(bào)表,商品銷(xiāo)售量報(bào)表,銷(xiāo)售員業(yè)績(jī)報(bào)表</p><p> //銷(xiāo)售報(bào)表顯示//</p><p> void ReportPrint() { int select = 0; if(
135、SELL_USER_TYPE != currentUserType) { while(1) { printf("親愛(ài)的朋友%s,你好,你現(xiàn)在進(jìn)入的是銷(xiāo)售報(bào)表功能界面:\n",currentUser); printf(" (1)所有商品銷(xiāo)售情況\n"); printf(" (2)商品日銷(xiāo)售報(bào)表\n&
136、quot;); printf(" (3)商品月銷(xiāo)售報(bào)表\n"); printf(" (4)銷(xiāo)售員銷(xiāo)售報(bào)表\n"); printf(" (5)返回上級(jí)菜單\n"); printf(" (6)退出登陸系統(tǒng)\n"); printf(&qu
137、ot;請(qǐng)選擇對(duì)應(yīng)的功能號(hào):"); scanf("%d",&select); switch(select) { </p><p> //日銷(xiāo)售函數(shù)的統(tǒng)計(jì)//</p><p> void ShowDaySellReport() { int year,month,day; i
138、nt rsCount = 0; float totalPrice = 0.0,onePrice; char productName[20]; SellInfoRecord *tmpSellInfo; printf("你好%s:當(dāng)前功能將進(jìn)行日銷(xiāo)售報(bào)表顯示\n",currentUser); printf("請(qǐng)輸入銷(xiāo)售時(shí)間年份:"); scanf(&qu
139、ot;%d",&year); printf("請(qǐng)輸入銷(xiāo)售時(shí)間月份:"); scanf("%d",&month); printf("請(qǐng)輸入銷(xiāo)售時(shí)間號(hào)數(shù):"); scanf("%d",&day); tmpSellInfo = pSellInfoHead; if(NULL == t
140、mpSellInfo) return ; while(NULL != tmpSellInfo) { if(year == tmpSellInfo-></p><p> //月銷(xiāo)售量函數(shù)統(tǒng)計(jì)//void ShowMonthSellReport() { int year,month; int rsCount = 0; float totalPrice = 0.
141、0,onePrice; char productName[20]; SellInfoRecord *tmpSellInfo; printf("你好%s:當(dāng)前功能將進(jìn)行月銷(xiāo)售報(bào)表顯示\n",currentUser); printf("請(qǐng)輸入銷(xiāo)售時(shí)間年份:"); scanf("%d",&year); printf("
142、請(qǐng)輸入銷(xiāo)售時(shí)間月份:"); scanf("%d",&month); tmpSellInfo = pSellInfoHead; if(NULL == tmpSellInfo) return ; while(NULL != tmpSellInfo) { if(year == tmpSellInfo->year &&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語(yǔ)言課程設(shè)計(jì)----服裝銷(xiāo)售系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告—服裝銷(xiāo)售系統(tǒng)
- 服裝銷(xiāo)售管理系統(tǒng)—c語(yǔ)言課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)--銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)----銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)-銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)(論文)-銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)論文--銷(xiāo)售管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)
- 服裝銷(xiāo)售系統(tǒng)課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)銷(xiāo)售管理系統(tǒng)報(bào)告
- 服裝銷(xiāo)售系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言程序課程設(shè)計(jì)報(bào)告-圖書(shū)銷(xiāo)售管理系統(tǒng)
- 課程設(shè)計(jì)服裝銷(xiāo)售系統(tǒng)的設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告——《商品銷(xiāo)售管理》
評(píng)論
0/150
提交評(píng)論