1、高级语言课程设计报告服装销售管理系统描述高级语言程序设计 说明书设计题目: 服装销售管理系统 说明书正文一、题目要求【题目】: 服装销售管理系统【要求】(1) 系统包含三类用户:管理员、店长、销售员。(2) 向管理员提供以下功能:自身密码修改、其他用户添加删除、用户信息修改、统计。商品信息添加、修改、删除、查找、统计。(3) 向店长提供以下功能:登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息。(4) 向销售员提供以下功能:商品浏览、查找、出售,查看自己本日报表、本月报表。提示(1) 总体设计:整个服装销售系统可
2、设计为管理员模块、店长模块、销售员模块、商品模块等。(2) 数据结构采用结构体。二、结构图根据需求分析,该程序中销售员应实现如下功能:商品浏览、商品查找、出售商品、销售记录、用户注销,具体结构图如下。店长应实现如下功能:登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息,具体结构图如下。 管理员需要实现如下功能:自身密码修改、其他用户添加删除、用户信息修改、统计。商品信息添加、修改、删除、查找、统计。具体结构图如下。 三、程序中典型的流程图分析(一)添加模块(1)分析:信息添加模块职工的基本信息包括:用户、商品基本
3、信息,对它们输入后,要存进原文件,流程图如下。(二)浏览模块(1)分析:浏览功能首先需要查找信息是否存在,在查找时,因为磁盘文件无序,所以采用直接查找的办法。在容错上有较好的能力,输错时系统会有提示,也会作出相应的反映。算法和以上的分程序有相同的优点。流程(三)查询模块(1)分析:基本信息的查询按查询方式:按商品的名称查询,可供选择的方式比较丰富。但本程序只使用了一种。在查询小模块中采用了直接查找的方法,这主要是由于磁盘文件无序的缘故。程序在选择结构上采用了if和else的嵌套形式,看起来有点繁杂,没有用switch语句直观明了,这个地方可以改成更好的。(四)删除模块(1)分析:商品信息存放在
4、磁盘中,程序须将该文件全部取出来,在内存中把要删掉的内容除去,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐。可以改为另一种办法:设置一个标示符,对有这些标识符的记录在下次输入时跳过,在新商品信息输入时,将其覆盖就行了。在对文件进行删除时,考虑到很多方面,如:查询不到时系统该如何处理等。人性化设计有在删除之前询问是否继续。流程图五)修改模块(1)分析:修改与删除程序相似,管理员信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要修改的内容修改,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐,可以改进。四、程序源代码#include #include #include #incl
5、ude #include typedef struct admin char name20; char pass20;ADMIN;typedef struct char name30; int now; int total; int flag;DRESS;typedef struct int flag; int type; char username20; char pass20; DRESS mdb100;USER; USER usertemp;int usernum=0; int adddress(DRESS *dress) char name20; int total; int i; s
6、ystem(cls); printf( /=服装销售系统系统商品添加=/n); printf( 请输入商品的名称:); scanf(%s,&name); printf(n 请输入入库的商品的数量:) ; scanf(%d,&total); printf(nnn 商品信息输入完毕!nnn); for(i=0;i500;i+) if(dressi.flag=0) strcpy(dressi.name,name); dressi.total=total; dressi.now=total; dressi.flag=1; system(pause); return 1; return 0; int d
7、eldress(DRESS *dress) char name20; /int total; int i; system(cls); printf( /=服装销售系统系统商品删除=/n); printf( 请输入需要删除的商品的名称:); scanf(%s,&name); for(i=0;i250;i+) if(strcmp(dressi.name,name)=0) printf(nnn 商品删除完毕!nnn); dressi.flag=0; system(pause); return 1; printf(nnn 商品删除出现错误,请查正商品名称!nnn); system(pause); re
8、turn 0; int finddress(DRESS *dress) char name20;/ int total; int i;system(cls); printf( /=服装销售系统系统商品查找=/n); printf( 请输入需要查找的商品的名称:); scanf(%s,&name); for(i=0;i250;i+) if(strcmp(dressi.name,name)=0) if(dressi.flag=1) printf(nnn 商品查找完毕:n 商品名称: %s ,现存量: %d,总库存: %dn,name,dressi.now,dressi.total); system
9、(pause); return 1; printf(nnn 商品查找出现错误,请查正商品名称!nnn); system(pause); return 0; void dressall(DRESS *dress) int i; system(cls); printf( /=服装销售系统系统查看商品=/n); for(i=0;iname,admin); strcpy(adm-pass,123456);void userIntiate(USER *use) int j; for(j=0; j200; j+) int i; usej.flag=0; usej.type=-1; for(i=0;i100
10、;i+) usej.mdbi.flag=0; void dressIntiate(DRESS *dress) for(int i=0; i500; i+) dressi.flag=0; int regnew(USER *use) char name21; char pass7=0; int chose; int i; int type; while(1) system(cls); printf( /=服装销售系统系统用户注册=/n); printf( 用户名:); scanf(%s,&name); printf( 密 码:); for(i=0;i6;i+) passi=getch(); pri
11、ntf(*); printf(nn 请输入用户的类型:0,销售员 1,店长 ); scanf(%d,&type); while(1) printf(nn 用户注册信息入完毕,是否确认? 1,确认 0,重新输入n); scanf(%d,&chose); if(chose!=1&chose!=0) printf( 你的输入有误,请重新的输入!n); continue; if(chose=1) for(i=0;iusernum+1;i+) if(usei.flag=0) printf( 注册成功!请继续使用! n); strcpy(usei.username,name); strcpy(usei.p
12、ass,pass); usernum+; usei.flag=1; usei.type=type; return 1; else break; int modifyuser( USER *use) char name20; char pass7; int type; int i; printf(tt*修改用户*nn); printf(请输入需要修改信息的用户名:); scanf(%s,name); for(i=0;usei.flag=1;i+) if(strcmp(usei.username,name)=0) printf(请输入修改后的密码:); scanf(%s,pass); printf
13、(请输入修改后的类型:); scanf(%d,&type); strcpy(usei.username,name); strcpy(usei.pass,pass); usei.type=type; return 1; printf(User modify error, please check user name is!); return 0;int deluser(USER *use) int i; char name20; printf( /=服装销售系统用户删除=/n); printf( 请输入你想要删除的用户的用户名:); scanf(%s,name); for(i=0;i200;i+
14、) if(strcmp(usei.username,name)=0) printf(nnn 用户 %s 删除成功!nnnn,name); strcpy(usei.username,unknown); usei.flag=-1; return 1; printf( 用户 %s 不存在!请查正在次操作!nnnn,name); return 0;int useall(USER *use) int i; system(cls); printf( /=服装销售系统用户查看=/n); printf( 销售人员:n); for(i=0;i200;i+) if(usei.type=0) if(usei.fla
15、g=1) printf( 用户姓名: %s 用户密码: %s n,usei.username,usei.pass); printf( 店长:n); for(i=0;i200;i+) if(usei.type=1) if(usei.flag=1) printf( 用户姓名: %s 用户密码: %s n,usei.username,usei.pass); return 0;int adminload(ADMIN *adm) char name21; char pass7=0; int chose,chose2; int i; while(1) system(cls); printf( /=服装销售
16、系统管理员登陆=/n); printf( 管理员账号:); scanf(%s,&name); printf( 密 码:); for(i=0;iname,name)=0) if(strcmp(adm-pass,pass)=0) printf( 登陆成功!请继续使用! n); strcpy(usertemp.username,name); return 1; printf( 输入的用户名或者密码有误!1,重新登陆 2,退出登陆!n); scanf(%d,&chose2); if(chose2=1) system(cls); break; else system(cls); return 0; if
17、(chose=0) break; int adminpass(ADMIN *adm) int i; char pass20=0; char pass220=0; while(1) system(cls); printf( /=服装销售系统管理员密码修改=/n); printf( 请输入新的管理员密码:); for(i=0;i6;i+) passi=getch(); printf(*); printf(nnn 请再次输入新的管理员密码:); for(i=0;ipass,pass); system(pause); return 1; int adminout() int chose; while(
18、1) system(cls); printf( /=服装销售系统管理员注销=/n); printf( 你确定要注销吗? 1,注销 0,取消nn); scanf(%d,&chose); if(chose!=0&chose!=1) printf( 你的选项出现了错误,请重新的输入!nnn); system(pause); continue; if(chose=1) printf( 管理员账户注销完毕! nnnn); system(pause); return 1; else return 0; int out() int chose; system(cls); printf( /=服装管理系统首界
19、面=/n); printf( 真的要退出系统吗?退出后信息会全部的丢失!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); printf(n 在线用户: %snn,usertemp.username); printf( /=用户功能菜单=/n); printf( / /n); printf( / 1,
20、添加用户 /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( / 0,退出系统 /n); printf( /=/n); printf(n /=请选择服务的种类=/n); scanf(%d,&chose1); if(chose1
21、10) printf( 你的输入有误,请重新的输入!n); system(pause); continue; 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(pause); break; c
22、ase 5: system(cls); deldress(dress); break; case 6: system(cls); finddress(dress); break; case 7: system(cls); dressall(dress); system(pause); break; case 8: system(cls); if(adminpass(adm)=1) continue; break; case 9: system(cls); modifyuser(use); system(pause); break; case 10: system(cls); if(adminout()=1) return 3;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1