




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 中 國 地 質 大 學 課程設計評語對課程論文的評: 平時成績: 課程論文成績: 總 成 績: 評閱人簽名: 注:1、無評閱人簽名成績無效; 2、必須用鋼筆或圓珠筆批閱,用鉛筆閱卷無效; 3、如有平時成績,必須在上面評分表中標出,并計算入總成績。 目 錄 課程設計評語 . 2 目 錄. 3 1 課程論文題目 . 4 2程序設計思路 . 4 3功能模塊圖 . 5 4數據結構設計 . 5 5算法設計 . 6 6程序代碼 . 12 7程序運行結果 . 23 8編程中遇到的困難及解決方法 . 29 9總結心得及良好建議 . 29 10致謝 . 30 1 課程論文題目 服裝銷售系統 (1)包含三類用戶
2、:管理員,店長,銷售員。 (2)向管理員提供以下功能:自身密碼修改,其他用戶添加刪除,用戶信息修改,統計。商品信息添加,修改,刪除,查找,統計。 (3)向店長提供以下功能:登陸,注銷,自身密碼修改,自身信息修改。商品信息修改商品信息統計。查看日報表,月報表,商品銷量報表,營業員業績報表,查找瀏覽修改商品儲備信息。 (4)向銷售員提供以下功能:商品瀏覽,查找,出售商品,查看自己的本日報表,本月報表。 提示 (1)總體設計 整個服裝銷售系統可以設計為管理員模塊,店長模塊,銷售員模塊,商品模塊等。數據結構設計 結構體: N Y N Y 修改商品儲備信息 登陸 返回上一菜單 注銷 自身信息密碼修改 商
3、品信息修改 商品信息統計 查看日報表 查看月報表 查看商品銷售量表 查看營業員業績 瀏覽商品儲備輸入數據 店長 退出 輸入數據 修改商品儲登陸 返回上一菜注銷 自身信息密商品信息修商品信息統查看日報表 查看月報表 查看商品銷查看營業員瀏覽商品合法 輸入菜單編號 判斷編號是否為1.2 根據編號調用各功能模塊函數 結束 N Y 是否已登錄 返回上一菜單 N 輸入用戶名和密碼 是否找到 提示已登錄并返回上一菜單 提示登錄成功并返回上一菜單 提示用戶名不存在并返回上一菜單 N Y 是否已登錄 返回上一菜單 輸入需要修改的商品名 是否找到 提示貨物不存在Y N N 輸出所有商品信息 返回上一菜單 N 輸
4、入菜單編號 判斷編號是否為1-11 根據編號調用各功能模塊函數 結束 N Y (2)數據結構采用結構體 (老師給我的題目要求是設計好店長模塊,實現店長模塊的功能,則下面的設計只涉及到店長模塊。) 2程序設計思路 根據題目要求,店長模塊的功能是登陸、注銷、密碼、信息修改、商品儲備信息修改、商品儲備信息瀏覽、商品信息修改、商品信息統計。店長的名字及密碼以文本文件的方式存于shop文件中。 3功能模塊圖 4 Y N 店長 備信息 單 碼修改 改 計 售量表 業績 備繼續運行 結束 繼續 Y 5算法設計 (1)主函數的流程圖 (2)店長模塊中登錄功能的流程圖 開始 輸出菜單供用戶選 (3)店長模塊的查
5、看日(月)報表功能流程圖 輸入要查詢的日(月)是否找到 提示沒有找到并返回上一菜單 輸出報表內容 Y Y N 檢查是否已登錄 N Y (4)店長模塊的商品(儲備)信息修改功能 (5)店長模塊的注銷功能流程圖 (5)店長模塊的商品(儲備)信息統計功能流程圖 并返回上一菜單 輸入新的貨品信息 信息是否合法 提示修改成功并返回上一菜單 返回上一菜單 N Y Y 是否已登錄 提示沒有登錄并返回上一菜單 提示注銷成功并返回上一菜單 Y N (7)店長模塊的銷售量報表查看功能流程圖 (8)店長模塊的營業員業績查看功能流程圖 (9)店長模塊的主函數流程圖 是否已登錄 返回上一菜單 N Y 是否已登錄 輸出銷
6、售量報表 Y 是否已登錄 返回上一菜單 輸入營業員名字 是否找到 返回上一菜單 輸出銷售量報表 N N Y Y 開始 輸出菜單供用戶選6程序代碼 #include <stdio.h> #include <string.h> #include <malloc.h> #include <stdlib.h> int k=0; /*主函數 */ void shop(); void shop2(); void menu() int n,w; do puts(tt *n); puts(tt + 1.店長 +n); puts(tt + 2.退出 +n); pu
7、ts(tt *n); printf(nntt Choice your number(1-2): bb); scanf(%d,&n); if(n<1|n>2) w=1; else w=0; while(w=1); switch(n) case 1:shop();break; case 2:exit(0); main() menu(); /*店長模塊*/ /*登陸*/ void shop_login(char name,int *in) char pass100,name2100,pass2100; if(*in=1)printf(你已經登陸!n); else printf(請
8、輸入用戶名,密碼:); scanf(%s%s,name,pass); FILE *p; int x=0; p=fopen(shop.txt,r); while(!feof(p) fscanf(p,%s%s,name2,pass2); if(strcmp(name,name2)=0) x=1; if(strcmp(pass,pass2)=0)x=2; fclose(p); if(x=0)printf(該用戶名不存在!n); else if(x=1)printf(密碼錯誤!n); else if(x=2) printf(登陸成功!n); *in=1; shop2(); printf(press a
9、ny key to back.n);getchar();getchar(); /*注銷*/ void shop_logout(int *in) if(*in=0)printf(你沒有登陸。不需要注銷!n); else if(*in=1) *in=0; printf(注銷成功!n); printf(press any key to back.n); getchar();getchar();shop2(); /*密碼、信息修改*/ void shop_change(char name1,int *in) if(*in=0)printf(你沒有登陸,請首先登陸n); else typedef str
10、uct sh char name10; char password100; struct sh *next; SHOP; FILE *p; SHOP *head,*a,*b; head=(SHOP *)malloc(sizeof(SHOP); a=head; p=fopen(shop.txt,r); while(!feof(p) b=(SHOP *)malloc(sizeof(SHOP); fscanf(p,%s%s,b->name,b->password); a->next=b; a=a->next; a->next=NULL; fclose(p); a=hea
11、d->next; while(a!=NULL) if(strcmp(a->name,name1)=0) printf(請輸入修改后的店長姓名和密碼:); scanf(%s%s,a->name,a->password); break; a=a->next; a=head->next; p=fopen(shop.txt,w); while(a->next!=NULL) fprintf(p,%s %sn,a->name,a->password); a=a->next; fclose(p); printf(修改成功!n); free(head
12、); printf(press any key to back.n); getchar();getchar();shop2(); /*商品信息修改*/ void shop_goodschange() typedef struct g char name10; double price; long num; struct g *next; GOODS; FILE *p; GOODS *head,*a,*b; char na10; int k=0; head=(GOODS *)malloc(sizeof(GOODS); a=head; p=fopen(goods.txt,r); while(!fe
13、of(p) b=(GOODS *)malloc(sizeof(GOODS); fscanf(p,%s%lf%d,b->name,&b->price,&b->num); a->next=b; a=a->next; a->next=NULL; fclose(p); printf(請輸入要修改的貨物的名稱:); scanf(%s,na); a=head->next; while(a!=NULL) if(strcmp(a->name,na)=0) printf(請輸入新的貨物名稱,價格,數量:); scanf(%s%lf%d,a->
14、name,&a->price,&a->num); k=1; break; a=a->next; a=head->next; if(k=1) p=fopen(goods.txt,w); while(a->next!=NULL) fprintf(p,%s %.2lf %dn,a->name,a->price,a->num); a=a->next; fclose(p); printf(修改成功!n); else printf(該貨物不存在!n); free(head); printf(press any key to back.n
15、); getchar();getchar();shop2(); /*商品信息統計*/ void shop_goodscount() FILE *p; int n=0; char name10; float k; int num; printf( 物品 價格 數量n); p=fopen(goods.txt,r); while(!feof(p) fscanf(p,%s%f%d,name,&k,&num); if(!feof(p)printf(%s %.2f %dn,name,k,num);n+; printf(There are %d kinds of goods.n,n); fc
16、lose(p); printf(press any key to back.n); getchar();getchar();shop2(); /*察看日報表*/ void daysells() char date210; int k=0,n; char name10,price10,seller10,date10; printf(請輸入要查詢的年月日YYYYMMDD:); scanf(%s,date2); FILE *p; p=fopen(sells.txt,r); printf(貨物名 價格 售貨員 日期 數量n); while(!feof(p) fscanf(p,%s%s%s%s%d,na
17、me,price,seller,date,&n); if(strcmp(date,date2)=0&&!feof(p) printf(%s %s %s %s %dn,name,price,seller,date,n);k+=n; printf(There are %d sold on %s.n,k,date2); fclose(p); printf(press any key to back.n); getchar();getchar();shop2(); /*察看月報表*/ void monthsells() char date210; int n=0,m; char
18、 name10,price10,seller10,date10; int k,i; printf(請輸入要查詢的年月YYYYMM:); scanf(%s,date2); FILE *p; p=fopen(sells.txt,r); printf(貨物名 價格 售貨員 日期 數量n); while(!feof(p) k=1; fscanf(p,%s%s%s%s%d,name,price,seller,date,&m); for(i=0;i<6;i+) if(datei!=date2i) k=0; break; if(k=1&&!feof(p) printf(%s %
19、s %s %s %dn,name,price,seller,date,m);n+=m; printf(There are %d sold in %s.n,n,date2); fclose(p); printf(press any key to back.n); getchar();getchar();shop2(); /*察看銷售量報表*/ void goodssells() FILE *p;int n; char name100,price100,seller100,date10; p=fopen(sells.txt,r); printf(貨物名 價格 售貨員 日期 數量n); while(
20、!feof(p) fscanf(p,%s%s%s%s%d,name,price,seller,date,&n); if(!feof(p)printf(%s %s %s %s %dn,name,price,seller,date,n); fclose(p); printf(press any key to back.n); getchar();getchar();shop2(); /*察看營業員業績表*/ void pepsells() char seller210; int k=0,n; char name10,price10,seller10,date10; printf(請輸入要查
21、詢的售貨員姓名:); scanf(%s,seller2); FILE *p; p=fopen(sells.txt,r); printf(貨物名 價格 售貨員 日期 數量n); while(!feof(p) fscanf(p,%s%s%s%s%d,name,price,seller,date,&n); if(strcmp(seller,seller2)=0&&!feof(p) printf(%s %s %s %s %dn,name,price,seller,date,n);k+=n; printf(There are %d sold by the %s.n,k,selle
22、r2); fclose(p); printf(press any key to back.n); getchar();getchar();shop2(); /*商品儲備信息瀏覽*/ void shop_goodsbrowse() FILE *p; int n=0; char name10; float k; int num; printf( 物品 價格 數量n); p=fopen(goods.txt,r); while(!feof(p) fscanf(p,%s%f%d,name,&k,&num); if(!feof(p)printf(%s %.2f %dn,name,k,num
23、);n+; fclose(p); printf(press any key to back.n); getchar();getchar();shop2(); /*商品儲備信息修改*/ void shop_goods_change() typedef struct g char name10; double price; long num; struct g *next; GOODS; FILE *p; GOODS *head,*a,*b; char na10; int k=0; head=(GOODS *)malloc(sizeof(GOODS); a=head; p=fopen(goods.
24、txt,r); while(!feof(p) b=(GOODS *)malloc(sizeof(GOODS); fscanf(p,%s%lf%d,b->name,&b->price,&b->num); a->next=b; a=a->next; a->next=NULL; fclose(p); printf(請輸入要修改的貨物的名稱:); scanf(%s,na); a=head->next; while(a!=NULL) if(strcmp(a->name,na)=0) printf(請輸入新的貨物名稱,價格,數量:); sca
25、nf(%s%lf%d,a->name,&a->price,&a->num); k=1; break; a=a->next; a=head->next; if(k=1) p=fopen(goods.txt,w); while(a->next!=NULL) fprintf(p,%s %.2lf %dn,a->name,a->price,a->num); a=a->next; fclose(p); printf(修改成功!n); else printf(該貨物不存在!n); free(head); printf(press
26、any key to back.n); getchar();getchar();shop2(); /* 店長模塊主函數*/ void shop() char name100; int n,in=0,w; do printf( *n); printf( 1,登陸n); printf( 2,注銷n); printf( 3,自身信息,密碼修改n); printf( 4,商品信息修改n); printf( 5,商品信息統計n); printf( 6,察看日報表n); printf( 7,察看月報表n); printf( 8,察看商品銷售量報表n); printf( 9,察看營業員業績報表n); pri
27、ntf( 10,瀏覽商品儲備信息n); printf( 11,修改商品儲備信息n); printf( 12,返回上一菜單n); printf( *n); printf( Choice your number(1-12) bbb); scanf(%d,&n); if(n>12|n<1) printf(n輸入錯誤!請重新輸入:); w=1; else w=0; while(w); if(n=12) menu(); switch(n) case 1:shop_login(name,&in);break; case 2:shop_logout(&in);break;
28、 case 3:shop_change(name,&in);break; case 4: if(in=1)shop_goodschange(); else printf(請先登陸n); break; case 5:shop_goodscount();break; case 6:daysells();break; case 7:monthsells();break; case 8:goodssells();break; case 9:pepsells();break; case 10:shop_goodsbrowse();break; case 11:shop_goods_change(
29、);break; case 12:menu();break; /* 店長模塊第二主函數*/ void shop2() char name100; int n,in=1,w; do printf( *n); printf( 1,登陸n); printf( 2,注銷n); printf( 3,自身信息,密碼修改n); printf( 4,商品信息修改n); printf( 5,商品信息統計n); printf( 6,察看日報表n); printf( 7,察看月報表n); printf( 8,察看商品銷售量報表n); printf( 9,察看營業員業績報表n); printf( 10,瀏覽商品儲備信
30、息n); printf( 11,修改商品儲備信息n); printf( 12,返回上一菜單n); printf( *n); printf( Choice your number(1-12) bbb); scanf(%d,&n); if(n>12|n<1) printf(n輸入錯誤!請重新輸入:); w=1; else w=0; while(w); if(n=12) menu(); switch(n) case 1:shop_login(name,&in);break; case 2:shop_logout(&in);break; case 3:shop_ch
31、ange(name,&in);break; case 4: if(in=1)shop_goodschange(); else printf(請先登陸n); break; case 5:shop_goodscount();break; case 6:daysells();break; case 7:monthsells();break; case 8:goodssells();break; case 9:pepsells();break; case 10:shop_goodscount();break; case 11:shop_goodschange();break; case 12:menu();break; 7程序運行結果 主函數: 店長模塊: 登陸: 注銷: 商品信息修改: 商品信息統計: 查看日報表: 查看月報表: 查看商品銷售量報表: 查看營業員
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 船舶優先權抵押權的法律糾紛案例分析
- 2025年國際貿易實務操作能力測試試卷及答案
- 2025年服務營銷與客戶體驗管理能力測試試題及答案
- 中班健康:多吃水果有營養
- 宣紙投資項目可行性研究報告(立項備案模板)undefinedundefined
- 妊娠期高血壓孕婦的護理
- 2025年個人財務規劃與管理考試試題及答案
- 福建省福州市華僑中學2025屆七下英語期中學業水平測試試題含答案
- 2025年電氣工程基礎知識考試試卷及答案
- 7s護理管理內容
- 學校五年發展規劃2026-2030年
- 2025年全國保密教育線上培訓考試試題庫附答案(完整版)含答案詳解
- 期末培優拔高卷(試題)-2023-2024學年五年級下冊數學北師大版
- 中華民族共同體概論課件專家版2第二講 樹立正確的中華民族歷史觀
- 抖音認證承諾函
- 建筑門窗熱工性能計算書(LOW-E玻璃及隔熱系數)
- 統編版道德與法治四年級下冊期末復習填空 判斷 簡答 案例分析題專項訓練[全集]
- 有機化學--習題答案---陳宏博
- 大客戶管理(共43頁).ppt
- 設施農用地管理政策---培訓會--課件(第二部分)
- 英語活動小組活動記錄表(共10頁)
評論
0/150
提交評論