服装销售系统_C语言课程设计.doc_第1页
服装销售系统_C语言课程设计.doc_第2页
服装销售系统_C语言课程设计.doc_第3页
服装销售系统_C语言课程设计.doc_第4页
服装销售系统_C语言课程设计.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

服装管理系统目 录1题目要求-42需求分析-43总体设计-44详细设计-85上机操作-306总结-337致谢-33 参考文献-341.题目要求(1) 系统包含三类用户:管理员、店长、销售员。(2) 向管理员提供以下功能:自身密码修改、其他用户添加删除、用户信息修改、统计。商品信息添加、修改、删除、查找、统计。(3) 向店长提供以下功能:登录、注销、自身密码修改、自身信息修改,商品信息修改、商品信息设计,查看日报表、月报表、商品销售量报表、查找浏览器修改商品储备信息。(4) 向销售员提供以下功能:商品浏览、查找、出售,查看自己本日报表、本月报表。2. 需求分析用户与商品信息要采用文件存储,因而要提供文件的输入、输出功能,要实现用户的添加、修改、删除,商品信息的添加、修改、删除、查找等,需要提供相应的信息添加、删除、修改与查找功能;要实现商品浏览功能,需要提供显示操作;另外,还要提供键盘式选择菜单以实现功能选择。3.总体设计1.【整体e-r图3-1】服装管理系统管理员模块店长模块销售员模块退出用户添加用户删除显示所有用户退出自身信息修改商品信息浏览营业员业绩报表商品浏览商品查找出售密码修改查看本月报表 图3-12.【程序中典型的流程图】(一)添加模块(1)分析:信息添加模块职工的基本信息包括:用户、商品基本信息,对它们输入后,要存进原文件,流程图(图3-2)如下。文件打开否 输入信息是否继续将信息输出到磁盘调用printf_back()函数结束开始输出错误信息 图3-2(二)浏览模块(1)分析:浏览功能首先需要查找信息是否存在,在查找时,因为磁盘文件无序,所以采用直接查找的办法。在容错上有较好的能力,输错时系统会有提示,也会作出相应的反映。算法和以上的分程序有相同的优点。流程图如下(图3-3)。开始打开文件否输出错误信息查找商品信息是否查找到输出商品信息操作存盘是否继续结束 图3-3(三)查询模块(1)分析:基本信息的查询按查询方式:按商品的名称查询,可供选择的方式比较丰富。但本程序只使用了一种。在查询小模块中采用了直接查找的方法,这主要是由于磁盘文件无序的缘故。程序在选择结构上采用了if和else的嵌套形式,看起来有点繁杂(图3-4)开始文件打开查询方式是否继续结束输出错误信息商品的名称 图3-4(四)删除模块(1)分析:商品信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要删掉的内容除去,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐。可以改为另一种办法:设置一个标示符,对有这些标识符的记录在下次输入时跳过,在新商品信息输入时,将其覆盖就行了。在对文件进行删除时,考虑到很多方面,如:查询不到时系统该如何处理等。人性化设计有在删除之前询问是否继续。流程图(图3-5)如下:开始文件打开查找商品信息是否查找到输入信息是否继续结束输出错误信息删除操作 图 3-5五)修改模块(1)分析:修改与删除程序相似,管理员信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要修改的内容修改,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐,可以改进(图2-6)。开始文件打开查找职工信息是否查找到输入信息是否继续结束输出错误信息修改操作 图3-64.详细设计1.欢迎界面void welcomemenu() void welcomemenu() printf(-服装销售系统-n); printf(系统功能说明:n); printf( 管理员功能:n); printf( (1)自身密码修改n); printf( (2)用户信息管理:添加,修改,删除,查询n); printf( (3)商品信息管理:添加,修改,查询,删除n); printf( (4)退出登陆系统n); printf( 店长功能:n); printf( (1)自身密码修改n); printf( (2)商品信息管理:添加,修改,查询,删除n); printf( (3)销售报表显示:日销售报表,月销售报表,销售员销售报表n); printf( (4)退出登陆系统n); printf( 销售员功能:n); printf( (1)商品浏览,查询,商品销售n); printf( (2)自己商品销售报表显示:日销售报表,月销售报表n); printf( (3)退出登陆系统n); printf(-谢谢使用-n);printf((注:管理员,店长,用户登陆的账号分别是admin,boss,sell初始密码和账号一致)n);欢迎界面运行如下(图4-1): 图4-1 2.登陆模块 void systemlogin()函数void systemlogin() /所有用户身份调用的登陆函数 char username20,password20; int islogin = 0; systemuser *tmpuser; printf(请输入你的系统用户帐号:); scanf(%s,username); printf(n请输入你的系统用户密码:); scanf(%s,password); tmpuser = psystemuserhead; while(null != tmpuser) if(0 = strcmp(tmpuser-username,username) if(0 = strcmp(tmpuser-password,password) islogin = 1; strcpy(currentuser,tmpuser-username); currentusertype = tmpuser-usertype; switch(currentusertype) case admin_user_type: adminoperationmenu(); break; case boss_user_type: bossoperationmenu(); break; case sell_user_type: selloperationmenu(); break; default: break; else printf(对不起,你输入的密码错误!n); systemlogin(); /用户名正确,密码错误 tmpuser = tmpuser-next; if(islogin != 1) printf(对不起,该用户不存在n); /遍历了所有用户都没有找到用户 systemlogin(); 运算显示如下(图4-2): 图4-23.管理员功能模块 管理员模块1.自身密码修改自身密码修改2. 用户信息管理:添加,修改,删除,查询3.商品信息管理:添加,修改,查询,删除4.销售报表显示(1)管理员欢迎界面void adminoperationmenu()函数void adminoperationmenu() int select; while(1) printf(亲爱的管理员%s同志,欢迎使用本系统,你拥有下面所有功能:n,currentuser); printf( (1)自身密码修改n); printf( (2)用户信息管理:添加,修改,查询,删除n); printf( (3)商品信息管理:添加,修改,查询,删除n); printf( (4)退出系统n); printf(请输入上面功能对应的序号进行功能选择:); scanf(%d,&select); switch(select) case 1: changepassword(); continue; case 2: usermanage(); continue; case 3: productsmanage(); continue; case 4: exitsystem(); break; default: break; ;运算显示如下(图4-3): 图4-3(2)自身密码修改(调用密码修改函数changepassword();)/密码修改函数void changepassword() char newpassword120,newpassword220; systemuser *tmpuser; printf(请输入你的新密码:); scanf(%s,newpassword1); printf(请再次输入你的新密码:); scanf(%s,newpassword2); if(0 != strcmp(newpassword1,newpassword2) printf(对不起,你两次输入的密码不一致,修改失败!n); return ; tmpuser = psystemuserhead; while(null != tmpuser) if(0 = strcmp(tmpuser-username,currentuser) strcpy(tmpuser-password,newpassword1); printf(密码修改成功!n); break; tmpuser = tmpuser-next; ;运算显示如下(图4-4): 图4-4(2) 用户信息管理:添加,修改,删除,查询/用户信息管理:添加,修改,删除,查询/void usermanage() /用户信息函数/ int select;/管理员显示模块/ while(1) printf(亲爱的管理员%s同志,你目前进入的是用户信息管理功能:n,currentuser); printf( (1)用户信息查看n); printf( (2)用户信息添加n); printf( (3)用户信息修改n); printf( (4)用户信息删除n); printf( (5)返回上级菜单n); printf( (6)退出登陆系统n); printf(请输入上面功能对应的序号进行功能选择:); scanf(%d,&select); switch(select) case 1: userinfoview(); /调用用户信息查看的函数/ continue; case 2: userinfoadd(); /调用用户信息添加函数/ continue; case 3: userinfomodify(); /调用用户信息修改函数/ continue; case 4: userinfodelete(); /调用用户信息删除函数/ continue; case 5: adminoperationmenu(); /返回上级系统/ break; case 6: exitsystem(); /退出登陆/ break; default: break; ;运算显示如下(图4-5): 图4-5/用户信息查看函数/void userinfoview() systemuser *tmpuser; tmpuser = psystemuserhead; printf(亲爱的管理员%s,你好,你查看的所有用户信息如下:n,currentuser); printf(用户名t密码t用户类型(1代表管理员,2代表店长,3代表销售员)n); while(null != tmpuser) printf(%st%st%dn,tmpuser-username,tmpuser-password,tmpuser-usertype); tmpuser = tmpuser-next; ;运算显示如下(图4-6):/用户信息添加函数/void userinfoadd() systemuser tmpuser; printf(亲爱的管理员%s,请依次输入用户信息:n,currentuser); printf(用户名:); scanf(%s,tmpuser.username); printf(用户密码:); scanf(%s,tmpuser.password); printf(用户类型(1代表管理员,2代表店长,3代表销售员):); scanf(%d,&tmpuser.usertype); tmpuser.next = null; if(function_success = adduser(&tmpuser) printf(用户信息添加成功!n);运算显示如下(图4-7): 图4-7/用户信息修改函数/void userinfomodify() char username20; systemuser *puser; printf(亲爱的管理员%s,请输入要修改的用户帐号:n,currentuser); scanf(%s,username); puser = psystemuserhead; while(null != puser) if(0 = strcmp(puser-username,username) printf(请输入新的帐号:); scanf(%s,puser-username); printf(请输入新的密码:); scanf(%s,puser-password); printf(请输入新的用户类型(1代表管理员,2代表店长,3代表销售员):); scanf(%d,&puser-usertype); printf(用户信息修改成功n); return ; puser = puser-next; printf(对不起,没有你查找的用户信息!n);运算显示如下(图4-8): 图4-8/用户信息删除函数/void userinfodelete() systemuser *pusera,*puserb; char username20; printf(亲爱的管理员%s朋友,你好,你现在进入的用户信息删除功能:n,currentuser); printf(请输入你要删除的用户名:n); scanf(%s,username); pusera = puserb = psystemuserhead; /puserb指向要删除的记录,pusera指向前一条记录 if(null = puserb) return ; while(null != puserb) if(0 = strcmp(username,puserb-username) if(puserb = psystemuserhead & puserb-next = null) /如果系统只有一条商品信息 free(psystemuserhead); psystemuserhead = null; printf(用户信息删除成功!n); return ; pusera-next = puserb-next; if(psystemuserhead = puserb) psystemuserhead = puserb-next; free(puserb); printf(用户信息删除成功!n); return ; else pusera = puserb; puserb = puserb-next; printf(对不起,不存在该帐号的用户信息!);运算显示如下(图4-9): 图4-9(3)商品信息管理:添加,修改,查询,删除/商品管理模块/void productsmanage() int select; while(1) printf(亲爱的%s朋友,你好,你现在进入的是商品管理功能,你可以选择以下功能:n,currentuser); printf( (1)商品信息查看n); printf( (2)商品信息查找n); printf( (3)商品信息添加n); printf( (4)商品信息修改n); printf( (5)商品信息删除n); printf( (6)返回上一级菜单n); printf( (7)退出登陆系统n); printf(请选择应的操作编号:); scanf(%d,&select); switch(select) case 1: productsview(); /调用商品查看函数/ continue; case 2: productfind(); /调用商品信息查找函数/ continue; case 3: inputandaddproduct(); /调用商品添加函数/ continue; case 4: modifyproduct(); /调用商品修改函数/ continue; case 5: deleteproduct(); /调用删除商品信息函数/ continue; case 6: switch(currentusertype) /返回上一级/ case admin_user_type: adminoperationmenu(); break; case boss_user_type: bossoperationmenu(); break; case sell_user_type: selloperationmenu(); break; default: break; break; case 7: exitsystem(); break; default: break; ; 运算显示如下(图4-10): 图4-10/商品的查看函数/void productsview() products *tmpproduct; int i; i = 1; tmpproduct = pproducthead; if(null = tmpproduct) printf(对不起,目前还没有商品信息); else while(null != tmpproduct) printf(第%d件商品信息如下:n,i); printf(商品编号: %dn,tmpproduct-productid); printf(商品名称: %sn,tmpproduct-productname); printf(商品型号: %sn,tmpproduct-producttype); printf(商品厂家: %sn,tmpproduct-productcompany); printf(商品价格: %fn,tmpproduct-productprice); printf(商品数量: %dn,tmpproduct-productcount); printf(商品附加信息: %sn,tmpproduct-memo); tmpproduct = tmpproduct-next; i+; ;运算显示如下(图4-11): 图4-11/商品查找函数/void productfind() products *tmpproduct; int findway,productid; char productname20; printf(亲爱的%s朋友,你好,你现在进入的商品查询功能:n,currentuser); printf(请选择查询方式: 1-按商品编号查询 2-按商品名称查询n); scanf(%d,&findway); tmpproduct = pproducthead; switch(findway) case 1: printf(请输入查询的商品编号:); scanf(%d,&productid); while(null != tmpproduct) if(productid = tmpproduct-productid) printf(你查询的商品编号为%d的商品信息如下:n,productid); printf( 商品名称: %sn,tmpproduct-productname); printf( 商品型号: %sn,tmpproduct-producttype); printf( 商品厂家: %sn,tmpproduct-productcompany); printf( 商品价格: %fn,tmpproduct-productprice); printf( 商品数量: %dn,tmpproduct-productcount); printf( 商品附加信息: %sn,tmpproduct-memo); return ; tmpproduct = tmpproduct-next; printf(对不起,不存在该商品编号的商品!n); break; case 2: printf(请输入查询的商品名称:); scanf(%s,productname); while(null != tmpproduct) if(0 = strcmp(tmpproduct-productname,productname) printf(你要查询的商品名称为%s的商品信息如下:n,productname); printf( 商品名称: %sn,tmpproduct-productname); printf( 商品型号: %sn,tmpproduct-producttype); printf( 商品厂家: %sn,tmpproduct-productcompany); printf( 商品价格: %fn,tmpproduct-productprice); printf( 商品数量: %dn,tmpproduct-productcount); printf( 商品附加信息: %sn,tmpproduct-memo); return ; tmpproduct = tmpproduct-next; printf(对不起,不存在该商品编号的商品!n); break; default: break; 运算显示如下(图4-12): 图4-12/商品添加函数/void inputandaddproduct() products product; printf(亲爱的%s朋友,你好,请依次输入新商品的信息:n,currentuser); printf(商品名称:); scanf(%s,ductname); printf(商品型号:); scanf(%s,ducttype); printf(商品制造商:); scanf(%s,ductcompany); printf(商品价格:); scanf(%f,&ductprice); printf(商品数量:); scanf(%d,&ductcount); printf(商品附加信息:); scanf(%s,product.memo); product.next = null; if(function_success = addproduct(&product) printf(商品信息添加成功!n);运算显示如下(图4-15): 图4-15/商品修改函数/void modifyproduct() int productid; /待修改的商品编号 products *tmpproduct; printf(亲爱的%s朋友,你好,你现在进入的商品信息修改功能:n,currentuser); printf(请输入要修改的商品编号:); scanf(%d,&productid); tmpproduct = pproducthead; if(null = tmpproduct) return ; while(null != tmpproduct) if(productid = tmpproduct-productid) printf(商品编号%d的商品信息如下:n,productid); printf( 商品名称: %sn,tmpproduct-productname); printf( 商品型号: %sn,tmpproduct-producttype); printf( 商品厂家: %sn,tmpproduct-productcompany); printf( 商品价格: %fn,tmpproduct-productprice); printf( 商品数量: %dn,tmpproduct-productcount); printf( 商品附加信息: %sn,tmpproduct-memo); printf(下面请对照修改该商品的相应信息:n); printf(新的商品名称: ); scanf(%s,tmpproduct-productname); printf(新的商品型号: ); scanf(%s,tmpproduct-producttype); printf(新的商品厂家: ); scanf(%s,tmpproduct-productcompany); printf(新的商品价格: ); scanf(%f,&tmpproduct-productprice); printf(新的商品数量: ); scanf(%d,&tmpproduct-productcount); printf(新的商品附加信息: ); scanf(%s,tmpproduct-memo); printf(商品信息修改成功!n); break; tmpproduct = tmpproduct-next; ;/商品删除函数/void deleteproduct() int productid = 0; products *tmpproducta,*tmpproductb; printf(亲爱的%s朋友,你好,你现在进入的商品删除功能:n,currentuser); printf(请输入你要删除的商品编号:n); scanf(%d,&productid); tmpproducta = tmpproductb = pproducthead; /tmpproductb指向要删除的记录,tmpproducta指向前一条记录 if(null = tmpproductb) return ; while(null != tmpproductb) if(tmpproductb-productid = productid) if(tmpproductb = pproducthead & tmpproductb-next = null) /如果系统只有一条商品信息 free(pproducthead); pproducthead = null; printf(商品信息删除成功!n); return ; tmpproducta-next = tmpproductb-next; if(pprod

温馨提示

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

评论

0/150

提交评论