服装销售系统.doc_第1页
服装销售系统.doc_第2页
服装销售系统.doc_第3页
服装销售系统.doc_第4页
服装销售系统.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

。中 国 地 质 大 学课程设计评语对课程论文的评语:平时成绩:课程论文成绩:总 成 绩:评阅人签名:注:1、无评阅人签名成绩无效;2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。目 录课程设计评语2目 录31课程论文题目42程序设计思路43功能模块图44数据结构设计55算法设计66程序代码117程序运行结果228编程中遇到的困难及解决方法299总结心得及良好建议2910致谢301 课程论文题目 服装销售系统 (1)包含三类用户:管理员,店长,销售员。(2)向管理员提供以下功能:自身密码修改,其他用户添加删除,用户信息修改,统计。商品信息添加,修改,删除,查找,统计。(3)向店长提供以下功能:登陆,注销,自身密码修改,自身信息修改。商品信息修改商品信息统计。查看日报表,月报表,商品销量报表,营业员业绩报表,查找浏览修改商品储备信息。(4)向销售员提供以下功能:商品浏览,查找,出售商品,查看自己的本日报表,本月报表。提示(1)总体设计整个服装销售系统可以设计为管理员模块,店长模块,销售员模块,商品模块等。(2)数据结构采用结构体(老师给我的题目要求是设计好店长模块,实现店长模块的功能,则下面的设计只涉及到店长模块。)2程序设计思路根据题目要求,店长模块的功能是登陆、注销、密码、信息修改、商品储备信息修改、商品储备信息浏览、商品信息修改、商品信息统计。店长的名字及密码以文本文件的方式存于shop文件中。浏览商品储备信息查看营业员业绩查看商品销售量表查看月报表查看日报表商品信息统计商品信息修改自身信息密码修改注销返回上一菜单登陆修改商品储备信息 店长3功能模块图4数据结构设计继续合法合法结束继续运行浏览商品储备信息查看营业员业绩查看商品销售量表查看月报表查看日报表商品信息统计商品信息修改自身信息密码修改注销返回上一菜单登陆修改商品储备信息输入数据退出 店长输入数据结构体: N Y N Y Y N Y 5算法设计(1)主函数的流程图开始输出菜单供用户选择输入菜单编号判断编号是否为1.2根据编号调用各功能模块函数结束NY(2)店长模块中登录功能的流程图检查是否已登录输入用户名和密码是否找到提示已登录并返回上一菜单提示登录成功并返回上一菜单提示用户名不存在并返回上一菜单NYNY(3)店长模块的查看日(月)报表功能流程图是否已登录返回上一菜单输入要查询的日(月)期是否找到提示没有找到并返回上一菜单输出报表内容YYNN(4)店长模块的商品(储备)信息修改功能是否已登录返回上一菜单输入需要修改的商品名是否找到提示货物不存在并返回上一菜单输入新的货品信息信息是否合法提示修改成功并返回上一菜单返回上一菜单YNNNYY(5)店长模块的注销功能流程图是否已登录提示没有登录并返回上一菜单提示注销成功并返回上一菜单YN(5)店长模块的商品(储备)信息统计功能流程图是否已登录返回上一菜单输出所有商品信息NY(7)店长模块的销售量报表查看功能流程图是否已登录返回上一菜单输出销售量报表NY(8)店长模块的营业员业绩查看功能流程图是否已登录返回上一菜单输入营业员名字是否找到返回上一菜单输出销售量报表NNYY(9)店长模块的主函数流程图开始输出菜单供用户选择输入菜单编号判断编号是否为1-11根据编号调用各功能模块函数结束NY6程序代码#include #include #include #include int k=0;/*主函数 */void shop();void shop2();void menu() int n,w; do puts(tt *n); puts(tt + 1.店长 +n); puts(tt + 2.退出 +n); puts(tt *n); printf(nntt Choice your number(1-2): bb); scanf(%d,&n); if(n2) 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(请输入用户名,密码:); 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 any 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 struct 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=head-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); 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(!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(请输入新的货物名称,价格,数量:); scanf(%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 any key to back.n); 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); fclose(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,name,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 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;iname,&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-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); 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); printf( 10,浏览商品储备信息n); printf( 11,修改商品储备信息n); printf( 12,返回上一菜单n); printf( *n);printf( Choice your number(1-12) bbb); scanf(%d,&n); if(n12|n12|n1) 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_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_goodscount();break; case 11:shop_goodschange();break;case 12:menu();break; 7程序运行结果主函数:店长模块:登陆:注销:商品信息修改:商品信息统计:查看日报表:查看月报表:查看商品销售量报表:查看营业员业绩报表:浏览商品储备信息:修改商品储备信息:返回上一菜单:8编程中遇到的困难及解决方法在设计店长模块的过程中,我遇到的最大难题就是无法实现预想的先登录再进行下一步操作。最开始写好了子模块,但登陆完后就会直接退出程序。后来我在登陆的子模块最后调用shop函数,能够回到店长的主菜单但其他的所有操作都不能实现,即系统无法记录“已登录”这一状态。经检查后发现主函数里面定义了in=0,但已登录的情况下in=1,即只要回到shop函数,就会回到未登录的状态。在这种情况下,我添加了一个“第二主模块”,在这个模块里,除了定义in=1以外,其他的均与主函数相同。则进入店长模块以后,首先运行的是主函数,选择登陆后,再调用第二主模块,即可以实现先登录再进行后续操作了。虽然这种方法可能很笨

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论