版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄1.題目要求-------------------------------------------------------------------42.需求分析-------------------------------------------------------------------43.總體設(shè)計(jì)-------------------------------------------------------------------44.詳細(xì)設(shè)計(jì)-------------------------------------------------------------------85.上機(jī)操作------------------------------------------------------------------306.總結(jié)----------------------------------------------------------------------337.致謝----------------------------------------------------------------------33參考文獻(xiàn)-------------------------------------------------------------------34系統(tǒng)包含三類用戶:管理員、店長(zhǎng)、銷售員。向管理員提供以下功能:自身密碼修改、其他用戶添加刪除、用戶信息修改、統(tǒng)計(jì)。商品信息添加、修改、刪除、查找、統(tǒng)計(jì)。向店長(zhǎng)提供以下功能:登錄、注銷、自身密碼修改、自身信息修改,商品信息修改、商品信息設(shè)計(jì),查看日?qǐng)?bào)表、月報(bào)表、商品銷售量報(bào)表、查找瀏覽器修改商品儲(chǔ)備信息。向銷售員提供以下功能:商品瀏覽、查找、出售,查看自己本日?qǐng)?bào)表、本月報(bào)表。2.需求分析用戶與商品信息要采用文件存儲(chǔ),因而要提供文件的輸入、輸出功能,要實(shí)現(xiàn)用戶的添加、修改、刪除,商品信息的添加、修改、刪除、查找等,需要提供相應(yīng)的信息添加、刪除、修改與查找功能;要實(shí)現(xiàn)商品瀏覽功能,需要提供顯示操作;另外,還要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。1.【整體E-R圖3-1】服裝管理系統(tǒng)管理員模塊服裝管理系統(tǒng)管理員模塊店長(zhǎng)模塊銷售員模塊退出用戶添加用戶刪除顯示所有用戶退出自身信息修改商品信息瀏覽營(yíng)業(yè)員業(yè)績(jī)報(bào)表商品瀏覽商品查找出售密碼修改查看本月報(bào)表圖3-12.【程序中典型的流程圖】(一)添加模塊(1)分析:信息添加模塊職工的基本信息包括:用戶、商品基本信息,對(duì)它們輸入后,要存進(jìn)原文件,流程圖(圖3-2)如下。文件打開否輸入信息文件打開否輸入信息是否繼續(xù)將信息輸出到磁盤調(diào)用printf_back()函數(shù)結(jié)束開始輸出錯(cuò)誤信息圖3-2(二)瀏覽模塊(1)分析:瀏覽功能首先需要查找信息是否存在,在查找時(shí),因?yàn)榇疟P文件無(wú)序,所以采用直接查找的辦法。在容錯(cuò)上有較好的能力,輸錯(cuò)時(shí)系統(tǒng)會(huì)有提示,也會(huì)作出相應(yīng)的反映。算法和以上的分程序有相同的優(yōu)點(diǎn)。流程圖如下(圖3-3)。開始打開文件否開始打開文件否輸出錯(cuò)誤信息查找商品信息是否查找到輸出商品信息操作存盤是否繼續(xù)結(jié)束圖3-3(三)查詢模塊(1)分析:基本信息的查詢按查詢方式:按商品的名稱查詢,可供選擇的方式比較豐富。但本程序只使用了一種。在查詢小模塊中采用了直接查找的方法,這主要是由于磁盤文件無(wú)序的緣故。程序在選擇結(jié)構(gòu)上采用了if和else的嵌套形式,看起來(lái)有點(diǎn)繁雜(圖3-4)開始文件打開開始文件打開查詢方式是否繼續(xù)結(jié)束輸出錯(cuò)誤信息商品的名稱圖3-4(四)刪除模塊(1)分析:商品信息存放在磁盤中,程序須將該文件全部取出來(lái),在內(nèi)存中把要?jiǎng)h掉的內(nèi)容除去,然后在重新輸入到磁盤,這種算法比較合理,但有一點(diǎn)煩瑣??梢愿臑榱硪环N辦法:設(shè)置一個(gè)標(biāo)示符,對(duì)有這些標(biāo)識(shí)符的記錄在下次輸入時(shí)跳過,在新商品信息輸入時(shí),將其覆蓋就行了。在對(duì)文件進(jìn)行刪除時(shí),考慮到很多方面,如:查詢不到時(shí)系統(tǒng)該如何處理等。人性化設(shè)計(jì)有在刪除之前詢問是否繼續(xù)。流程圖(圖3-5)如下:開始文件打開開始文件打開查找商品信息是否查找到輸入信息是否繼續(xù)結(jié)束輸出錯(cuò)誤信息刪除操作圖3-5五)修改模塊(1)分析:修改與刪除程序相似,管理員信息存放在磁盤中,程序須將該文件全部取出來(lái),在內(nèi)存中把要修改的內(nèi)容修改,然后在重新輸入到磁盤,這種算法比較合理,但有一點(diǎn)煩瑣,可以改進(jìn)(圖2-6)。開始文件打開開始文件打開查找職工信息是否查找到輸入信息是否繼續(xù)結(jié)束輸出錯(cuò)誤信息修改操作圖3-6voidWelcomeMenu()voidWelcomeMenu(){printf("---------------服裝銷售系統(tǒng)-----------\n");printf("系統(tǒng)功能說(shuō)明:\n");printf("管理員功能:\n");printf("(1)自身密碼修改\n");printf("(2)用戶信息管理:添加,修改,刪除,查詢\n");printf("(3)商品信息管理:添加,修改,查詢,刪除\n");printf("(4)退出登陸系統(tǒng)\n");printf("店長(zhǎng)功能:\n");printf("(1)自身密碼修改\n");printf("(2)商品信息管理:添加,修改,查詢,刪除\n");printf("(3)銷售報(bào)表顯示:日銷售報(bào)表,月銷售報(bào)表,銷售員銷售報(bào)表\n");printf("(4)退出登陸系統(tǒng)\n");printf("銷售員功能:\n");printf("(1)商品瀏覽,查詢,商品銷售\n");printf("(2)自己商品銷售報(bào)表顯示:日銷售報(bào)表,月銷售報(bào)表\n");printf("(3)退出登陸系統(tǒng)\n");printf("--------------謝謝使用--------------------\n"); printf("(注:管理員,店長(zhǎng),用戶登陸的賬號(hào)分別是admin,boss,sell初始密碼和賬號(hào)一致)\n");};歡迎界面運(yùn)行如下(圖4-1):圖4-1 2.登陸模塊voidSystemLogin()函數(shù)voidSystemLogin(){//所有用戶身份調(diào)用的登陸函數(shù)charuserName[20],password[20];intisLogin=0;SystemUser*tmpUser;printf("請(qǐng)輸入你的系統(tǒng)用戶帳號(hào):");scanf("%s",userName);printf("\n請(qǐng)輸入你的系統(tǒng)用戶密碼:");scanf("%s",password);tmpUser=pSystemUserHead;while(NULL!=tmpUser){if(0==strcmp(tmpUser->userName,userName)){if(0==strcmp(tmpUser->password,password)){isLogin=1;strcpy(currentUser,tmpUser->userName);currentUserType=tmpUser->userType;switch(currentUserType){caseADMIN_USER_TYPE:AdminOperationMenu();break;caseBOSS_USER_TYPE:BossOperationMenu();break;caseSELL_USER_TYPE:SellOperationMenu();break;default:break;}}else{printf("對(duì)不起,你輸入的密碼錯(cuò)誤!\n");SystemLogin();//用戶名正確,密碼錯(cuò)誤}}tmpUser=tmpUser->next;}if(isLogin!=1){printf("對(duì)不起,該用戶不存在\n");//遍歷了所有用戶都沒有找到用戶SystemLogin();}}運(yùn)算顯示如下(圖4-2):圖4-23.管理員功能模塊管理員模塊自身密碼修改管理員模塊自身密碼修改2.用戶信息管理:添加,修改,刪除,查詢3.商品信息管理:添加,修改,查詢,刪除(1)管理員歡迎界面voidAdminOperationMenu()函數(shù)voidAdminOperationMenu(){intselect;while(1){printf("親愛的管理員%s同志,歡迎使用本系統(tǒng),你擁有下面所有功能:\n",currentUser);printf("(1)自身密碼修改\n");printf("(2)用戶信息管理:添加,修改,查詢,刪除\n");printf("(3)商品信息管理:添加,修改,查詢,刪除\n");printf("(4)退出系統(tǒng)\n");printf("請(qǐng)輸入上面功能對(duì)應(yīng)的序號(hào)進(jìn)行功能選擇:");scanf("%d",&select);switch(select){case1:ChangePassword();continue;case2:UserManage();continue;case3:ProductsManage();Continue;case4:ExitSystem();break;default:break;}}};運(yùn)算顯示如下(圖4-3):圖4-3(2)自身密碼修改(調(diào)用密碼修改函數(shù)ChangePassword();)//密碼修改函數(shù)voidChangePassword(){charnewPassword1[20],newPassword2[20];SystemUser*tmpUser;printf("請(qǐng)輸入你的新密碼:");scanf("%s",newPassword1);printf("請(qǐng)?jiān)俅屋斎肽愕男旅艽a:");scanf("%s",newPassword2);if(0!=strcmp(newPassword1,newPassword2)){printf("對(duì)不起,你兩次輸入的密碼不一致,修改失敗!\n");return;}tmpUser=pSystemUserHead;while(NULL!=tmpUser){if(0==strcmp(tmpUser->userName,currentUser)){strcpy(tmpUser->password,newPassword1);printf("密碼修改成功!\n");break;}tmpUser=tmpUser->next;}};運(yùn)算顯示如下(圖4-4):圖4-4用戶信息管理:添加,修改,刪除,查詢//用戶信息管理:添加,修改,刪除,查詢//voidUserManage(){//用戶信息函數(shù)//intselect; //管理員顯示模塊//while(1){printf("親愛的管理員%s同志,你目前進(jìn)入的是用戶信息管理功能:\n",currentUser);printf("(1)用戶信息查看\n");printf("(2)用戶信息添加\n");printf("(3)用戶信息修改\n");printf("(4)用戶信息刪除\n");printf("(5)返回上級(jí)菜單\n");printf("(6)退出登陸系統(tǒng)\n");printf("請(qǐng)輸入上面功能對(duì)應(yīng)的序號(hào)進(jìn)行功能選擇:");scanf("%d",&select);switch(select){case1:UserInfoView();//調(diào)用用戶信息查看的函數(shù)//continue;case2:UserInfoAdd();//調(diào)用用戶信息添加函數(shù)//continue;case3:UserInfoModify();//調(diào)用用戶信息修改函數(shù)//continue;case4:UserInfoDelete();//調(diào)用用戶信息刪除函數(shù)//continue;case5:AdminOperationMenu();//返回上級(jí)系統(tǒng)//break;case6:ExitSystem();//退出登陸//break;default:break;}}};運(yùn)算顯示如下(圖4-5):圖4-5//用戶信息查看函數(shù)//voidUserInfoView(){SystemUser*tmpUser;tmpUser=pSystemUserHead;printf("親愛的管理員%s,你好,你查看的所有用戶信息如下:\n",currentUser);printf("用戶名\t密碼\t用戶類型(1代表管理員,2代表店長(zhǎng),3代表銷售員)\n");while(NULL!=tmpUser){printf("%s\t%s\t%d\n",tmpUser->userName,tmpUser->password,tmpUser->userType);tmpUser=tmpUser->next;}};運(yùn)算顯示如下(圖4-6)://用戶信息添加函數(shù)//voidUserInfoAdd(){SystemUsertmpUser;printf("親愛的管理員%s,請(qǐng)依次輸入用戶信息:\n",currentUser);printf("用戶名:");scanf("%s",tmpUser.userName);printf("用戶密碼:");scanf("%s",tmpUser.password);printf("用戶類型(1代表管理員,2代表店長(zhǎng),3代表銷售員):");scanf("%d",&tmpUser.userType);tmpUser.next=NULL;if(FUNCTION_SUCCESS==AddUser(&tmpUser))printf("用戶信息添加成功!\n");};運(yùn)算顯示如下(圖4-7):圖4-7//用戶信息修改函數(shù)//voidUserInfoModify(){charuserName[20];SystemUser*pUser;printf("親愛的管理員%s,請(qǐng)輸入要修改的用戶帳號(hào):\n",currentUser);scanf("%s",userName);pUser=pSystemUserHead;while(NULL!=pUser){if(0==strcmp(pUser->userName,userName)){printf("請(qǐng)輸入新的帳號(hào):");scanf("%s",pUser->userName);printf("請(qǐng)輸入新的密碼:");scanf("%s",pUser->password);printf("請(qǐng)輸入新的用戶類型(1代表管理員,2代表店長(zhǎng),3代表銷售員):");scanf("%d",&pUser->userType);printf("用戶信息修改成功\n");return;}pUser=pUser->next;}printf("對(duì)不起,沒有你查找的用戶信息!\n");};運(yùn)算顯示如下(圖4-8):圖4-8//用戶信息刪除函數(shù)//voidUserInfoDelete(){SystemUser*pUserA,*pUserB;charuserName[20];printf("親愛的管理員%s朋友,你好,你現(xiàn)在進(jìn)入的用戶信息刪除功能:\n",currentUser);printf("請(qǐng)輸入你要?jiǎng)h除的用戶名:\n");scanf("%s",userName);pUserA=pUserB=pSystemUserHead;//pUserB指向要?jiǎng)h除的記錄,pUserA指向前一條記錄if(NULL==pUserB)return;while(NULL!=pUserB){if(0==strcmp(userName,pUserB->userName)){if(pUserB==pSystemUserHead&&pUserB->next==NULL){//如果系統(tǒng)只有一條商品信息free(pSystemUserHead);pSystemUserHead=NULL;printf("用戶信息刪除成功!\n");return;}pUserA->next=pUserB->next;if(pSystemUserHead==pUserB)pSystemUserHead=pUserB->next;free(pUserB);printf("用戶信息刪除成功!\n");return;}else{pUserA=pUserB;pUserB=pUserB->next;}}printf("對(duì)不起,不存在該帳號(hào)的用戶信息!");};運(yùn)算顯示如下(圖4-9):圖4-9(3)商品信息管理:添加,修改,查詢,刪除//商品管理模塊//voidProductsManage(){intselect;while(1){printf("親愛的%s朋友,你好,你現(xiàn)在進(jìn)入的是商品管理功能,你可以選擇以下功能:\n",currentUser);printf("(1)商品信息查看\n");printf("(2)商品信息查找\n");printf("(3)商品信息添加\n");printf("(4)商品信息修改\n");printf("(5)商品信息刪除\n");printf("(6)返回上一級(jí)菜單\n");printf("(7)退出登陸系統(tǒng)\n");printf("請(qǐng)選擇應(yīng)的操作編號(hào):");scanf("%d",&select);switch(select){case1:ProductsView();//調(diào)用商品查看函數(shù)//continue;case2:ProductFind();//調(diào)用商品信息查找函數(shù)//continue;case3:InputAndAddProduct();//調(diào)用商品添加函數(shù)//continue;case4:ModifyProduct();//調(diào)用商品修改函數(shù)//continue;case5:DeleteProduct();//調(diào)用刪除商品信息函數(shù)//continue;case6:switch(currentUserType){//返回上一級(jí)//caseADMIN_USER_TYPE:AdminOperationMenu();break;caseBOSS_USER_TYPE:BossOperationMenu();break;caseSELL_USER_TYPE:SellOperationMenu();break;default:break;}break;case7:ExitSystem();break;default:break;}}};運(yùn)算顯示如下(圖4-10):圖4-10//商品的查看函數(shù)//voidProductsView(){Products*tmpProduct;inti;i=1;tmpProduct=pProductHead;if(NULL==tmpProduct)printf("對(duì)不起,目前還沒有商品信息");else{while(NULL!=tmpProduct){printf("第%d件商品信息如下:\n",i);printf("商品編號(hào):%d\n",tmpProduct->productId);printf("商品名稱:%s\n",tmpProduct->productName);printf("商品型號(hào):%s\n",tmpProduct->productType);printf("商品廠家:%s\n",tmpProduct->productCompany);printf("商品價(jià)格:%f\n",tmpProduct->productPrice);printf("商品數(shù)量:%d\n",tmpProduct->productCount);printf("商品附加信息:%s\n",tmpProduct->memo);tmpProduct=tmpProduct->next;i++;}}};運(yùn)算顯示如下(圖4-11):圖4-11//商品查找函數(shù)//voidProductFind(){Products*tmpProduct;intfindWay,productId;charproductName[20];printf("親愛的%s朋友,你好,你現(xiàn)在進(jìn)入的商品查詢功能:\n",currentUser);printf("請(qǐng)選擇查詢方式:1--按商品編號(hào)查詢2--按商品名稱查詢\n");scanf("%d",&findWay);tmpProduct=pProductHead;switch(findWay){case1:printf("請(qǐng)輸入查詢的商品編號(hào):");scanf("%d",&productId);while(NULL!=tmpProduct){if(productId==tmpProduct->productId){printf("你查詢的商品編號(hào)為%d的商品信息如下:\n",productId);printf("商品名稱:%s\n",tmpProduct->productName);printf("商品型號(hào):%s\n",tmpProduct->productType);printf("商品廠家:%s\n",tmpProduct->productCompany);printf("商品價(jià)格:%f\n",tmpProduct->productPrice);printf("商品數(shù)量:%d\n",tmpProduct->productCount);printf("商品附加信息:%s\n",tmpProduct->memo);return;}tmpProduct=tmpProduct->next;}printf("對(duì)不起,不存在該商品編號(hào)的商品!\n");break;case2:printf("請(qǐng)輸入查詢的商品名稱:");scanf("%s",productName);while(NULL!=tmpProduct){if(0==strcmp(tmpProduct->productName,productName)){printf("你要查詢的商品名稱為%s的商品信息如下:\n",productName);printf("商品名稱:%s\n",tmpProduct->productName);printf("商品型號(hào):%s\n",tmpProduct->productType);printf("商品廠家:%s\n",tmpProduct->productCompany);printf("商品價(jià)格:%f\n",tmpProduct->productPrice);printf("商品數(shù)量:%d\n",tmpProduct->productCount);printf("商品附加信息:%s\n",tmpProduct->memo);return;}tmpProduct=tmpProduct->next;}printf("對(duì)不起,不存在該商品編號(hào)的商品!\n");break;default:break;}}運(yùn)算顯示如下(圖4-12):圖4-12//商品添加函數(shù)//voidInputAndAddProduct(){Productsproduct;printf("親愛的%s朋友,你好,請(qǐng)依次輸入新商品的信息:\n",currentUser);printf("商品名稱:");scanf("%s",ductName);printf("商品型號(hào):");scanf("%s",ductType);printf("商品制造商:");scanf("%s",ductCompany);printf("商品價(jià)格:");scanf("%f",&ductPrice);printf("商品數(shù)量:");scanf("%d",&ductCount);printf("商品附加信息:");scanf("%s",product.memo);product.next=NULL;if(FUNCTION_SUCCESS==AddProduct(&product))printf("商品信息添加成功!\n");};運(yùn)算顯示如下(圖4-15):圖4-15//商品修改函數(shù)//voidModifyProduct(){intproductId;//待修改的商品編號(hào)Products*tmpProduct;printf("親愛的%s朋友,你好,你現(xiàn)在進(jìn)入的商品信息修改功能:\n",currentUser);printf("請(qǐng)輸入要修改的商品編號(hào):");scanf("%d",&productId);tmpProduct=pProductHead;if(NULL==tmpProduct)return;while(NULL!=tmpProduct){if(productId==tmpProduct->productId){printf("商品編號(hào)%d的商品信息如下:\n",productId);printf("商品名稱:%s\n",tmpProduct->productName);printf("商品型號(hào):%s\n",tmpProduct->productType);printf("商品廠家:%s\n",tmpProduct->productCompany);printf("商品價(jià)格:%f\n",tmpProduct->productPrice);printf("商品數(shù)量:%d\n",tmpProduct->productCount);printf("商品附加信息:%s\n",tmpProduct->memo);printf("下面請(qǐng)對(duì)照修改該商品的相應(yīng)信息:\n");printf("新的商品名稱:");scanf("%s",tmpProduct->productName);printf("新的商品型號(hào):");scanf("%s",tmpProduct->productType);printf("新的商品廠家:");scanf("%s",tmpProduct->productCompany);printf("新的商品價(jià)格:");scanf("%f",&tmpProduct->productPrice);printf("新的商品數(shù)量:");scanf("%d",&tmpProduct->productCount);printf("新的商品附加信息:");scanf("%s",tmpProduct->memo);printf("商品信息修改成功!\n");break;}tmpProduct=tmpProduct->next;}};//商品刪除函數(shù)//voidDeleteProduct(){intproductId=0;Products*tmpProductA,*tmpProductB;printf("親愛的%s朋友,你好,你現(xiàn)在進(jìn)入的商品刪除功能:\n",currentUser);printf("請(qǐng)輸入你要?jiǎng)h除的商品編號(hào):\n");scanf("%d",&productId);tmpProductA=tmpProductB=pProductHead;//tmpProductB指向要?jiǎng)h除的記錄,tmpProductA指向前一條記錄if(NULL==tmpProductB)return;while(NULL!=tmpProductB){if(tmpProductB->productId==productId){if(tmpProductB==pProductHead&&tmpProductB->next==NULL){//如果系統(tǒng)只有一條商品信息free(pProductHead);pProductHead=NULL;printf("商品信息刪除成功!\n");return;}tmpProductA->next=tmpProductB->next;if(pProductHead==tmpProductB)pProductHead=tmpProductB->next;free(tmpProductB);printf("商品信息刪除成功!\n");return;}else{tmpProductA=tmpProductB;tmpProductB=tmpProductB->next;}}printf("對(duì)不起,不存在該商品編號(hào)的信息!");};店長(zhǎng)功能模塊(圖4-16)
店長(zhǎng)模塊自身密碼修改店長(zhǎng)模塊自身密碼修改2.商品信息管理:添加,修改,查詢,刪除3.銷售報(bào)表顯示:日銷售報(bào)表,月銷售報(bào)表,銷售員銷售報(bào)表圖4-16店長(zhǎng)歡迎界面//店長(zhǎng)歡迎界面//voidBossOperationMenu(){
intselect;
while(1){
printf("親愛的店長(zhǎng)%s同志,歡迎使用本系統(tǒng),你擁有下面所有功能:\n",currentUser);
printf("(1)自身密碼修改\n");
printf("(2)商品信息管理:添加,修改,查詢,刪除\n");
printf("(3)銷售報(bào)表顯示:日?qǐng)?bào)表,月報(bào)表,商品銷售量報(bào)表,銷售員業(yè)績(jī)報(bào)表\n");
printf("(4)退出系統(tǒng)\n");
printf("請(qǐng)輸入上面功能對(duì)應(yīng)的序號(hào)進(jìn)行功能選擇:");
scanf("%d",&select);
switch(select){
case1:
ChangePassword();
break;
case2:
ProductsManage();
break;
case3:
ReportPrint();
break;
case4:
ExitSystem();;
break;
default:
break;
}
}
};
(2)密碼修改,商品信息管理功能和管理員對(duì)應(yīng)功能的函數(shù)的調(diào)用一致(即調(diào)用ChangePassword()roductsManage()函數(shù))銷售報(bào)表顯示:日?qǐng)?bào)表,月報(bào)表,商品銷售量報(bào)表,銷售員業(yè)績(jī)報(bào)表//銷售報(bào)表顯示//voidReportPrint(){
intselect=0;
if(SELL_USER_TYPE!=currentUserType){
while(1){
printf("親愛的朋友%s,你好,你現(xiàn)在進(jìn)入的是銷售報(bào)表功能界面:\n",currentUser);
printf("(1)所有商品銷售情況\n");
printf("(2)商品日銷售報(bào)表\n");
printf("(3)商品月銷售報(bào)表\n");
printf("(4)銷售員銷售報(bào)表\n");
printf("(5)返回上級(jí)菜單\n");
printf("(6)退出登陸系統(tǒng)\n");
printf("請(qǐng)選擇對(duì)應(yīng)的功能號(hào):");
scanf("%d",&select);
switch(select){
case1:
ShowAllSellReport();
continue;
case2:
ShowDaySellReport();
continue;
case3:
ShowMonthSellReport();
continue;
case4:
ShowEmployeeSellReport();
continue;
case5:
switch(currentUserType){
caseADMIN_USER_TYPE:
AdminOperationMenu();
break;
caseBOSS_USER_TYPE:
BossOperationMenu();
break;
default:
break;
}
break;
case6:
ExitSystem();
break;
default:
break;
}
}
}else{
while(1){
printf("親愛的銷售員%s,你好,你現(xiàn)在進(jìn)入的是銷售報(bào)表功能界面:\n",currentUser);
printf("(1)查看自己日銷售報(bào)表\n");
printf("(2)查看自己月銷售報(bào)表\n");
printf("(3)返回上級(jí)菜單\n");
printf("(4)退出登陸系統(tǒng)");
printf("請(qǐng)選擇相應(yīng)的功能號(hào):");
scanf("%d",&select);
switch(select){
case1:
ShowDaySellReport();
continue;
case2:
ShowMonthSellReport();
continue;
case3:
SellOperationMenu();
break;
case4:
ExitSystem();
break;
default:
break;
}
}
}
};//日銷售函數(shù)的統(tǒng)計(jì)//voidShowDaySellReport(){
intyear,month,day;
intrsCount=0;
floattotalPrice=0.0,onePrice;
charproductName[20];
SellInfoRecord*tmpSellInfo;
printf("你好%s:當(dāng)前功能將進(jìn)行日銷售報(bào)表顯示\n",currentUser);
printf("請(qǐng)輸入銷售時(shí)間年份:");
scanf("%d",&year);
printf("請(qǐng)輸入銷售時(shí)間月份:");
scanf("%d",&month);
printf("請(qǐng)輸入銷售時(shí)間號(hào)數(shù):");
scanf("%d",&day);
tmpSellInfo=pSellInfoHead;
if(NULL==tmpSellInfo)return;
while(NULL!=tmpSellInfo){
if(year==tmpSellInfo->year&&
month==tmpSellInfo->month&&
day==tmpSellInfo->day&&
((SELL_USER_TYPE==currentUserType)?(0==strcmp(tmpSellInfo->userName,currentUser)):1)){
rsCount++;
printf("符合條件的第%d條商品銷售記錄信息如下:\n",rsCount);
printf("銷售編號(hào):%d\n",tmpSellInfo->saleId);
printf("產(chǎn)品編號(hào):%d\n",tmpSellInfo->productId);
getProductNameById(tmpSellInfo->productId,productName);
printf("產(chǎn)品名稱:%s\n",productName);
onePrice=getPriceById(tmpSellInfo->productId);
printf("商品單價(jià):%f\n",onePrice);
printf("銷售數(shù)量:%d\n",tmpSellInfo->sellCount);
printf("銷售員:%s\n",tmpSellInfo->userName);
printf("銷售時(shí)間:%d年%d月%d日\(chéng)n",tmpSellInfo->year,tmpSellInfo->month,tmpSellInfo->day);
totalPrice+=onePrice*tmpSellInfo->sellCount;
}
tmpSellInfo=tmpSellInfo->next;
}
printf("總共有%d條符合條件的記錄,銷售總價(jià)%f元\n",rsCount,totalPrice);
};
//月銷售量函數(shù)統(tǒng)計(jì)//
voidShowMonthSellReport(){
intyear,month;
intrsCount=0;
floattotalPrice=0.0,onePrice;
charproductName[20];
SellInfoRecord*tmpSellInfo;
printf("你好%s:當(dāng)前功能將進(jìn)行月銷售報(bào)表顯示\n",currentUser);
printf("請(qǐng)輸入銷售時(shí)間年份:");
scanf("%d",&year);
printf("請(qǐng)輸入銷售時(shí)間月份:");
scanf("%d",&month);
tmpSellInfo=pSellInfoHead;
if(NULL==tmpSellInfo)return;
while(NULL!=tmpSellInfo){
if(year==tmpSellInfo->year&&
month==tmpSellInfo->month&&
((SELL_USER_TYPE==currentUserType)?(0==strcmp(tmpSellInfo->userName,currentUser)):1)){
rsCount++;
printf("符合條件的第%d條商品銷售記錄信息如下:\n",rsCount);
printf("銷售編號(hào):%d\n",tmpSellInfo->saleId);
printf("產(chǎn)品編號(hào):%d\n",tmpSellInfo->productId);
getProductNameById(tmpSellInfo->productId,productName);
printf("產(chǎn)品名稱:%s\n",productName);
onePrice=getPriceById(tmpSellInfo->productId);
printf("商品單價(jià):%f\n",onePrice);
printf("銷售數(shù)量:%d\n",tmpSellInfo->sellCount);
printf("銷售員:%s\n",tmpSellInfo->userName);
printf("銷售時(shí)間:%d年%d月%d日\(chéng)n",tmpSellInfo->year,tmpSellInfo->month,tmpSellInfo->day);
totalPrice+=onePrice*tmpSellInfo->sellCount;
}
tmpSellInfo=tmpSellInfo->next;
}
printf("總共有%d條符合條件的記錄,銷售總價(jià)%f元\n",rsCount,totalPrice);
};
//顯示銷售員的業(yè)績(jī)//
voidShowEmployeeSellReport(){
charuserName[20];
intrsCount=0;
floattotalPrice=0.0,onePrice;
charproductName[20];
SellInfoRecord*tmpSellInfo;
printf("你好%s:當(dāng)前功能將進(jìn)行銷售員銷售報(bào)表顯示\n",currentUser);
printf("請(qǐng)輸入銷售員的帳戶名:");
scanf("%s",userName);
tmpSellInfo=pSellInfoHead;
if(NULL==tmpSellInfo)return;
while(NULL!=tmpSellInfo){
if(0==strcmp(userName,tmpSellInfo->userName)){
rsCount++;
printf("符合條件的第%d條商品銷售記錄信息如下:\n",rsCount);
printf("銷售編號(hào):%d\n",tmpSellInfo->saleId);
printf("產(chǎn)品編號(hào):%d\n",tmpSellInfo->productId);
getProductNameById(tmpSellInfo->productId,productName);
printf("產(chǎn)品名稱:%s\n",productName);
onePrice=getPriceById(tmpSellInfo->productId);
printf("商品單價(jià):%f\n",onePrice);
printf("銷售數(shù)量:%d\n",tmpSellInfo->sellCount);
printf("銷售員:%s\n",tmpSellInfo->userName);
printf("銷售時(shí)間:%d年%d月%d日\(chéng)n",tmpSellInfo->year,tmpSellInfo->month,tmpSellInfo->day);
totalPrice+=onePrice*tmpSellInfo->sellCount;
}
tmpSellInfo=tmpSellInfo->next;
}
printf("總共有%d條符合條件的記錄,銷售總價(jià)%f元\n",rsCount,totalPrice);
};
//顯示所有銷售員的業(yè)績(jī)//
voidShowAllSellReport(){
intrsCount=0;
floattotalPrice=0.0,onePrice;
charproductName[20];
SellInfoRecord*tmpSellInfo;
printf("你好%s:當(dāng)前功能將進(jìn)行所有銷售報(bào)表顯示\n",currentUser);
tmpSellInfo=pSellInfoHead;
if(NULL==tmpSellInfo)return;
while(NULL!=tmpSellInfo){
rsCount++;
printf("第%d條商品銷售記錄信息如下:\n",rsCount);
printf("銷售編號(hào):%d\n",tmpSellInfo->saleId);
printf("產(chǎn)品編號(hào):%d\n",tmpSellInfo->productId);
getProductNameById(tmpSellInfo->productId,productName);
printf("產(chǎn)品名稱:%s\n",productName);
onePrice=getPriceById(tmpSellInfo->productId);
printf("商品單價(jià):%f\n",onePrice);
printf("銷售數(shù)量:%d\n",tmpSellInfo->sellCount);
printf("銷售員:%s\n",tmpSellInfo->userName);
printf("銷售時(shí)間:%d年%d月%d日\(chéng)n",tmpSellInfo->year,tmpSellInfo->month,tmpSellInfo->day);
totalPrice+=onePrice*tmpSellInfo->sellCount;
tmpSellInfo=tmpSellInfo->next;
}
printf("總共有%d條符合條件的記錄,銷售總價(jià)%f元\n",rsCount,totalPrice);
};
銷售員功能模塊(圖4-17)銷售員模塊銷售員模塊圖4-17銷售員歡迎界面//銷售員管理模塊//voidSellOperationMenu(){
intselect;
while(1){
printf("親愛的銷售員%s同志,歡迎使用本系統(tǒng),你擁有下面所有功能:\n",currentUser);
printf("(1)商品瀏覽\n");
printf("(2)商品查詢\n");
printf("(3)商品銷售\n");
printf("(4)報(bào)表查看\n");
printf("(5)退出登陸系統(tǒng)\n");
printf("請(qǐng)輸入上面功能對(duì)應(yīng)的序號(hào)進(jìn)行功能選擇:");
scanf("%d",&select);
switch(select){
case1:
ProductsView();
continue;
case2:
ProductFind();
continue;
case3:
ProductsSell();
continue;
case4:
ReportPrint();
continue;
case5:
ExitSystem();;
break;
default:
break;
}
}
};
其它功能和管理員店長(zhǎng)對(duì)應(yīng)功能的函數(shù)的調(diào)用一致(即調(diào)用ProductsView()ProductFind()ProductsSell()ReportPrint()函數(shù))1.開始登陸歡迎界面(圖5-1)本程序自動(dòng)識(shí)別所有用戶(包括管理員,店長(zhǎng),銷售人員)身份,直接登陸即可,無(wú)需選擇那種登陸方式,身份為用戶注冊(cè)身份。(注:本程序設(shè)置了管理員,店長(zhǎng),銷售人員的初始賬號(hào)為adminbossSell初始密碼和賬號(hào)一致,可以用初始賬號(hào)登陸使用此程序)圖5-1管理員功能界面(圖5-2)根據(jù)自己的需要選擇功能前編號(hào)按ENTER健即可進(jìn)入對(duì)應(yīng)功能,例如選擇用戶信息管理(選2按ENTER)圖5-2店長(zhǎng)功能界面(圖5-3)假如你的賬號(hào)身份是店長(zhǎng)登陸后顯示店長(zhǎng)的功能界面圖5-3如果你需要的顯示銷售報(bào)表輸入3按enter就進(jìn)入了(圖5-4)圖5-4銷售人員功能界面(圖5-5)圖5-56.總結(jié)在編程過程中遇到很多問題,之后請(qǐng)教同學(xué)和老師,細(xì)心的把問題一一解決。這次課程設(shè)計(jì)讓我掌握了許多的有用知識(shí)。首先通過不斷地學(xué)習(xí)和鍛煉更加熟練地掌握應(yīng)用軟件MicrosoftVisualC++了。設(shè)計(jì)正確及合適的程序?qū)τ谖覀兂鯇W(xué)者來(lái)說(shuō)是很大的難題,出現(xiàn)一丁點(diǎn)兒錯(cuò)誤就得非很大的努力去修改,正式者一步步一點(diǎn)點(diǎn)的努力讓我對(duì)C語(yǔ)言游樂更深的認(rèn)識(shí)。同時(shí)我掌握了解決問題的方法,這無(wú)論是對(duì)以后的學(xué)習(xí)、生活都有無(wú)比
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)材料采購(gòu)合同3篇
- 安徽餐飲業(yè)廚師勞動(dòng)合同范本3篇
- 工業(yè)廢水處理設(shè)備安裝工程合同書3篇
- 教育電子產(chǎn)品采購(gòu)合同范本3篇
- 安全高效便捷軟件維護(hù)服務(wù)合同3篇
- 授信額度借款合同范本樣式3篇
- 操作員全權(quán)授權(quán)3篇
- 摩托車免責(zé)協(xié)議書3篇
- 安置房買賣合同詳細(xì)版樣式3篇
- 旅游公司免責(zé)協(xié)議書3篇
- 南充市市級(jí)事業(yè)單位2024年公招人員擬聘人員歷年管理單位遴選500模擬題附帶答案詳解
- 2025年三支一扶考試基本能力測(cè)驗(yàn)試題及解答參考
- 2024版食源性疾病培訓(xùn)完整課件
- 【MOOC】信號(hào)與系統(tǒng)-南京郵電大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 10萬(wàn)噸級(jí)泊位工程施工組織設(shè)計(jì)
- 《Python程序設(shè)計(jì)》課件-2:變量和數(shù)據(jù)類型
- 糖尿病相關(guān)論文開題報(bào)告
- 《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀課件
- 2024年安全員C證考試題庫(kù)附答案很全
- 2024年鹽酸小檗堿片(鹽酸黃連素片)項(xiàng)目可行性研究報(bào)告
- 國(guó)家開放大學(xué)00335《電子商務(wù)概論》
評(píng)論
0/150
提交評(píng)論