下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.服裝銷售系統(tǒng)一 .【要求】( 1) 系統(tǒng)包含三類用戶:管理員、店長(zhǎng)、銷售員。( 2) 向管理員提供以下功能: 自身密碼修改、 其他用戶添加刪除、 用戶信息修改、統(tǒng)計(jì)。商品信息添加、修改、刪除、查找、統(tǒng)計(jì)。( 3) 向店長(zhǎng)提供以下功能:登錄、注銷、自身密碼修改、自身信息修改,商品信息修改、商品信息設(shè)計(jì),查看日?qǐng)?bào)表、月報(bào)表、商品銷售量報(bào)表、查找瀏覽器修改商品儲(chǔ)備信息。( 4) 向銷售員提供以下功能:商品瀏覽、查找、出售,查看自己本日?qǐng)?bào)表、本月報(bào)表。( 5)提示 ( 1) 總體設(shè)計(jì):整個(gè)服裝銷售系統(tǒng)可設(shè)計(jì)為管理員模塊、店長(zhǎng)模塊、銷售員模塊、商品模塊等。( 2) 數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體。二、結(jié)構(gòu)圖根據(jù)需
2、求分析,該程序中銷售員應(yīng)實(shí)現(xiàn)如下功能:商品瀏覽、商品查找、出售商品、銷售記錄、用戶注銷,具體結(jié)構(gòu)圖如下。 店長(zhǎng)應(yīng)實(shí)現(xiàn)如下功能: 登錄、注銷、自身密碼修改、自身信息修改,商品信息修改、商品信息設(shè)計(jì),查看日?qǐng)?bào)表、月報(bào)表、商品銷售量報(bào)表、 查找瀏覽器修改商品儲(chǔ)備信息,具體結(jié)構(gòu)圖如下。.銷售員商品瀏覽商品查找出售商品銷售記錄用戶注銷店長(zhǎng)商商銷商密用品品售品碼戶瀏查員信修注覽找業(yè)息改銷績(jī)修改管理員需要實(shí)現(xiàn)如下功能:自身密碼修改、其他用戶添加刪除、用戶信息修改、統(tǒng)計(jì)。商品信息添加、修改、刪除、查找、統(tǒng)計(jì)。具體結(jié)構(gòu)圖如下。.管理員添刪退注修商查刪添統(tǒng)加除出銷改品找除加計(jì)用用系賬密統(tǒng)商商商用戶戶統(tǒng)戶碼計(jì)品品品
3、戶三、程序中典型的流程圖分析(一)添加模塊( 1)分析:信息添加模塊職工的基本信息包括:用戶、商品基本信息,對(duì)它們輸入后,要存進(jìn)原文件,流程圖如下。開始文件打開否輸入信息輸出錯(cuò)誤信息將信息輸出到磁盤是否繼續(xù)調(diào)用 printf_back() 函數(shù)結(jié)束(二)瀏覽模塊( 1)分析:瀏覽功能首先需要查找信息是否存在,在查找時(shí),因?yàn)榇疟P文件無.序,所以采用直接查找的辦法。在容錯(cuò)上有較好的能力,輸錯(cuò)時(shí)系統(tǒng)會(huì)有提示,也會(huì)作出相應(yīng)的反映。算法和以上的分程序有相同的優(yōu)點(diǎn)。流程開始輸出錯(cuò)誤信息打開文件否查找商品信息是否查找到輸出商品信息操作存盤是否繼續(xù)結(jié)束(三)查詢模塊( 1)分析:基本信息的查詢按查詢方式:按商
4、品的名稱查詢,可供選擇的方式比較豐富。但本程序只使用了一種。 在查詢小模塊中采用了直接查找的方法, 這主要是由于磁盤文件無序的緣故。 程序在選擇結(jié)構(gòu)上采用了 if 和 else的嵌套形式,看起來有點(diǎn)繁雜。.開始文件打開查詢方式輸出錯(cuò)誤信息商品的名稱是否繼續(xù)結(jié)束(四)刪除模塊( 1)分析:商品信息存放在磁盤中,程序須將該文件全部取出來,在內(nèi)存中把要?jiǎng)h掉的內(nèi)容除去, 然后在重新輸入到磁盤, 這種算法比較合理, 但有一點(diǎn)煩瑣。可以改為另一種辦法: 設(shè)置一個(gè)標(biāo)示符, 對(duì)有這些標(biāo)識(shí)符的記錄在下次輸入時(shí)跳過,在新商品信息輸入時(shí),將其覆蓋就行了。在對(duì)文件進(jìn)行刪除時(shí),考慮到很多方面,如:查詢不到時(shí)系統(tǒng)該如何處
5、理等。 人性化設(shè)計(jì)有在刪除之前詢問是否繼續(xù)。流程圖 .開始文件打開輸出錯(cuò)誤信息查找商品信息是否查找到刪除操作輸入信息是否繼續(xù)結(jié)束五)修改模塊( 1)分析:修改與刪除程序相似,管理員信息存放在磁盤中,程序須將該文件全部取出來, 在內(nèi)存中把要修改的內(nèi)容修改, 然后在重新輸入到磁盤, 這種算法比較合理,但有一點(diǎn)煩瑣,可以改進(jìn)。.開始文件打開輸出錯(cuò)誤信息查找職工信息是否查找到修改操作輸入信息是否繼續(xù)結(jié)束四、題目分析1、按照系統(tǒng)需要三類用戶用它作為主函數(shù):int main()user *use;DRESS *dress; ADMIN *adm;use=(user *)malloc(200*sizeof(
6、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)int chose;int temp,temp2;while(1)system(cls);printf(/=功能菜單=/n);
7、printf(/n);printf(/n);printf(/1,銷售員登陸/n);printf(/2,店長(zhǎng)登陸/n);printf(/3,管理員登陸/n);printf(/n);printf(/=/n);.printf(n/=請(qǐng)選擇服務(wù)的種類=/n);scanf(%d,&chose);if(chose5)printf(你的選擇出現(xiàn)錯(cuò)誤!按任意鍵重新的進(jìn)入選擇菜單!n);system(pause);continue;switch(chose)case 1:system(cls);if(userload(use)=1) usermenu(use,dress);system(pause);break
8、;case 2:.system(cls);if(monload(use)=1)monmenu(use,dress);break;case 3:system(cls);temp=adminload(adm);if(temp=1)system(pause);temp2=adminmenu(adm,use,dress);return 3;system(pause);continue;.default: exit(0);/while()3、當(dāng)選擇管理員的時(shí)候就用如下程序,注明(管理員的初始賬號(hào)是admin)int regnew(user *use)char name21; char pass7=0;
9、int chose;int i,j;int type;while(1)system(cls);printf(用戶名: );scanf(%s,&name);printf(密碼: );for(i=0;i6;i+) passi=getch(); printf(*);printf(nn請(qǐng)輸入用戶的類型: 0,銷售員.1,店長(zhǎng) );scanf(%d,&type);while(1)printf(nn用戶注冊(cè)信息入完畢,是否確認(rèn)?1,確認(rèn) 0,重新輸入 n);scanf(%d,&chose);if(chose!=1&chose!=0)printf(你的輸入有誤,請(qǐng)重新的輸入!n);continue;if(c
10、hose=1) for(i=0;iusernum+1;i+) if(usei.flag=0)printf(注冊(cè)成功!請(qǐng)繼續(xù)使用! n);strcpy(usei.username,name);strcpy(usei.pass,pass);usernum+;usei.flag=1;usei.type=type;return 1;.else break;int deluser(user *use)int i;char name20;printf(請(qǐng)輸入你想要?jiǎng)h除的用戶的用戶名: );scanf(%s,name);for(i=0;i200;i+)if(strcmp(usei.username,name
11、)=0)printf(nnn用戶%s 刪除成功! nnnn,name);strcpy(usei.username,unknown);usei.flag=-1;return 1;printf(用戶%s 不存在!請(qǐng)查正在次操作!nnnn,name);return 0;int useall(user *use).int i; system(cls);printf( 銷售人員: n); for(i=0;i200;i+) if(usei.type=0) if(usei.flag=1)printf(用戶姓名:%s 用戶密碼:%sn,usei.username,usei.pass);printf(店長(zhǎng): n
12、);for(i=0;i200;i+) if(usei.type=1) if(usei.flag=1)printf(用戶姓名:%s 用戶密碼:%sn,usei.username,usei.pass);int adminload(ADMIN *adm)char name21; char pass7=0;.int chose,chose2;int i,j;while(1)system(cls);printf(管理員賬號(hào): );scanf(%s,&name);printf(密碼: );for(i=0;iname,name)=0)if(strcmp(adm-pass,pass)=0)printf(登陸成
13、功!請(qǐng)繼續(xù)使用!n);strcpy(usertemp.username,name);return 1;printf(輸入的用戶名或者密碼有誤!1,重新登陸2,退出登陸! n);scanf(%d,&chose2);if(chose2=1)system(cls);break;elsesystem(cls); return 0;.if(chose=0) break;int adminpass(ADMIN *adm)int i;char pass20=0; char pass220=0; while(1)system(cls);printf( 請(qǐng)輸入新的管理員密碼: );for(i=0;i6;i+)
14、passi=getch(); printf(*);printf(nnn請(qǐng)?jiān)俅屋斎胄碌墓芾韱T密碼:);for(i=0;ipass,pass);system(pause);return 1;int adminout()int chose; while(1) system(cls);printf(你確定要注銷嗎?1,注銷0,取消 nn);.scanf(%d,&chose);if(chose!=0&chose!=1) printf(你的選項(xiàng)出現(xiàn)了錯(cuò)誤,請(qǐng)重新的輸入!nnn);system(pasue);continue;if(chose=1)printf(管理員 賬戶注銷完畢!nnnn);system
15、(pause);return 1;else return 0;int out()int chose;system(cls);printf(真的要退出系統(tǒng)嗎?退出后信息會(huì)全部的丟失!1,退出0,取消 );.scanf(%d,&chose);if(chose=1)exit(0);else return 1;int adminmenu(ADMIN *adm,user *use,DRESS *dress)int chose1;while(1)system(cls);printf(n在線用戶:%snn,usertemp.username);printf(/= = 用戶功能菜單=/n);printf(/n
16、);printf(/1 ,添加用戶/n);printf(/2,刪除用戶/n);printf(/3 ,統(tǒng)計(jì)用戶/n);.printf(/4 ,添加商品/n);printf(/5 ,刪除商品/n);printf(/6 ,查找商品/n);printf(/7 ,商品統(tǒng)計(jì)/n);printf(/8 ,修改密碼/n);printf(/9,注銷賬戶/n);printf(/0 ,退出系統(tǒng)/n);printf(/=/n);printf(n/=請(qǐng)選擇服務(wù)的種類 =/n);scanf(%d,&chose1);if(chose19)printf(你的輸入有誤,請(qǐng)重新的輸入! n);.system(pasue);con
17、tinue;switch(chose1)case 1:system(cls);regnew(use);system(pause);break;case 2:system(cls);deluser(use);system(pause);break;case 3:system(cls);useall(use);.system(pause);break;case 4:system(cls);adddress(dress);system(pasue);break;case 5:system(cls);deldress(dress);break;case 6:system(cls);finddress(
18、dress);break;.case 7:system(cls);dressall(dress);system(pasue);break;case 8:system(cls);if(adminpass(adm)=1) continue;break;case 9:system(cls);if(adminout()=1) return 3;case 0:system(cls);if(out()=1) continue;break;.default: continue;int userload(user *use)char name21; char pass7=0;int chose,chose2;
19、int i,j;while(1)system(cls);printf(用戶名: );scanf(%s,&name);printf(密碼: );for(i=0;i6;i+)passi=getchar();printf(*);while(1).printf(nn用戶登陸信息輸入完畢, 是否確認(rèn) ?1,確認(rèn) 0,重新輸入 n);scanf(%d,&chose);if(chose!=1&chose!=0)printf(你的輸入有誤,請(qǐng)重新的輸入!n);continue;if(chose=1)for(i=0;i200;i+)if(usei.type=1)if(strcmp(usei.username,n
20、ame)=0)if(strcmp(usei.pass,pass)=0)printf(登陸成功!請(qǐng)繼續(xù)使用!n);strcpy(usertemp.username,name);return 1;.printf(輸入的用戶名或者密碼有誤! 1,重新登陸 2,退出登陸! n);scanf(%d,&chose2);if(chose2=1)system(cls);break;elsesystem(cls); return 0;if(chose=0) break;這里面包含了管理員的十個(gè)功能選項(xiàng)。4,選擇銷售員和店長(zhǎng),(注明第一次運(yùn)行時(shí)本來沒有銷售員和店長(zhǎng),需要管理員添加。)int userout().i
21、nt chose; while(1) system(cls);printf(n在線用戶:%snn,usertemp.username);printf(你確定要注銷嗎?1,注銷0,取消 nn);scanf(%d,&chose);if(chose!=0&chose!=1)printf(你的選項(xiàng)出現(xiàn)了錯(cuò)誤, 請(qǐng)重新的輸入!nnn);system(pasue);continue;if(chose=1)printf(銷售員賬 戶注銷完畢!nnnn);strcpy(usertemp.username,unknown);/system(pause);return 1;.else return 0;int s
22、old(user *use,DRESS *dress)char name20; int num;int i; int j; int k;system(cls);printf(n在線用戶: %snn,usertemp.username);printf(請(qǐng)輸入要出售的商品的名稱:);scanf(%s,&name);printf(n請(qǐng)輸入出售的數(shù)量: );scanf(%d,&num);for(k=0;k200;k+)if(strcmp(usek.username,usertemp.username)=0)for(i=0;i500;i+)if(strcmp(,name)=0).i
23、f(dressi.nownum) break;dressi.now=dressi.now-num;printf(nnn商 品%s 已 經(jīng) 銷售 出了%d 件n,name,num);for(j=0;j100;j+)if(usek.mdbj.flag=0)strcpy(,name);usek.mdbj.flag=1;usek.mdbj.total=num;return 1;printf(商品出售出現(xiàn)錯(cuò)誤!請(qǐng)重新操作! nnn);return 0;void mounth(user *use).int i; int j;char name20; strcpy(name,us
24、ertemp.username);system(cls);printf(n在線用戶: %snn,usertemp.username);for(i=0;i100;i+) if(strcmp(usei.username,name)=0) for(j=0;j100;j+)if(usei.mdbj.flag=1)printf(商 品 名 稱 :%s, 出 售 數(shù)量: %dn,,usei.mdbj.total);int usermenu(user *use,DRESS *dress)int i;int chose1;.while(1)system(cls);printf(n在
25、線用戶:%snn,usertemp.username);printf(/= = 用戶功能菜單=/n);printf(/n);printf(/1 ,商品瀏覽/n);printf(/2 ,商品查找/n);printf(/3,出售商品/n);printf(/4 ,銷售記錄/n);printf(/5 ,用戶注銷/n);printf(/n);printf(/./n);printf(/=/n);printf(n/=請(qǐng)選擇服務(wù)的種類 =/n);scanf(%d,&chose1);if(chose19)printf(你的輸入有誤,請(qǐng)重新的輸入! n);system(pasue);continue;switch
26、(chose1)case 1:system(cls);dressall(dress);break;case 2:system(cls);finddress(dress);.break;case 3:system(cls);sold(use,dress);system(pause);break;case 4:system(cls);mounth(use);system(pause);break;case 5:system(cls);if(userout()=1) return 3;break;default: continue;.int monpass(user *use)int i;char
27、pass20=0; char pass220=0; while(1) printf(請(qǐng)輸入新的密碼: ); for(i=0;i6;i+)passi=getch();printf(*);printf(nnn請(qǐng)?jiān)俅屋斎胄碌拿艽a: ); for(i=0;i6;i+)pass2i=getch();printf(*);if(strcmp(pass,pass2)!=0)printf(nn兩次輸入的新的密碼不一樣,請(qǐng)重新的輸入! nnn);.system(pause);elseprintf(n密碼修改成功!下一次登陸請(qǐng)使用新的密碼!nnn);for(i=0;i200;i+)if(strcmp(usei.us
28、ername,usertemp.username)=0)strcpy(usei.pass,pass);system(pause);return 1;void monsee(user *use)int i; int j;char name20;.system(cls);printf(n在線用戶: %snn,usertemp.username);for(i=0;i100;i+) if(usei.flag=1&usei.type=0)printf( 銷售員姓名:%sn,usei.username);for(j=0;j100;j+)if(usei.mdbj.flag=1)printf(商 品 名 稱
29、:%s, 出 售 數(shù)量: %dn,,usei.mdbj.total);int monload(user *use)char name21;char pass7=0;int chose,chose2;int i,j;.while(1)system(cls);printf(用戶名: );scanf(%s,&name);printf(密碼: );for(i=0;i6;i+)passi=getch();printf(*);while(1)printf(nn用戶登陸信息輸入完畢, 是否確認(rèn) ?1,確認(rèn) 0,重新輸入 n);scanf(%d,&chose);if(chose!=
30、1&chose!=0)printf(你的輸入有誤,請(qǐng)重新的輸入!n);continue;if(chose=1).for(i=0;i200;i+)if(usei.type=1)if(strcmp(usei.username,name)=0)if(strcmp(usei.pass,pass)=0)printf(登陸成功!請(qǐng)繼續(xù)使用!n);strcpy(usertemp.username,name);return 1;printf(輸入的用戶名或者密碼有誤! 1,重新登陸 2,退出登陸! n);scanf(%d,&chose2);if(chose2=1)system(cls);break;else.
31、system(cls);return 0;if(chose=0) break;int monout()int chose;while(1)system(cls);printf(n在線用戶:%snn,usertemp.username);printf(你確定要注銷嗎?1,注銷0,取消 nn);scanf(%d,&chose);if(chose!=0&chose!=1)printf(你的選項(xiàng)出現(xiàn)了錯(cuò)誤, 請(qǐng)重新的輸入!.nnn);system(pasue);continue;if(chose=1)printf(店長(zhǎng)賬戶注銷完畢!nnnn);strcpy(usertemp.username,unknown);return 1;else
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年公司間借款協(xié)議模板:企業(yè)借款要求
- 2024年倉(cāng)儲(chǔ)租賃協(xié)議(優(yōu)惠版)
- 2024年企業(yè)間勞務(wù)分包合作協(xié)議
- 2024年兼職人員派遣協(xié)議
- 2024年住宅物業(yè)租賃協(xié)議標(biāo)準(zhǔn)版
- 2024年會(huì)議費(fèi)用分?jǐn)倕f(xié)議
- 2024年保護(hù)商業(yè)秘密協(xié)議
- 2024年商業(yè)保密協(xié)議
- 2024年修訂:股權(quán)轉(zhuǎn)讓退股協(xié)議正規(guī)范本
- 2024年信息系統(tǒng)審計(jì)協(xié)議
- 知道網(wǎng)課智慧《睡眠醫(yī)學(xué)(廣州醫(yī)科大學(xué))》測(cè)試答案
- 電氣設(shè)備故障預(yù)測(cè)與健康管理分析篇
- 中考語文知識(shí)點(diǎn)專題27 名著《紅星照耀中國(guó)》知識(shí)點(diǎn)
- 門診導(dǎo)診課件
- 河北省衡水中學(xué)2022-2023學(xué)年高一上學(xué)期綜合素質(zhì)檢測(cè)二數(shù)學(xué)試題含解析
- 教科版小學(xué)科學(xué)四年級(jí)下冊(cè)說課稿全套
- 《樹立正確的“三觀”》班會(huì)課件
- 2024年ACOG-《第一產(chǎn)程及第二產(chǎn)程管理》指南要點(diǎn)
- GB/T 43747-2024密封膠粘接性的評(píng)價(jià)膠條剝離法
- 建筑工程技術(shù)專業(yè)《裝配式建筑》課程標(biāo)準(zhǔn)
- 好的六堡茶知識(shí)講座
評(píng)論
0/150
提交評(píng)論