版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
目錄1.題目要求-------------------------------------------------------------------42.需求分析-------------------------------------------------------------------43.總體設(shè)計-------------------------------------------------------------------44.詳細設(shè)計-------------------------------------------------------------------85.上機操作------------------------------------------------------------------306.總結(jié)----------------------------------------------------------------------337.致謝----------------------------------------------------------------------33參考文獻-------------------------------------------------------------------34系統(tǒng)包含三類用戶:管理員、店長、銷售員。向管理員提供以下功能:自身密碼修改、其他用戶添加刪除、用戶信息修改、統(tǒng)計。商品信息添加、修改、刪除、查找、統(tǒng)計。向店長提供以下功能:登錄、注銷、自身密碼修改、自身信息修改,商品信息修改、商品信息設(shè)計,查看日報表、月報表、商品銷售量報表、查找瀏覽器修改商品儲備信息。向銷售員提供以下功能:商品瀏覽、查找、出售,查看自己本日報表、本月報表。2.需求分析用戶與商品信息要采用文件存儲,因而要提供文件的輸入、輸出功能,要實現(xiàn)用戶的添加、修改、刪除,商品信息的添加、修改、刪除、查找等,需要提供相應(yīng)的信息添加、刪除、修改與查找功能;要實現(xiàn)商品瀏覽功能,需要提供顯示操作;另外,還要提供鍵盤式選擇菜單以實現(xiàn)功能選擇。1.【整體E-R圖3-1】服裝管理系統(tǒng)管理員模塊服裝管理系統(tǒng)管理員模塊店長模塊銷售員模塊退出用戶添加用戶刪除顯示所有用戶退出自身信息修改商品信息瀏覽營業(yè)員業(yè)績報表商品瀏覽商品查找出售密碼修改查看本月報表圖3-12.【程序中典型的流程圖】(一)添加模塊(1)分析:信息添加模塊職工的基本信息包括:用戶、商品基本信息,對它們輸入后,要存進原文件,流程圖(圖3-2)如下。文件打開否輸入信息文件打開否輸入信息是否繼續(xù)將信息輸出到磁盤調(diào)用printf_back()函數(shù)結(jié)束開始輸出錯誤信息圖3-2(二)瀏覽模塊(1)分析:瀏覽功能首先需要查找信息是否存在,在查找時,因為磁盤文件無序,所以采用直接查找的辦法。在容錯上有較好的能力,輸錯時系統(tǒng)會有提示,也會作出相應(yīng)的反映。算法和以上的分程序有相同的優(yōu)點。流程圖如下(圖3-3)。開始打開文件否開始打開文件否輸出錯誤信息查找商品信息是否查找到輸出商品信息操作存盤是否繼續(xù)結(jié)束圖3-3(三)查詢模塊(1)分析:基本信息的查詢按查詢方式:按商品的名稱查詢,可供選擇的方式比較豐富。但本程序只使用了一種。在查詢小模塊中采用了直接查找的方法,這主要是由于磁盤文件無序的緣故。程序在選擇結(jié)構(gòu)上采用了if和else的嵌套形式,看起來有點繁雜(圖3-4)開始文件打開開始文件打開查詢方式是否繼續(xù)結(jié)束輸出錯誤信息商品的名稱圖3-4(四)刪除模塊(1)分析:商品信息存放在磁盤中,程序須將該文件全部取出來,在內(nèi)存中把要刪掉的內(nèi)容除去,然后在重新輸入到磁盤,這種算法比較合理,但有一點煩瑣??梢愿臑榱硪环N辦法:設(shè)置一個標示符,對有這些標識符的記錄在下次輸入時跳過,在新商品信息輸入時,將其覆蓋就行了。在對文件進行刪除時,考慮到很多方面,如:查詢不到時系統(tǒng)該如何處理等。人性化設(shè)計有在刪除之前詢問是否繼續(xù)。流程圖(圖3-5)如下:開始文件打開開始文件打開查找商品信息是否查找到輸入信息是否繼續(xù)結(jié)束輸出錯誤信息刪除操作圖3-5五)修改模塊(1)分析:修改與刪除程序相似,管理員信息存放在磁盤中,程序須將該文件全部取出來,在內(nèi)存中把要修改的內(nèi)容修改,然后在重新輸入到磁盤,這種算法比較合理,但有一點煩瑣,可以改進(圖2-6)。開始文件打開開始文件打開查找職工信息是否查找到輸入信息是否繼續(xù)結(jié)束輸出錯誤信息修改操作圖3-6voidWelcomeMenu()voidWelcomeMenu(){printf("---------------服裝銷售系統(tǒng)-----------\n");printf("系統(tǒng)功能說明:\n");printf("管理員功能:\n");printf("(1)自身密碼修改\n");printf("(2)用戶信息管理:添加,修改,刪除,查詢\n");printf("(3)商品信息管理:添加,修改,查詢,刪除\n");printf("(4)退出登陸系統(tǒng)\n");printf("店長功能:\n");printf("(1)自身密碼修改\n");printf("(2)商品信息管理:添加,修改,查詢,刪除\n");printf("(3)銷售報表顯示:日銷售報表,月銷售報表,銷售員銷售報表\n");printf("(4)退出登陸系統(tǒng)\n");printf("銷售員功能:\n");printf("(1)商品瀏覽,查詢,商品銷售\n");printf("(2)自己商品銷售報表顯示:日銷售報表,月銷售報表\n");printf("(3)退出登陸系統(tǒng)\n");printf("--------------謝謝使用--------------------\n"); printf("(注:管理員,店長,用戶登陸的賬號分別是admin,boss,sell初始密碼和賬號一致)\n");};歡迎界面運行如下(圖4-1):圖4-1 2.登陸模塊voidSystemLogin()函數(shù)voidSystemLogin(){//所有用戶身份調(diào)用的登陸函數(shù)charuserName[20],password[20];intisLogin=0;SystemUser*tmpUser;printf("請輸入你的系統(tǒng)用戶帳號:");scanf("%s",userName);printf("\n請輸入你的系統(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("對不起,你輸入的密碼錯誤!\n");SystemLogin();//用戶名正確,密碼錯誤}}tmpUser=tmpUser->next;}if(isLogin!=1){printf("對不起,該用戶不存在\n");//遍歷了所有用戶都沒有找到用戶SystemLogin();}}運算顯示如下(圖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("請輸入上面功能對應(yīng)的序號進行功能選擇:");scanf("%d",&select);switch(select){case1:ChangePassword();continue;case2:UserManage();continue;case3:ProductsManage();Continue;case4:ExitSystem();break;default:break;}}};運算顯示如下(圖4-3):圖4-3(2)自身密碼修改(調(diào)用密碼修改函數(shù)ChangePassword();)//密碼修改函數(shù)voidChangePassword(){charnewPassword1[20],newPassword2[20];SystemUser*tmpUser;printf("請輸入你的新密碼:");scanf("%s",newPassword1);printf("請再次輸入你的新密碼:");scanf("%s",newPassword2);if(0!=strcmp(newPassword1,newPassword2)){printf("對不起,你兩次輸入的密碼不一致,修改失敗!\n");return;}tmpUser=pSystemUserHead;while(NULL!=tmpUser){if(0==strcmp(tmpUser->userName,currentUser)){strcpy(tmpUser->password,newPassword1);printf("密碼修改成功!\n");break;}tmpUser=tmpUser->next;}};運算顯示如下(圖4-4):圖4-4用戶信息管理:添加,修改,刪除,查詢//用戶信息管理:添加,修改,刪除,查詢//voidUserManage(){//用戶信息函數(shù)//intselect; //管理員顯示模塊//while(1){printf("親愛的管理員%s同志,你目前進入的是用戶信息管理功能:\n",currentUser);printf("(1)用戶信息查看\n");printf("(2)用戶信息添加\n");printf("(3)用戶信息修改\n");printf("(4)用戶信息刪除\n");printf("(5)返回上級菜單\n");printf("(6)退出登陸系統(tǒng)\n");printf("請輸入上面功能對應(yīng)的序號進行功能選擇:");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();//返回上級系統(tǒng)//break;case6:ExitSystem();//退出登陸//break;default:break;}}};運算顯示如下(圖4-5):圖4-5//用戶信息查看函數(shù)//voidUserInfoView(){SystemUser*tmpUser;tmpUser=pSystemUserHead;printf("親愛的管理員%s,你好,你查看的所有用戶信息如下:\n",currentUser);printf("用戶名\t密碼\t用戶類型(1代表管理員,2代表店長,3代表銷售員)\n");while(NULL!=tmpUser){printf("%s\t%s\t%d\n",tmpUser->userName,tmpUser->password,tmpUser->userType);tmpUser=tmpUser->next;}};運算顯示如下(圖4-6)://用戶信息添加函數(shù)//voidUserInfoAdd(){SystemUsertmpUser;printf("親愛的管理員%s,請依次輸入用戶信息:\n",currentUser);printf("用戶名:");scanf("%s",tmpUser.userName);printf("用戶密碼:");scanf("%s",tmpUser.password);printf("用戶類型(1代表管理員,2代表店長,3代表銷售員):");scanf("%d",&tmpUser.userType);tmpUser.next=NULL;if(FUNCTION_SUCCESS==AddUser(&tmpUser))printf("用戶信息添加成功!\n");};運算顯示如下(圖4-7):圖4-7//用戶信息修改函數(shù)//voidUserInfoModify(){charuserName[20];SystemUser*pUser;printf("親愛的管理員%s,請輸入要修改的用戶帳號:\n",currentUser);scanf("%s",userName);pUser=pSystemUserHead;while(NULL!=pUser){if(0==strcmp(pUser->userName,userName)){printf("請輸入新的帳號:");scanf("%s",pUser->userName);printf("請輸入新的密碼:");scanf("%s",pUser->password);printf("請輸入新的用戶類型(1代表管理員,2代表店長,3代表銷售員):");scanf("%d",&pUser->userType);printf("用戶信息修改成功\n");return;}pUser=pUser->next;}printf("對不起,沒有你查找的用戶信息!\n");};運算顯示如下(圖4-8):圖4-8//用戶信息刪除函數(shù)//voidUserInfoDelete(){SystemUser*pUserA,*pUserB;charuserName[20];printf("親愛的管理員%s朋友,你好,你現(xiàn)在進入的用戶信息刪除功能:\n",currentUser);printf("請輸入你要刪除的用戶名:\n");scanf("%s",userName);pUserA=pUserB=pSystemUserHead;//pUserB指向要刪除的記錄,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("對不起,不存在該帳號的用戶信息!");};運算顯示如下(圖4-9):圖4-9(3)商品信息管理:添加,修改,查詢,刪除//商品管理模塊//voidProductsManage(){intselect;while(1){printf("親愛的%s朋友,你好,你現(xiàn)在進入的是商品管理功能,你可以選擇以下功能:\n",currentUser);printf("(1)商品信息查看\n");printf("(2)商品信息查找\n");printf("(3)商品信息添加\n");printf("(4)商品信息修改\n");printf("(5)商品信息刪除\n");printf("(6)返回上一級菜單\n");printf("(7)退出登陸系統(tǒng)\n");printf("請選擇應(yīng)的操作編號:");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){//返回上一級//caseADMIN_USER_TYPE:AdminOperationMenu();break;caseBOSS_USER_TYPE:BossOperationMenu();break;caseSELL_USER_TYPE:SellOperationMenu();break;default:break;}break;case7:ExitSystem();break;default:break;}}};運算顯示如下(圖4-10):圖4-10//商品的查看函數(shù)//voidProductsView(){Products*tmpProduct;inti;i=1;tmpProduct=pProductHead;if(NULL==tmpProduct)printf("對不起,目前還沒有商品信息");else{while(NULL!=tmpProduct){printf("第%d件商品信息如下:\n",i);printf("商品編號:%d\n",tmpProduct->productId);printf("商品名稱:%s\n",tmpProduct->productName);printf("商品型號:%s\n",tmpProduct->productType);printf("商品廠家:%s\n",tmpProduct->productCompany);printf("商品價格:%f\n",tmpProduct->productPrice);printf("商品數(shù)量:%d\n",tmpProduct->productCount);printf("商品附加信息:%s\n",tmpProduct->memo);tmpProduct=tmpProduct->next;i++;}}};運算顯示如下(圖4-11):圖4-11//商品查找函數(shù)//voidProductFind(){Products*tmpProduct;intfindWay,productId;charproductName[20];printf("親愛的%s朋友,你好,你現(xiàn)在進入的商品查詢功能:\n",currentUser);printf("請選擇查詢方式:1--按商品編號查詢2--按商品名稱查詢\n");scanf("%d",&findWay);tmpProduct=pProductHead;switch(findWay){case1:printf("請輸入查詢的商品編號:");scanf("%d",&productId);while(NULL!=tmpProduct){if(productId==tmpProduct->productId){printf("你查詢的商品編號為%d的商品信息如下:\n",productId);printf("商品名稱:%s\n",tmpProduct->productName);printf("商品型號:%s\n",tmpProduct->productType);printf("商品廠家:%s\n",tmpProduct->productCompany);printf("商品價格:%f\n",tmpProduct->productPrice);printf("商品數(shù)量:%d\n",tmpProduct->productCount);printf("商品附加信息:%s\n",tmpProduct->memo);return;}tmpProduct=tmpProduct->next;}printf("對不起,不存在該商品編號的商品!\n");break;case2:printf("請輸入查詢的商品名稱:");scanf("%s",productName);while(NULL!=tmpProduct){if(0==strcmp(tmpProduct->productName,productName)){printf("你要查詢的商品名稱為%s的商品信息如下:\n",productName);printf("商品名稱:%s\n",tmpProduct->productName);printf("商品型號:%s\n",tmpProduct->productType);printf("商品廠家:%s\n",tmpProduct->productCompany);printf("商品價格:%f\n",tmpProduct->productPrice);printf("商品數(shù)量:%d\n",tmpProduct->productCount);printf("商品附加信息:%s\n",tmpProduct->memo);return;}tmpProduct=tmpProduct->next;}printf("對不起,不存在該商品編號的商品!\n");break;default:break;}}運算顯示如下(圖4-12):圖4-12//商品添加函數(shù)//voidInputAndAddProduct(){Productsproduct;printf("親愛的%s朋友,你好,請依次輸入新商品的信息:\n",currentUser);printf("商品名稱:");scanf("%s",ductName);printf("商品型號:");scanf("%s",ductType);printf("商品制造商:");scanf("%s",ductCompany);printf("商品價格:");scanf("%f",&ductPrice);printf("商品數(shù)量:");scanf("%d",&ductCount);printf("商品附加信息:");scanf("%s",product.memo);product.next=NULL;if(FUNCTION_SUCCESS==AddProduct(&product))printf("商品信息添加成功!\n");};運算顯示如下(圖4-15):圖4-15//商品修改函數(shù)//voidModifyProduct(){intproductId;//待修改的商品編號Products*tmpProduct;printf("親愛的%s朋友,你好,你現(xiàn)在進入的商品信息修改功能:\n",currentUser);printf("請輸入要修改的商品編號:");scanf("%d",&productId);tmpProduct=pProductHead;if(NULL==tmpProduct)return;while(NULL!=tmpProduct){if(productId==tmpProduct->productId){printf("商品編號%d的商品信息如下:\n",productId);printf("商品名稱:%s\n",tmpProduct->productName);printf("商品型號:%s\n",tmpProduct->productType);printf("商品廠家:%s\n",tmpProduct->productCompany);printf("商品價格:%f\n",tmpProduct->productPrice);printf("商品數(shù)量:%d\n",tmpProduct->productCount);printf("商品附加信息:%s\n",tmpProduct->memo);printf("下面請對照修改該商品的相應(yīng)信息:\n");printf("新的商品名稱:");scanf("%s",tmpProduct->productName);printf("新的商品型號:");scanf("%s",tmpProduct->productType);printf("新的商品廠家:");scanf("%s",tmpProduct->productCompany);printf("新的商品價格:");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)在進入的商品刪除功能:\n",currentUser);printf("請輸入你要刪除的商品編號:\n");scanf("%d",&productId);tmpProductA=tmpProductB=pProductHead;//tmpProductB指向要刪除的記錄,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("對不起,不存在該商品編號的信息!");};店長功能模塊(圖4-16)
店長模塊自身密碼修改店長模塊自身密碼修改2.商品信息管理:添加,修改,查詢,刪除3.銷售報表顯示:日銷售報表,月銷售報表,銷售員銷售報表圖4-16店長歡迎界面//店長歡迎界面//voidBossOperationMenu(){
intselect;
while(1){
printf("親愛的店長%s同志,歡迎使用本系統(tǒng),你擁有下面所有功能:\n",currentUser);
printf("(1)自身密碼修改\n");
printf("(2)商品信息管理:添加,修改,查詢,刪除\n");
printf("(3)銷售報表顯示:日報表,月報表,商品銷售量報表,銷售員業(yè)績報表\n");
printf("(4)退出系統(tǒng)\n");
printf("請輸入上面功能對應(yīng)的序號進行功能選擇:");
scanf("%d",&select);
switch(select){
case1:
ChangePassword();
break;
case2:
ProductsManage();
break;
case3:
ReportPrint();
break;
case4:
ExitSystem();;
break;
default:
break;
}
}
};
(2)密碼修改,商品信息管理功能和管理員對應(yīng)功能的函數(shù)的調(diào)用一致(即調(diào)用ChangePassword()roductsManage()函數(shù))銷售報表顯示:日報表,月報表,商品銷售量報表,銷售員業(yè)績報表//銷售報表顯示//voidReportPrint(){
intselect=0;
if(SELL_USER_TYPE!=currentUserType){
while(1){
printf("親愛的朋友%s,你好,你現(xiàn)在進入的是銷售報表功能界面:\n",currentUser);
printf("(1)所有商品銷售情況\n");
printf("(2)商品日銷售報表\n");
printf("(3)商品月銷售報表\n");
printf("(4)銷售員銷售報表\n");
printf("(5)返回上級菜單\n");
printf("(6)退出登陸系統(tǒng)\n");
printf("請選擇對應(yīng)的功能號:");
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)在進入的是銷售報表功能界面:\n",currentUser);
printf("(1)查看自己日銷售報表\n");
printf("(2)查看自己月銷售報表\n");
printf("(3)返回上級菜單\n");
printf("(4)退出登陸系統(tǒng)");
printf("請選擇相應(yīng)的功能號:");
scanf("%d",&select);
switch(select){
case1:
ShowDaySellReport();
continue;
case2:
ShowMonthSellReport();
continue;
case3:
SellOperationMenu();
break;
case4:
ExitSystem();
break;
default:
break;
}
}
}
};//日銷售函數(shù)的統(tǒng)計//voidShowDaySellReport(){
intyear,month,day;
intrsCount=0;
floattotalPrice=0.0,onePrice;
charproductName[20];
SellInfoRecord*tmpSellInfo;
printf("你好%s:當前功能將進行日銷售報表顯示\n",currentUser);
printf("請輸入銷售時間年份:");
scanf("%d",&year);
printf("請輸入銷售時間月份:");
scanf("%d",&month);
printf("請輸入銷售時間號數(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("銷售編號:%d\n",tmpSellInfo->saleId);
printf("產(chǎn)品編號:%d\n",tmpSellInfo->productId);
getProductNameById(tmpSellInfo->productId,productName);
printf("產(chǎn)品名稱:%s\n",productName);
onePrice=getPriceById(tmpSellInfo->productId);
printf("商品單價:%f\n",onePrice);
printf("銷售數(shù)量:%d\n",tmpSellInfo->sellCount);
printf("銷售員:%s\n",tmpSellInfo->userName);
printf("銷售時間:%d年%d月%d日\n",tmpSellInfo->year,tmpSellInfo->month,tmpSellInfo->day);
totalPrice+=onePrice*tmpSellInfo->sellCount;
}
tmpSellInfo=tmpSellInfo->next;
}
printf("總共有%d條符合條件的記錄,銷售總價%f元\n",rsCount,totalPrice);
};
//月銷售量函數(shù)統(tǒng)計//
voidShowMonthSellReport(){
intyear,month;
intrsCount=0;
floattotalPrice=0.0,onePrice;
charproductName[20];
SellInfoRecord*tmpSellInfo;
printf("你好%s:當前功能將進行月銷售報表顯示\n",currentUser);
printf("請輸入銷售時間年份:");
scanf("%d",&year);
printf("請輸入銷售時間月份:");
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("銷售編號:%d\n",tmpSellInfo->saleId);
printf("產(chǎn)品編號:%d\n",tmpSellInfo->productId);
getProductNameById(tmpSellInfo->productId,productName);
printf("產(chǎn)品名稱:%s\n",productName);
onePrice=getPriceById(tmpSellInfo->productId);
printf("商品單價:%f\n",onePrice);
printf("銷售數(shù)量:%d\n",tmpSellInfo->sellCount);
printf("銷售員:%s\n",tmpSellInfo->userName);
printf("銷售時間:%d年%d月%d日\n",tmpSellInfo->year,tmpSellInfo->month,tmpSellInfo->day);
totalPrice+=onePrice*tmpSellInfo->sellCount;
}
tmpSellInfo=tmpSellInfo->next;
}
printf("總共有%d條符合條件的記錄,銷售總價%f元\n",rsCount,totalPrice);
};
//顯示銷售員的業(yè)績//
voidShowEmployeeSellReport(){
charuserName[20];
intrsCount=0;
floattotalPrice=0.0,onePrice;
charproductName[20];
SellInfoRecord*tmpSellInfo;
printf("你好%s:當前功能將進行銷售員銷售報表顯示\n",currentUser);
printf("請輸入銷售員的帳戶名:");
scanf("%s",userName);
tmpSellInfo=pSellInfoHead;
if(NULL==tmpSellInfo)return;
while(NULL!=tmpSellInfo){
if(0==strcmp(userName,tmpSellInfo->userName)){
rsCount++;
printf("符合條件的第%d條商品銷售記錄信息如下:\n",rsCount);
printf("銷售編號:%d\n",tmpSellInfo->saleId);
printf("產(chǎn)品編號:%d\n",tmpSellInfo->productId);
getProductNameById(tmpSellInfo->productId,productName);
printf("產(chǎn)品名稱:%s\n",productName);
onePrice=getPriceById(tmpSellInfo->productId);
printf("商品單價:%f\n",onePrice);
printf("銷售數(shù)量:%d\n",tmpSellInfo->sellCount);
printf("銷售員:%s\n",tmpSellInfo->userName);
printf("銷售時間:%d年%d月%d日\n",tmpSellInfo->year,tmpSellInfo->month,tmpSellInfo->day);
totalPrice+=onePrice*tmpSellInfo->sellCount;
}
tmpSellInfo=tmpSellInfo->next;
}
printf("總共有%d條符合條件的記錄,銷售總價%f元\n",rsCount,totalPrice);
};
//顯示所有銷售員的業(yè)績//
voidShowAllSellReport(){
intrsCount=0;
floattotalPrice=0.0,onePrice;
charproductName[20];
SellInfoRecord*tmpSellInfo;
printf("你好%s:當前功能將進行所有銷售報表顯示\n",currentUser);
tmpSellInfo=pSellInfoHead;
if(NULL==tmpSellInfo)return;
while(NULL!=tmpSellInfo){
rsCount++;
printf("第%d條商品銷售記錄信息如下:\n",rsCount);
printf("銷售編號:%d\n",tmpSellInfo->saleId);
printf("產(chǎn)品編號:%d\n",tmpSellInfo->productId);
getProductNameById(tmpSellInfo->productId,productName);
printf("產(chǎn)品名稱:%s\n",productName);
onePrice=getPriceById(tmpSellInfo->productId);
printf("商品單價:%f\n",onePrice);
printf("銷售數(shù)量:%d\n",tmpSellInfo->sellCount);
printf("銷售員:%s\n",tmpSellInfo->userName);
printf("銷售時間:%d年%d月%d日\n",tmpSellInfo->year,tmpSellInfo->month,tmpSellInfo->day);
totalPrice+=onePrice*tmpSellInfo->sellCount;
tmpSellInfo=tmpSellInfo->next;
}
printf("總共有%d條符合條件的記錄,銷售總價%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)報表查看\n");
printf("(5)退出登陸系統(tǒng)\n");
printf("請輸入上面功能對應(yīng)的序號進行功能選擇:");
scanf("%d",&select);
switch(select){
case1:
ProductsView();
continue;
case2:
ProductFind();
continue;
case3:
ProductsSell();
continue;
case4:
ReportPrint();
continue;
case5:
ExitSystem();;
break;
default:
break;
}
}
};
其它功能和管理員店長對應(yīng)功能的函數(shù)的調(diào)用一致(即調(diào)用ProductsView()ProductFind()ProductsSell()ReportPrint()函數(shù))1.開始登陸歡迎界面(圖5-1)本程序自動識別所有用戶(包括管理員,店長,銷售人員)身份,直接登陸即可,無需選擇那種登陸方式,身份為用戶注冊身份。(注:本程序設(shè)置了管理員,店長,銷售人員的初始賬號為adminbossSell初始密碼和賬號一致,可以用初始賬號登陸使用此程序)圖5-1管理員功能界面(圖5-2)根據(jù)自己的需要選擇功能前編號按ENTER健即可進入對應(yīng)功能,例如選擇用戶信息管理(選2按ENTER)圖5-2店長功能界面(圖5-3)假如你的賬號身份是店長登陸后顯示店長的功能界面圖5-3如果你需要的顯示銷售報表輸入3按enter就進入了(圖5-4)圖5-4銷售人員功能界面(圖5-5)圖5-56.總結(jié)在編程過程中遇到很多問題,之后請教同學(xué)和老師,細心的把問題一一解決。這次課程設(shè)計讓我掌握了許多的有用知識。首先通過不斷地學(xué)習(xí)和鍛煉更加熟練地掌握應(yīng)用軟件MicrosoftVisualC++了。設(shè)計正確及合適的程序?qū)τ谖覀兂鯇W(xué)者來說是很大的難題,出現(xiàn)一丁點兒錯誤就得非很大的努力去修改,正式者一步步一點點的努力讓我對C語言游樂更深的認識。同時我掌握了解決問題的方法,這無論是對以后的學(xué)習(xí)、生活都有無比
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 繆含2025年度離婚協(xié)議書及房產(chǎn)分割細則4篇
- 全新2025年度教育信息化建設(shè)合同
- 2025版信托投資公司外匯資產(chǎn)托管服務(wù)合同3篇
- 二零二五年度中美教育機構(gòu)合作項目風(fēng)險評估與管理合同3篇
- 二零二五版美縫施工與環(huán)保驗收合同4篇
- 水庫工程質(zhì)量檢測與監(jiān)控2025年度承包合同2篇
- 2025新生入學(xué)法律協(xié)議書(教育保障與未來規(guī)劃)3篇
- 二零二五年度定制門窗品牌代理銷售合同規(guī)范4篇
- 2025版農(nóng)田挖掘機操作工勞動合同模板6篇
- 個人出租車承包合同(2024版)
- 2024年高純氮化鋁粉體項目可行性分析報告
- 安檢人員培訓(xùn)
- 危險性較大分部分項工程及施工現(xiàn)場易發(fā)生重大事故的部位、環(huán)節(jié)的預(yù)防監(jiān)控措施
- 《榜樣9》觀后感心得體會四
- 2023事業(yè)單位筆試《公共基礎(chǔ)知識》備考題庫(含答案)
- 化學(xué)-廣東省廣州市2024-2025學(xué)年高一上學(xué)期期末檢測卷(一)試題和答案
- 2025四川中煙招聘高頻重點提升(共500題)附帶答案詳解
- EHS工程師招聘筆試題與參考答案(某大型央企)2024年
- 營銷策劃 -麗亭酒店品牌年度傳播規(guī)劃方案
- 2025年中國蛋糕行業(yè)市場規(guī)模及發(fā)展前景研究報告(智研咨詢發(fā)布)
- 護理組長年底述職報告
評論
0/150
提交評論