C語言專業(yè)課程設(shè)計服裝銷售系統(tǒng)_第1頁
C語言專業(yè)課程設(shè)計服裝銷售系統(tǒng)_第2頁
C語言專業(yè)課程設(shè)計服裝銷售系統(tǒng)_第3頁
C語言專業(yè)課程設(shè)計服裝銷售系統(tǒng)_第4頁
C語言專業(yè)課程設(shè)計服裝銷售系統(tǒng)_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

服裝銷售系統(tǒng)一.【要求】系統(tǒng)包含三類用戶:管理員、店長、銷售員。向管理員提供以下功效:本身密碼修改、其它用戶添加刪除、用戶信息修改、統(tǒng)計。商品信息添加、修改、刪除、查找、統(tǒng)計。向店長提供以下功效:登錄、注銷、本身密碼修改、本身信息修改,商品信息修改、商品信息設(shè)計,查看日報表、月報表、商品銷售量報表、查找瀏覽器修改商品貯備信息。向銷售員提供以下功效:商品瀏覽、查找、出售,查看自己本日報表、本月報表。[提醒]總體設(shè)計:整個服裝銷售系統(tǒng)可設(shè)計為管理員模塊、店長模塊、銷售員模塊、商品模塊等。數(shù)據(jù)結(jié)構(gòu)采取結(jié)構(gòu)體。二、結(jié)構(gòu)圖依據(jù)需求分析,該程序中銷售員應(yīng)實現(xiàn)以下功效:商品瀏覽、商品查找、出售商品、銷售統(tǒng)計、用戶注銷,具體結(jié)構(gòu)圖以下。店長應(yīng)實現(xiàn)以下功效:登錄、注銷、本身密碼修改、本身信息修改,商品信息修改、商品信息設(shè)計,查看日報表、月報表、商品銷售量報表、查找瀏覽器修改商品貯備信息,具體結(jié)構(gòu)圖以下。銷售員銷售員商品瀏覽商品查找出售商品銷售統(tǒng)計用戶注銷店長店長商品瀏覽商品查找銷售員業(yè)績商品信息修改密碼修改用戶注銷管理員需要實現(xiàn)以下功效:本身密碼修改、其它用戶添加刪除、用戶信息修改、統(tǒng)計。商品信息添加、修改、刪除、查找、統(tǒng)計。具體結(jié)構(gòu)圖以下。管理員管理員刪除用戶退出系統(tǒng)注銷賬戶修改密碼商品統(tǒng)計查找商品刪除商品添加商品統(tǒng)計用戶添加用戶三、程序中經(jīng)典步驟圖分析(一)添加模塊(1)分析:信息添加模塊職員基礎(chǔ)信息包含:用戶、商品基礎(chǔ)信息,對它們輸入后,要存進(jìn)原文件,步驟圖以下。文件打開否文件打開否輸入信息是否繼續(xù)將信息輸出到磁盤調(diào)用printf_back()函數(shù)結(jié)束開始輸犯錯誤信息(二)瀏覽模塊(1)分析:瀏覽功效首先需要查找信息是否存在,在查找時,因為磁盤文件無序,所以采取直接查找措施。在容錯上有很好能力,輸錯時系統(tǒng)會有提醒,也會作出對應(yīng)反應(yīng)。算法和以上分程序有相同優(yōu)點。[步驟開始開始打開文件否輸犯錯誤信息查找商品信息是否查找到輸出商品信息操作存盤是否繼續(xù)結(jié)束(三)查詢模塊(1)分析:基礎(chǔ)信息查詢按查詢方法:按商品名稱查詢,可供選擇方法比較豐富。但本程序只使用了一個。在查詢小模塊中采取了直接查找方法,這關(guān)鍵是因為磁盤文件無序緣故。程序在選擇結(jié)構(gòu)上采取了if和else嵌套形式,看起來有點繁雜。開始開始文件打開查詢方法是否繼續(xù)結(jié)束輸犯錯誤信息商品名稱(四)刪除模塊(1)分析:商品信息存放在磁盤中,程序須將該文件全部取出來,在內(nèi)存中把要刪掉內(nèi)容除去,然后在重新輸入到磁盤,這種算法比較合理,但有一點煩瑣。能夠改為另一個措施:設(shè)置一個標(biāo)示符,對有這些標(biāo)識符統(tǒng)計在下次輸入時跳過,在新商品信息輸入時,將其覆蓋就行了。在對文件進(jìn)行刪除時,考慮到很多方面,如:查詢不到時系統(tǒng)該怎樣處理等。人性化設(shè)計有在刪除之前問詢是否繼續(xù)。[步驟圖]開始開始文件打開查找商品信息是否查找到輸入信息是否繼續(xù)結(jié)束輸犯錯誤信息刪除操作五)修改模塊(1)分析:修改和刪除程序相同,管理員信息存放在磁盤中,程序須將該文件全部取出來,在內(nèi)存中把要修改內(nèi)容修改,然后在重新輸入到磁盤,這種算法比較合理,但有一點煩瑣,能夠改善。開始開始文件打開查找職員信息是否查找到輸入信息是否繼續(xù)結(jié)束輸犯錯誤信息修改操作四、題目分析1、根據(jù)系統(tǒng)需要三類用戶用它作為主函數(shù):intmain(){user*use;DRESS*dress;ADMIN*adm;use=(user*)malloc(200*sizeof(user));userIntiate(use); adm=(ADMIN*)malloc(sizeof(ADMIN));adminIntiate(adm);dress=(DRESS*)malloc(500*sizeof(DRESS));dressIntiate(dress); while(1) {if(first(use,adm,dress)==3)continue;}}2、三類用戶選擇登陸為int*first(user*use,ADMIN*adm,DRESS*dress){intchose;inttemp,temp2;while(1){system("cls");printf("http://=========功效菜單========//\n");printf("http:////\n"); printf("http:////\n"); printf("http://1,銷售員登陸//\n"); printf("http://2,店長登陸//\n"); printf("http://3,管理員登陸//\n"); printf("http:////\n"); printf("http://=========================//\n"); printf("\n/=============================請選擇服務(wù)種類========================/\n"); scanf("%d",&chose); if(chose<1||chose>5) { printf("你選擇出現(xiàn)錯誤!按任意鍵重新進(jìn)入選擇菜單!\n");system("pause"); continue; } switch(chose) { case1: { system("cls"); if(userload(use)==1){usermenu(use,dress);} system("pause"); break; } case2: { system("cls"); if(monload(use)==1){monmenu(use,dress);} break; } case3: { system("cls"); temp=adminload(adm); if(temp==1) {system("pause");temp2=adminmenu(adm,use,dress);return3;}system("pause"); continue; } default:exit(0); } }//while()}3、當(dāng)選擇管理員時候就用以下程序,注明(管理員初始賬號是admin)intregnew(user*use){charname[21];charpass[7]={0};intchose;inti,j;inttype;while(1) {system("cls");printf("用戶名:");scanf("%s",&name);printf("密碼:");for(i=0;i<6;i++){pass[i]=getch();printf("*");}printf("\n\n請輸入用戶類型:0,銷售員1,店長");scanf("%d",&type);while(1){printf("\n\n用戶注冊信息入完成,是否確定?1,確定0,重新輸入\n");scanf("%d",&chose);if(chose!=1&&chose!=0){printf("你輸入有誤,請重新輸入!\n");continue;}if(chose==1){for(i=0;i<usernum+1;i++)if(use[i].flag==0){printf("注冊成功!請繼續(xù)使用!\n");strcpy(use[i].username,name);strcpy(use[i].pass,pass);usernum++;use[i].flag=1;use[i].type=type;return1;}}elsebreak;}}}intdeluser(user*use){inti;charname[20];printf("請輸入你想要刪除用戶用戶名:");scanf("%s",name);for(i=0;i<200;i++){if(strcmp(use[i].username,name)==0){printf("\n\n\n用戶%s刪除成功!\n\n\n\n",name);strcpy(use[i].username,"unknown");use[i].flag=-1;return1;}}printf("用戶%s不存在!請查正在次操作!\n\n\n\n",name);return0;}intuseall(user*use){inti;system("cls");printf("銷售人員:\n");for(i=0;i<200;i++){if(use[i].type==0){if(use[i].flag==1)printf("用戶姓名:%s用戶密碼:%s\n",use[i].username,use[i].pass);}}printf("店長:\n");for(i=0;i<200;i++){if(use[i].type==1){if(use[i].flag==1)printf("用戶姓名:%s用戶密碼:%s\n",use[i].username,use[i].pass);}}}intadminload(ADMIN*adm){charname[21];charpass[7]={0}; intchose,chose2; inti,j;while(1) {system("cls");printf("管理員賬號:");scanf("%s",&name);printf("密碼:"); for(i=0;i<6;i++) {pass[i]=getch();printf("*");}while(1){printf("\n\n用戶登陸信息輸入完成,是否確定?1,確定0,重新輸入\n");scanf("%d",&chose);if(chose!=1&&chose!=0){printf("你輸入有誤,請重新輸入!\n");continue;}if(chose==1){if(strcmp(adm->name,name)==0)if(strcmp(adm->pass,pass)==0){printf("登陸成功!請繼續(xù)使用!\n");strcpy(usertemp.username,name);return1;}printf("輸入用戶名或密碼有誤!1,重新登陸2,退出登陸!\n");scanf("%d",&chose2);if(chose2==1){system("cls");break;}else{system("cls");return0;}}if(chose==0)break;}}}intadminpass(ADMIN*adm){inti;charpass[20]={0};charpass2[20]={0};while(1){system("cls");printf("請輸入新管理員密碼:");for(i=0;i<6;i++){pass[i]=getch();printf("*");}printf("\n\n\n請再次輸入新管理員密碼:");for(i=0;i<6;i++){pass2[i]=getch();printf("*");}if(strcmp(pass,pass2)!=0){printf("\n\n兩次輸入新密碼不一樣,請重新輸入!\n\n\n");system("pause");}else{printf("\n密碼修改成功!下一次管理員登陸請使用新密碼!\n\n\n");strcpy(adm->pass,pass);system("pause");return1;}}}intadminout(){intchose;while(1){system("cls");printf("你確定要注銷嗎?1,注銷0,取消\n\n");scanf("%d",&chose);if(chose!=0&&chose!=1){printf("你選項出現(xiàn)了錯誤,請重新輸入!\n\n\n");system("pasue");continue;}if(chose==1){printf("管理員賬戶注銷完成?。n\n\n\n");system("pause");return1;}elsereturn0;}}intout(){intchose;system("cls");printf("真要退出系統(tǒng)嗎?退出后信息會全部丟失??!1,退出0,取消");scanf("%d",&chose);if(chose==1)exit(0);elsereturn1;}intadminmenu(ADMIN*adm,user*use,DRESS*dress){intchose1;while(1) {system("cls");printf("\n在線用戶:%s\n\n",usertemp.username);printf("http://=======用戶功效菜單=====//\n");printf("http:////\n"); printf("http://1,添加用戶//\n"); printf("http://2,刪除用戶//\n"); printf("http://3,統(tǒng)計用戶//\n"); printf("http://4,添加商品//\n"); printf("http://5,刪除商品//\n"); printf("http://6,查找商品//\n"); printf("http://7,商品統(tǒng)計//\n"); printf("http://8,修改密碼//\n"); printf("http://9,注銷賬戶//\n"); printf("http://0,退出系統(tǒng)//\n"); printf("http://=========================//\n"); printf("\n/=============================請選擇服務(wù)種類========================/\n");scanf("%d",&chose1);if(chose1<0||chose1>9){printf("你輸入有誤,請重新輸入!\n");system("pasue");continue;}switch(chose1) { case1: {system("cls"); regnew(use); system("pause"); break; } case2: { system("cls"); deluser(use); system("pause"); break; } case3: { system("cls"); useall(use); system("pause"); break; } case4: { system("cls"); adddress(dress);system("pasue"); break; } case5: { system("cls"); deldress(dress); break; } case6: { system("cls"); finddress(dress); break; }case7: { system("cls"); dressall(dress);system("pasue"); break; } case8: { system("cls"); if(adminpass(adm)==1)continue; break; } case9: { system("cls"); if(adminout()==1)return3; } case0:{ system("cls");if(out()==1)continue; break; } default:continue; }}}intuserload(user*use){charname[21];charpass[7]={0}; intchose,chose2;inti,j;while(1) {system("cls");printf("用戶名:");scanf("%s",&name);printf("密碼:"); for(i=0;i<6;i++) {pass[i]=getchar();printf("*");}while(1){printf("\n\n用戶登陸信息輸入完成,是否確定?1,確定0,重新輸入\n");scanf("%d",&chose);if(chose!=1&&chose!=0){printf("你輸入有誤,請重新輸入!\n");continue;}if(chose==1){for(i=0;i<200;i++){if(use[i].type==1)if(strcmp(use[i].username,name)==0)if(strcmp(use[i].pass,pass)==0){printf("登陸成功!請繼續(xù)使用!\n");strcpy(usertemp.username,name);return1;}}printf("輸入用戶名或密碼有誤!1,重新登陸2,退出登陸!\n");scanf("%d",&chose2);if(chose2==1){system("cls");break;}else{system("cls");return0;}}if(chose==0)break;}}}這里面包含了管理員十個功效選項。4,選擇銷售員和店長,(注明第一次運行時原來沒有銷售員和店長,需要管理員添加。)intuserout(){intchose;while(1){system("cls");printf("\n在線用戶:%s\n\n",usertemp.username);printf("你確定要注銷嗎?1,注銷0,取消\n\n");scanf("%d",&chose);if(chose!=0&&chose!=1){printf("你選項出現(xiàn)了錯誤,請重新輸入!\n\n\n");system("pasue");continue;}if(chose==1){printf("銷售員賬戶注銷完成!!\n\n\n\n");strcpy(usertemp.username,"unknown");//system("pause");return1;}elsereturn0;}}intsold(user*use,DRESS*dress){charname[20];intnum;inti;intj;intk;system("cls");printf("\n在線用戶:%s\n\n",usertemp.username);printf("請輸入要出售商品名稱:");scanf("%s",&name);printf("\n請輸入出售數(shù)量:");scanf("%d",&num);for(k=0;k<200;k++){if(strcmp(use[k].username,usertemp.username)==0)for(i=0;i<500;i++){if(strcmp(dress[i].name,name)==0){if(dress[i].now<num)break;dress[i].now=dress[i].now-num;printf("\n\n\n商品%s已經(jīng)銷售出了%d件\n",name,num);for(j=0;j<100;j++){if(use[k].mdb[j].flag==0){strcpy(use[k].mdb[j].name,name);use[k].mdb[j].flag=1;use[k].mdb[j].total=num;return1;}}}}}printf("商品出售出現(xiàn)錯誤!!請重新操作!\n\n\n");return0;}voidmounth(user*use){inti;intj;charname[20];strcpy(name,usertemp.username);system("cls");printf("\n在線用戶:%s\n\n",usertemp.username);for(i=0;i<100;i++){if(strcmp(use[i].username,name)==0){for(j=0;j<100;j++){if(use[i].mdb[j].flag==1)printf("商品名稱:%s,出售數(shù)量:%d\n",use[i].mdb[j].name,use[i].mdb[j].total);}}}}intusermenu(user*use,DRESS*dress){inti;intchose1;while(1) {system("cls");printf("\n在線用戶:%s\n\n",usertemp.username);printf("http://=======用戶功效菜單=====//\n");printf("http:////\n"); printf("http://1,商品瀏覽//\n"); printf("http://2,商品查找//\n"); printf("http://3,出售商品//\n"); printf("http://4,銷售統(tǒng)計//\n"); printf("http://5,用戶注銷//\n"); printf("http:////\n"); printf("http:////\n"); printf("http://=========================//\n"); printf("\n/=============================請選擇服務(wù)種類========================/\n");scanf("%d",&chose1);if(chose1<0||chose1>9){printf("你輸入有誤,請重新輸入!\n");system("pasue");continue;}switch(chose1) { case1: {system("cls"); dressall(dress); break; } case2: {system("cls"); finddress(dress); break; } case3: {system("cls"); sold(use,dress); system("pause"); break; } case4: {system("cls"); mounth(use);system("pause"); break; } case5: {system("cls"); if(userout()==1)return3; break; }default:continue; }}}intmonpass(user*use){inti;charpass[20]={0};charpass2[20]={0};while(1){printf("請輸入新密碼:");for(i=0;i<6;i++){pass[i]=getch();printf("*");}printf("\n\n\n請再次輸入新密碼:");for(i=0;i<6;i++){pass2[i]=getch();printf("*");}if(strcmp(pass,pass2)!=0){printf("\n\n兩次輸入新密碼不一樣,請重新輸入!\n\n\n");system("pause");}else{printf("\n密碼修改成功!下一次登陸請使用新密碼!\n\n\n");for(i=0;i<200;i++){if(strcmp(use[i].username,usertemp.username)==0){strcpy(use[i].pass,pass);system("pause");}}return1;}}}voidmonsee(user*use){inti;intj;charname[20];system("cls");printf("\n在線用戶:%s\n\n",usertemp.username);for(i=0;i<100;i++){if(use[i].flag==1&&use[i].type==0){printf("銷售員姓名:%s\n",use[i].username);for(j=0;j<100;j++){if(use[i].mdb[j].flag==1)printf("商品名稱:%s,出售數(shù)量:%d\n",use[i].mdb[j].name,use[i].mdb[j].total);}}}}intmonload(user*use){charname[21];charpass[7]={0}; intchose,chose2; inti,j;while(1) {system("cls");printf("用戶名:");scanf("%s",&name);printf("密碼:"); for(i=0;i<6;i++) {pass[i]=getch();printf("*");}while(1){printf("\n\n用戶登陸信息輸入完成,是否確定?1,確定0,重新輸入\n");scanf("%d",&chose);if(chose!=1&&chose!=0){printf("你輸入有誤,請重新輸入!\n");continue;}if(chose==1){for(i=0;i<200;i++){if(use[i].type==1)if(strcmp(use[i].username,name)==0)if(strcmp(use[i].pass,pass)==0){printf("登陸成功!請繼續(xù)使用!\n");strcpy(usertemp.username,name);return1;}}printf("輸入用戶名或密碼有誤!1,重新登陸2,退出登陸!\n");scanf("%d",&chose2);if(chose2==1){system("cls");break;}else{system("cls");return0;}}if(chose==0)break;}}}intmonout(){intchose;while(1){system("cls");printf("\n在線用戶:%s\n\n",usertemp.username);printf("你確定要注銷嗎?1,注銷0,取消\n\n");scanf("%d",&chose);if(chose!=0&&chose!=1){printf("你選項出現(xiàn)了錯誤,請重新輸入!\n\n\n");system("pasue");continue;}if(chose==1){printf("店長賬戶注銷完成?。n\n\n\n");strcpy(usertemp.username,"unknown");return1;}elsereturn0;}}intfix(DRESS*dress){charname[20],name2[20];inttotal;intnow;inti;system("cls");printf("\n在線用戶:%s\n\n",usertemp.username);printf("請輸入需要修改信息商品名稱:");scanf("%s",&name);for(i=0;i<500;i++){if(strcmp(dress[i].name,name)==0){printf("商品信息:\n名稱:%s,現(xiàn)存:%d,總共:%d\n",dress[i].name,dress[i].now,dress[i].total);printf("\n\n請輸入修改以后商品名稱:");scanf("%s",&name2);printf("\n\n請輸入修改以后商品現(xiàn)存:");scanf("%d",&now);printf("\n\n請輸入修改以后商品總共:");scanf("%d",&total);strcpy(dress[i].name,name2);dress[i].now=now;dress[i].total=total;printf("\n\n");printf("修改以后商品信息:\n名稱:%s,現(xiàn)存:%d,總共:%d\n",dress[i].name,dress[i].now,dress[i].total);return1;}}printf("修改信息失?。≌埐檎院笾匦虏僮鳎。n\n\n");return0;}intmonmenu(user*use,DRESS*dress){inti;intchose1;while(1) {system("cls");printf("\n

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論