您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 小型商品管理系统-课程设计说明书
1C语言课程设计课程设计报告小型商品管理系统班级:11104112姓名:尹永贤学号:1110411231辅导教师:戴蒙2012.06.25-2012.07.062目录0题目和…………………………………………………………31设计目的………………………………………………………62功能描述………………………………………………………73总体设计………………………………………………………83.1功能模块设计………………………………………………83.2数据结构设计………………………………………………93.3函数功能描述………………………………………………104程序实现………………………………………………………114.1源码分析……………………………………………………114.2运行结果……………………………………………………225课程设计总结…………………………………………………283题目一小型商品管理系统1.设计要求(1)基本功能:a)创建商品价格信息文件b)增加商品价格信息c)删除商品价格信息d)修改商品价格信息e)查询商品价格f)商品价格排行浏览(2)拓展功能:a)管理员对用户的管理(权限管理):增加、删除、修改、查询用户信息b)用户验证(3)创新(自拟)功能:程序实现的其它功能由个人自拟。2.设计要求具体说明a)基本功能:�(1)创建商品价格信息文件:提示具有管理员权限的用户输入保存商品价格信息记录的文件名,在磁盘上创建该文件。用户根据提示输入商品的序号、名称、各项价格要素,如价格、折扣和会员价。可一次性输入多条商品的价格信息记录。系统将商品价格信息记录存储在系统磁盘的文件中,以便进行管理、查找和备份。�(2)增加商品价格信息:在原有商品价格信息文件的基础上增加新的商品价格信息记录,并继续保存至磁盘。�(3)删除商品价格信息:提示输入要进行删除操作的商品序号,如果在文件中有该商品的价格信息存在,则将该序号所对应的名称、序号、各种价格要素等在对应文件中加以删除,并提示顾客选择是否继续进行删除操作。4�(4)修改商品价格信息:提示用户输入要进行修改操作的商品序号,如果在文件中有该商品的价格信息存在,则提示顾客输入要修改的选项,并将结果存储于文件。提示用户是否需要继续修改。�(5)查询商品价格:分为根据商品名称和商品序号两种查询方式,分别提示客户输入要查询商品信息的序号或名称,如果在磁盘文件中有对应得商品价格信息,则提示用户已找到,并逐项列出对应商品的价格状况。在该功能中,也需提示用户是否需要继续查找,如不再继续查询,则返回主界面。�(6)商品价格排行浏览:根据商品的折扣价格进行排行,以便用户对商品价格状况有较为直观方便的了解。b)拓展功能:�(1)管理员对用户的管理:管理员对用户进行创建、增加、删除、修改和浏览。管理员创建的用户登录信息存储在磁盘文件中,每当有用户登录系统时,系统根据该文件中的用户名和密码进行核实判断。�(2)用户验证:用户在使用系统治前要进行登录验证。提示输入用户名和密码。并根据其权限提供不同操作界面。如未能通过验证则提示用户重新登录,超过三次则强制退出系统。客户登录到系统后允许使用的系统功能和用户权限有关,普通用户只能进行查询和浏览,具有管理员权限的用户则可进行对商品信息的增、删、改和用户登录信息的管理。图1.程序的主界面小型商品管理系统1.用户登录2.商品信息管理3.权限管理51设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《C程序设计语言现代算法》课程后进行的一次全面的综合练习。本课程设计的目的和任务:1.巩固和加深学生对C语言课程的基本知识的理解和掌握;2.掌握C语言编程和程序调试的基本技能;3.利用C语言进行基本的软件设计;4.掌握书写程序设计说明文档的能力5.提高运用C语言解决实际问题的能力。2功能描述本程序主要是对小型商品的基础操作基本功能:a)创建商品价格信息文件b)增加商品价格信息c)删除商品价格信息d)修改商品价格信息e)查询商品价格f)商品价格排行浏览拓展功能:a)管理员对用户的管理(权限管理):增加、删除、修改、查询用户信息b)用户验证创新(自拟)功能:程序实现的其它功能由个人自拟。63总体设计3.1功能模块设计主要结构、图2.程序主要结构图开始主界面选择操作执行操作返回选择界面退出73.2数据结构设计图3.程序流程图函数1:创建商品价格信息文件由主函数跳转到该函数后(1)提示管理员输入商品名和价格,存储在结构体中。(2)提示管理员是否继续添加,若继续添加,则循环该函数,若选择不再添加,则跳出该函数。函数2:增加商品价格信息由主函数跳转到该函数后(1)检测是否有商品,若没有商品,则提示管理员先创建商品价格信息;若有商品,则统计有多少个商品,然后提示用户输入新的商品名和价格。(2)将输入信息存储在结构体中,提示管理员是否继续添加。(3)若继续添加,则循环该函数,若选择不再添加,则跳出该函数。开始商品信息管理主界面权限管理用户登录函数6函数5函数4函数3函数2函数1选择操作选择操作退出输入错误用户验证管理员验证8函数3:删除商品价格信息由主函数跳转到该函数后(1)提示管理员是选择性删除还是全部清空,并检测输入的内容是否符合要求,若符合要求,则执行相应操作;若不符合,则重新运行该函数。(2)若选择的是全部清空,则直接删除所有内容;若选择的是选择性删除,提示管理员输入要删除的商品名,并存储在字符串中。(3)检测是否有所输入的商品名,若没有,则提示没有该商品;若有该商品,则将对应结构体的值清空,将其后的有商品的内容全部前移一位,将最后前移的内容原来的结构体值清空。跳出函数。函数4:修改商品价格信息由主函数跳转到该函数后(1)提示管理员输入要删除的商品名并存储在字符串中。(2)用strcmp(str1,str2)搜索输入的商品,若有,则提示管理员输入新的商品名和价格,代替原来的内容;若没有该商品,则提示输入错误。(3)跳出函数。函数5:查询商品价格由主函数跳转到该函数后(1)提示管理员或用户输入要查询的商品名并存储在字符串中。(2)用strcmp(str1,str2)搜索输入的商品,若有,则显示商品价格;若没有该商品,则提示输入错误。(3)跳出函数。函数6:商品价格排行浏览由主函数跳转到该函数后(1)提示管理员或用户输选择想要的排序方式(按价格升序或降序)。(2)检测输入是否正确,若不正确,则重新提示,直至输入内容符合要求。(3)分别用两个for循环进行相应排序。(4)按要求输出排序后内容3.3函数功能描述1.输入函数1)函数原形:scanf(“%d”,&*)2)功能:scanf()函数利用取地址符号&完成对程序中某个变量的赋值,进而程序中判断循环的功能。2.输出函数1)函数原型:printf(“”,);92)功能:printf()用于在屏幕上输出内容.3.跳转函数1)函数原型:goto标识符;2)用于无条件跳转4.选择函数1)函数原型:if(){}else{},for(;;){},switch(){case:break;case:break;default:break;}2)功能:按条件进行选择。5.自定义函数1)函数:(1)voidestablish(structlable*p);(2)voidadd(structlable*p);(3)voiddele(structlable*p);(4)voidalter(structlable*p);(5)voidsearch(structlable*p);(6)voidchars(structlable*p);2)功能:执行自定义的功能。4程序实现4.1源码分析/*小型商品管理系统/作者:尹永贤/2012-6-28*//*管理员口令为:999999/用户口令:888888*/#includestdio.h#includeconio.h#includestring.hstructlable{charname[20];intprice;}a[1000];voidestablish(structlable*p);voidadd(structlable*p);voiddele(structlable*p);voidalter(structlable*p);voidsearch(structlable*p);voidchars(structlable*p);intmain(void){intK,M=100,N,X,Y,Z;10/*start是用来显示主界面并提示输入对应字符选择操作*/start:printf(*******************************\n\n);printf(*小型商品管理系统*\n\n);printf(*1.用户登录*\n\n);printf(*2.商品信息管理*\n\n);printf(*3.权限管理*\n\n);printf(*0.退出*\n\n);printf(*******************************\n\n);printf(请输入对应首字符选择你要的操作!\n);scanf(%d,&M);if(M!=0&&M!=1&&M!=2&&M!=3||M==100)/*这个if语句用来检验输入的字符是否正确*/{printf(Error!\n输入有误!\n);getch();/*等待你按下任意键,再继续执行下面的语句!*/gotostart;/*跳转到对应语句*/}/*这个级联式if语句用来验证用户口令并选择执行相应的操作*/if(M==0){gotoexit;/*跳转到对应语句*/}elseif(M==1){printf(请输入用户口令:);scanf(%d,&X);if(X!=888888){printf(Error!\n口令错误!\n);getch();/*等待你按下任意键,再继续执行下面的语句!*/gotostart;/*跳转到对应语句*/}user:printf(**************************************\n\n);printf(*5)查询商品价格*\n\n);printf(*6)商品价格排行浏览*\n\n);printf(*0)退出*\n\n);printf(**************************************\n\n);printf(请输入对应首字符选择你要的操作!\n);scanf(%d,&N);11if(N!=5&&N!=6&&N!=0)/*这个if语句用来检验输入的字符是否正确*/{printf(Error!\n输入错误!\n);getch();/*等待你按下任意键,再继续执行下面的语句!*/gotouser;/*跳转到对应语句*/}}elseif(M==2){printf(请输入管理员口令:);scanf(%d,&Y);if(Y!=999999)/*这个if语句用来检验输入的字符是否正确*/{printf(Error!\n口令错误!\n);getch();/*等待你按下任意键,再继续执行下面的语句!*/gotostart;/*跳转到对应语句*/}manager:printf(**************************************\n\n);printf(*1)创建商品价格信息文件*\n\n);printf(*2)增加商品价格信息*\n\n);printf(*3)删除商品价格信息*\n\n);printf(*4)修改商品价格信息*\n\n);printf(*5)查询商品价格*\n\n);printf(*6)商品价格排行浏览*\n\n);printf(*7)返回主界面*\n\n);printf(*0)退出*\n\n);printf(**************************************\n\n);printf(请输入对应首字符选择你要的操作!\n);scanf(%d,&N);if(N7||N0){printf(Error!\n输入错
本文标题:小型商品管理系统-课程设计说明书
链接地址:https://www.777doc.com/doc-5496443 .html