《C语言课程设计-服装销售系统ogd.docx》由会员分享,可在线阅读,更多相关《C语言课程设计-服装销售系统ogd.docx(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、服装管理系统目 录1题目目要求-42需求求分析-43总体体设计-44详细细设计-85上机机操作-3306总结结-3337致谢谢-333 参考文文献-3341.题目目要求(1) 系统包含含三类用用户:管管理员、店店长、销销售员。(2) 向管理员员提供以以下功能能:自身身密码修修改、其其他用户户添加删删除、用用户信息息修改、统统计。商商品信息息添加、修修改、删删除、查查找、统统计。(3) 向店长提提供以下下功能:登录、注注销、自自身密码码修改、自自身信息息修改,商品信信息修改改、商品品信息设设计,查查看日报报表、月月报表、商商品销售售量报表表、查找找浏览器器修改商商品储备备信息。(4) 向销售员员
2、提供以以下功能能:商品品浏览、查查找、出出售,查查看自己己本日报报表、本本月报表表。2. 需需求分析析用户与商商品信息息要采用用文件存存储,因因而要提提供文件件的输入入、输出出功能,要要实现用用户的添添加、修修改、删删除,商商品信息息的添加加、修改改、删除除、查找找等,需需要提供供相应的的信息添添加、删删除、修修改与查查找功能能;要实实现商品品浏览功功能,需需要提供供显示操操作;另另外,还还要提供供键盘式式选择菜菜单以实实现功能能选择。3.总体体设计1.【整整体E-R图33-1】服装管理系统管理员模块店长模块销售员模块退出用户添加用户删除显示所有用户退出自身信息修改商品信息浏览营业员业绩报表商
3、品浏览商品查找出售密码修改查看本月报表 图3-12.【程程序中典典型的流流程图】(一)添添加模块块(1)分分析:信信息添加加模块职职工的基基本信息息包括:用户、商商品基本本信息,对对它们输输入后,要要存进原原文件,流流程图(图图3-22)如下下。文件打开否 输入信息是否继续将信息输出到磁盘调用printf_back()函数结束开始输出错误信息 图33-2(二)浏浏览模块块(1)分分析:浏浏览功能能首先需需要查找找信息是是否存在在,在查查找时,因因为磁盘盘文件无无序,所所以采用用直接查查找的办办法。在在容错上上有较好好的能力力,输错错时系统统会有提提示,也也会作出出相应的的反映。算算法和以以上的
4、分分程序有有相同的的优点。流程图如如下(图图3-33)。开始打开文件否输出错误信息查找商品信息是否查找到输出商品信息操作存盘是否继续结束 图33-3(三)查查询模块块(1)分分析:基基本信息息的查询询按查询询方式:按商品品的名称称查询,可可供选择择的方式式比较丰丰富。但但本程序序只使用用了一种种。在查查询小模模块中采采用了直直接查找找的方法法,这主主要是由由于磁盘盘文件无无序的缘缘故。程程序在选选择结构构上采用用了iff和ellse的的嵌套形形式,看看起来有有点繁杂杂(图33-4)开始文件打开查询方式是否继续结束输出错误信息商品的名称 图3-4(四)删删除模块块(1)分分析:商商品信息息存放在
5、在磁盘中中,程序序须将该该文件全全部取出出来,在在内存中中把要删删掉的内内容除去去,然后后在重新新输入到到磁盘,这这种算法法比较合合理,但但有一点点烦琐。可可以改为为另一种种办法:设置一一个标示示符,对对有这些些标识符符的记录录在下次次输入时时跳过,在在新商品品信息输输入时,将将其覆盖盖就行了了。在对对文件进进行删除除时,考考虑到很很多方面面,如:查询不不到时系系统该如如何处理理等。人人性化设设计有在在删除之之前询问问是否继继续。流程图(图图3-55)如下下:开始文件打开查找商品信息是否查找到输入信息是否继续结束输出错误信息删除操作 图 33-5五)修改改模块(1)分分析:修修改与删删除程序序
6、相似,管理员信息存放在磁盘中,程序须将该文件全部取出来,在内存中把要修改的内容修改,然后在重新输入到磁盘,这种算法比较合理,但有一点烦琐,可以改进(图2-6)。开始文件打开查找职工信息是否查找到输入信息是否继续结束输出错误信息修改操作 图图3-664.详细细设计1.欢迎迎界面vvoidd WeelcoomeMMenuu() voidd WeelcoomeMMenuu() priintff(-服服装销售售系统-nn); priintff(系系统功能能说明:n); priintff( 管管理员功功能:n); priintff( (1)自身密密码修改改n); priintff( (2)用户信信息管理
7、理:添加加,修改改,删除除,查询询n); priintff( (3)商品信信息管理理:添加加,修改改,查询询,删除除n); priintff( (4)退出登登陆系统统n); priintff( 店店长功能能:nn); priintff( (1)自身密密码修改改n); priintff( (2)商品信信息管理理:添加加,修改改,查询询,删除除n); priintff( (3)销售报报表显示示:日销销售报表表,月销销售报表表,销售售员销售售报表n); priintff( (4)退出登登陆系统统n); priintff( 销销售员功功能:n); priintff( (1)商品浏浏览,查查询,商商品销
8、售售n); priintff( (2)自己商商品销售售报表显显示:日日销售报报表,月月销售报报表nn); priintff( (3)退出登登陆系统统n); priintff(-谢谢谢使用-nn);prinntf((注注:管理理员,店店长,用用户登陆陆的账号号分别是是admmin,bosss,sselll初始密密码和账账号一致致)nn);欢迎界面面运行如如下(图图4-11): 图图4-112.登陆陆模块 voiid SSysttemLLogiin()函函数voidd SyysteemLooginn() /所所有用户户身份调调用的登登陆函数数 chaar uuserrNamme220,passsw
9、oord20; intt issLoggin = 00; SysstemmUseer *tmppUseer; priintff(请请输入你你的系统统用户帐帐号:); scaanf(%ss,uuserrNamme); priintff(n请输输入你的的系统用用户密码码:); scaanf(%ss,ppasssworrd); tmppUseer = pSSysttemUUserrHeaad; whiile(NULLL != ttmpUUserr) iff(0 = strrcmpp(tmmpUsser-usserNNamee,usserNNamee) iif(00 = sttrcmmp(ttmpUU
10、serr-ppasssworrd,ppasssworrd) isLLogiin = 1; strrcpyy(cuurreentUUserr,tmmpUsser-usserNNamee); currrenntUsserTTypee = tmppUseer-useerTyype; swiitchh(cuurreentUUserrTyppe) caase ADMMIN_USEER_TTYPEE: AAdmiinOpperaatioonMeenu(); bbreaak; caase BOSSS_UUSERR_TYYPE: BBosssOpeerattionnMennu(); bbreaak; caas
11、e SELLL_UUSERR_TYYPE: SSelllOpeerattionnMennu(); bbreaak; deefauult: bbreaak; ellse priintff(对对不起,你输入入的密码码错误!n); SysstemmLoggin(); /用用户名正正确,密密码错误误 tmmpUsser = ttmpUUserr-nnextt; if(isLLogiin != 11) prrinttf(对不起起,该用用户不存存在nn); /遍遍历了所所有用户户都没有有找到用用户 SyysteemLooginn(); 运算显示示如下(图图4-22): 图图4-223.管理理员功能能模块
12、管理员模块1.自身密码修改自身密码修改2. 用户信息管理:添加,修改,删除,查询3.商品信息管理:添加,修改,查询,删除4.销售报表显示(1)管管理员欢欢迎界面面voiid AAdmiinOpperaatioonMeenu()函数数voidd AddminnOpeerattionnMennu() intt seelecct; whiile(1) prrinttf(亲爱的的管理员员%s同同志,欢欢迎使用用本系统统,你拥拥有下面面所有功功能:n,currrenntUsser); prrinttf( (1)自自身密码码修改n); prrinttf( (2)用用户信息息管理:添加,修改,查询,删除n)
13、; prrinttf( (3)商商品信息息管理:添加,修改,查询,删除n); prrinttf( (4)退退出系统统n); prrinttf(请输入入上面功功能对应应的序号号进行功功能选择择:); sccanff(%d,&seelecct); swwitcch(sseleect) ccasee 1: ChaangeePassswoord(); conntinnue; ccasee 2: UseerMaanagge(); conntinnue; ccasee 3: ProoducctsMManaage(); Conntinnue; ccasee 4: ExiitSyysteem(); breea
14、k; ddefaaultt: breeak; ;运算显示示如下(图图4-33): 图图4-33(2)自自身密码码修改(调用密密码修改改函数CChanngePPasssworrd();)/密码码修改函函数voidd ChhanggePaasswwordd() chaar nnewPPasssworrd120,neewPaasswwordd2220; SysstemmUseer *tmppUseer; priintff(请请输入你你的新密密码:); scaanf(%ss,nnewPPasssworrd1); priintff(请请再次输输入你的的新密码码:); scaanf(%ss,nnewPPa
15、sssworrd2); if(0 != sstrccmp(newwPassswoord11,neewPaasswwordd2) prrinttf(对不起起,你两两次输入入的密码码不一致致,修改改失败!n); reeturrn ; tmppUseer = pSSysttemUUserrHeaad; whiile(NULLL != ttmpUUserr) iff(0 = strrcmpp(tmmpUsser-usserNNamee,cuurreentUUserr) sstrccpy(tmppUseer-passswoord,newwPassswoord11); pprinntf(密码码修改成成功!
16、n); bbreaak; tmmpUsser = ttmpUUserr-nnextt; ;运算显示示如下(图图4-44): 图44-4(2) 用户信息息管理:添加,修改,删除,查询/用户户信息管管理:添添加,修修改,删删除,查查询/voidd UsserMManaage() /用户户信息函函数/ intt seelecct;/管理理员显示示模块/ whiile(1) prrinttf(亲爱的的管理员员%s同同志,你你目前进进入的是是用户信信息管理理功能:n,cuurreentUUserr); prrinttf( (1)用用户信息息查看n); prrinttf( (2)用用户信息息添加n); p
17、rrinttf( (3)用用户信息息修改n); prrinttf( (4)用用户信息息删除n); prrinttf( (5)返返回上级级菜单n); prrinttf( (6)退退出登陆陆系统n); prrinttf(请输入入上面功功能对应应的序号号进行功功能选择择:); sccanff(%d,&seelecct); swwitcch(sseleect) ccasee 1: UseerInnfoVVieww(); /调用用用户信信息查看看的函数数/ conntinnue; ccasee 2: UseerInnfoAAdd(); /调调用用户户信息添添加函数数/ conntinnue; ccase
18、e 3: UseerInnfoMModiify(); /调调用用户户信息修修改函数数/ conntinnue; ccasee 4: UseerInnfoDDeleete(); /调调用用户户信息删删除函数数/ conntinnue; ccasee 5: AdmminOOperratiionMMenuu(); /返回回上级系系统/ breeak; ccasee 6: ExiitSyysteem(); /退退出登陆陆/ breeak; ddefaaultt: breeak; ;运算显示示如下(图图4-55): 图4-5/用户户信息查查看函数数/voidd UsserIInfooVieew() Sy
19、sstemmUseer *tmppUseer; tmppUseer = pSSysttemUUserrHeaad; priintff(亲亲爱的管管理员%s,你你好,你你查看的的所有用用户信息息如下:n,cuurreentUUserr); priintff(用用户名t密码码t用用户类型型(1代代表管理理员,22代表店店长,33代表销销售员)n); whiile(NULLL != ttmpUUserr) prrinttf(%st%sst%dnn,ttmpUUserr-uuserrNamme,ttmpUUserr-ppasssworrd,ttmpUUserr-uuserrTyppe); tmmpUs
20、ser = ttmpUUserr-nnextt; ;运算显示示如下(图图4-66):/用户户信息添添加函数数/voidd UsserIInfooAddd() SysstemmUseer ttmpUUserr; priintff(亲亲爱的管管理员%s,请请依次输输入用户户信息:n,cuurreentUUserr); priintff(用用户名:); scaanf(%ss,ttmpUUserr.usserNNamee); priintff(用用户密码码:); scaanf(%ss,ttmpUUserr.paasswwordd); priintff(用用户类型型(1代代表管理理员,22代表店店长,3
21、3代表销销售员):); scaanf(%dd,&tmppUseer.uuserrTyppe); tmppUseer.nnextt = NULLL; if(FUNNCTIION_SUCCCESSS = AAddUUserr(&ttmpUUserr) prrinttf(用户信信息添加加成功!n);运算显示示如下(图图4-77): 图44-7/用户户信息修修改函数数/voidd UsserIInfooModdifyy() chaar uuserrNamme220; SysstemmUseer *pUsser; priintff(亲亲爱的管管理员%s,请请输入要要修改的的用户帐帐号:n,currren
22、ntUsser); scaanf(%ss,uuserrNamme); pUsser = ppSysstemmUseerHeead; whiile(NULLL != ppUseer) iff(0 = strrcmpp(pUUserr-uuserrNamme,uuserrNamme) pprinntf(请输输入新的的帐号:); sscannf(%s,pUUserr-uuserrNamme); pprinntf(请输输入新的的密码:); sscannf(%s,pUUserr-ppasssworrd); pprinntf(请输输入新的的用户类类型(11代表管管理员,2代表表店长,3代表表销售员员):)
23、; sscannf(%d,&ppUseer-useerTyype); pprinntf(用户户信息修修改成功功n); rretuurn ; pUUserr = pUsser-neext; priintff(对对不起,没有你你查找的的用户信信息!n);运算显示示如下(图图4-88): 图图4-88/用户户信息删删除函数数/voidd UsserIInfooDelletee() SysstemmUseer *pUsserAA,*ppUseerB; chaar uuserrNamme220; priintff(亲亲爱的管管理员%s朋友友,你好好,你现现在进入入的用户户信息删删除功能能:nn,ccur
24、rrenttUseer); priintff(请请输入你你要删除除的用户户名:n); scaanf(%ss,uuserrNamme); pUsserAA = pUsserBB = pSyysteemUsserHHeadd; /pUUserrB指向向要删除除的记录录,pUUserrA指向向前一条条记录 if(NULLL = ppUseerB) reeturrn ; whiile(NULLL != ppUseerB) iff(0 = strrcmpp(usserNNamee,pUUserrB-useerNaame) iif(ppUseerB = pSyysteemUsserHHeadd & pUU
25、serrB-nexxt = NNULLL) /如如果系统统只有一一条商品品信息 freee(ppSysstemmUseerHeead); pSyysteemUsserHHeadd = NULLL; priintff(用用户信息息删除成成功!n); retturnn ; ppUseerA-neext = ppUseerB-neext; iif(ppSysstemmUseerHeead = pUsserBB) pSyysteemUsserHHeadd = pUsserBB-nnextt; ffreee(pUUserrB); pprinntf(用户户信息删删除成功功!nn); rretuurn ;
26、ellse ppUseerA = ppUseerB; ppUseerB = ppUseerB-neext; priintff(对对不起,不不存在该该帐号的的用户信信息!);运算显示示如下(图图4-99): 图4-9(3)商商品信息息管理:添加,修改,查询,删除/商品品管理模模块/voidd PrroduuctssMannagee() intt seelecct; whiile(1) prrinttf(亲爱的的%s朋朋友,你你好,你你现在进进入的是是商品管管理功能能,你可可以选择择以下功功能:n,currrenntUsser); prrinttf( (1)商品信信息查看看n); prrinttf
27、( (2)商品信信息查找找n); prrinttf( (3)商品信信息添加加n); prrinttf( (4)商品信信息修改改n); prrinttf( (5)商品信信息删除除n); prrinttf( (6)返回上上一级菜菜单nn); prrinttf( (7)退出登登陆系统统n); prrinttf(请选择择应的操操作编号号:); sccanff(%d,&seelecct); swwitcch(sseleect) ccasee 1: ProoducctsVVieww(); /调调用商品品查看函函数/ conntinnue; ccasee 2: ProoducctFiind(); /调调用商
28、品品信息查查找函数数/ conntinnue; ccasee 3: InpputAAndAAddPProdductt(); /调用用商品添添加函数数/ conntinnue; ccasee 4: ModdifyyProoducct(); /调调用商品品修改函函数/ conntinnue; ccasee 5: DelleteeProoducct(); /调用删删除商品品信息函函数/ conntinnue; ccasee 6: swiitchh(cuurreentUUserrTyppe) /返回上上一级/ caase ADMMIN_USEER_TTYPEE: AAdmiinOpperaatioonMeenu(); bbreaak; caase BOSSS_UUSERR_TYYPE: BBosssOpeerattionnMennu(); bbreaak; caase SELLL_UUSERR_TYYPE: SSelllOpeerattionnMennu(); bbreaak; deefauult: bbreaak; breeak;