收藏 分享(赏)

小型商品管理系统-课程设计说明书.doc

上传人:精品资料 文档编号:8884344 上传时间:2019-07-15 格式:DOC 页数:37 大小:326.50KB
下载 相关 举报
小型商品管理系统-课程设计说明书.doc_第1页
第1页 / 共37页
小型商品管理系统-课程设计说明书.doc_第2页
第2页 / 共37页
小型商品管理系统-课程设计说明书.doc_第3页
第3页 / 共37页
小型商品管理系统-课程设计说明书.doc_第4页
第4页 / 共37页
小型商品管理系统-课程设计说明书.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、1C语言课程设计课程设计报告小型商品管理系统班级:11104112姓名:尹永贤学号:1110411231辅导教师:戴蒙2012.06.25-2012.07.062目录0 题目和31 设计目的62 功能描述73 总体设计8 3.1 功能模块设计83.2 数据结构设计93.3 函数功能描述10 4 程序实现114.1 源码分析11 4.2 运行结果225 课程设计总结283题目一 小型商品管理系统 1. 设计要求(1)基本功能:a) 创建商品价格信息文件 b) 增加商品价格信息 c) 删除商品价格信息 d) 修改商品价格信息 e) 查询商品价格 f) 商品价格排行浏览(2)拓展功能:a) 管理员对

2、用户的管理(权限管理): 增加、删除、修改、查询用户信息 b) 用户验证 (3)创新(自拟)功能:程序实现的其它功能由个人自拟。 2. 设计要求具体说明 a)基本功能: (1)创建商品价格信息文件:提示具有管理员权限的用户输入保存商品价格信息记录的文件名,在磁盘上创建该文件。用户根据提示输入商品的序号、名称、各项价格要素,如价格、折扣和会员价。可一次性输入多条商品的价格信息记录。系统将商品价格信息记录存储在系统磁盘的文件中,以便进行管理、查找和备份。 (2)增加商品价格信息:在原有商品价格信息文件的基础上增加新的商品价格信息记录,并继续保存至磁盘。 (3)删除商品价格信息:提示输入要进行删除操

3、作的商品序号,如果在文件中有该商品的价格信息存在,则将该序号所对应的名称、序号、各种价格要4素等在对应文件中加以删除,并提示顾客选择是否继续进行删除操作。 (4)修改商品价格信息:提示用户输入要进行修改操作的商品序号,如果在文件中有该商品的价格信息存在,则提示顾客输入要修改的选项,并将结果存储于文件。提示用户是否需要继续修改。 (5)查询商品价格:分为根据商品名称和商品序号两种查询方式,分别提示客户输入要查询商品信息的序号或名称,如果在磁盘文件中有对应得商品价格信息,则提示用户已找到,并逐项列出对应商品的价格状况。在该功能中,也需提示用户是否需要继续查找,如不再继续查询,则返回主界面。 (6)

4、商品价格排行浏览:根据商品的折扣价格进行排行,以便用户对商品价格状况有较为直观方便的了解。b)拓展功能: (1)管理员对用户的管理:管理员对用户进行创建、增加、删除、修改和浏览。管理员创建的用户登录信息存储在磁盘文件中,每当有用户登录系统时,系统根据该文件中的用户名和密码进行核实判断。 (2)用户验证:用户在使用系统治前要进行登录验证。提示输入用户名和密码。并根据其权限提供不同操作界面。如未能通过验证则提示用户重新登录,超过三次则强制退出系统。客户登录到系统后允许使用的系统功能和用户权限有关,普通用户只能进行查询和浏览,具有管理员权限的用户则可进行对商品信息的增、删、改和用户登录信息的管理。小

5、型商品管理系统1 用户登录2 商品信息管理3 权限管理图1.程序的主界面51 设计目的 本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完C 程序设计语言现代算法课程后进行的一次全面的综合练习。本课程设计的目的和任务:1. 巩固和加深学生对 C 语言课程的基本知识的理解和掌握; 2. 掌握 C 语言编程和程序调试的基本技能; 3. 利用 C 语言进行基本的软件设计; 4. 掌握书写程序设计说明文档的能力 5. 提高运用 C 语言解决实际问题的能力。 2 功能描述 本程序主要是对小型商品的基础操作基本功能: a) 创建商品价格信息文件 b) 增加商品价格信息 c) 删除商品价格

6、信息 d) 修改商品价格信息 e) 查询商品价格 f) 商品价格排行浏览 拓展功能: a) 管理员对用户的管理(权限管理): 增加、删除、修改、查询用户信息 b) 用户验证 创新(自拟)功能:程序实现的其它功能由个人自拟。63 总体设计 3.1 功能模块设计 主要结构、开始 主界面 选择操作执行操作 返回选择界面退出图 2.程序主要结构图73.2 数据结构设计 开始商品信息管理主界面权限管理用户登录函数 6 函数 5 函数 4 函数 3 函数 2 函数 1选择操作 选择操作退出输入错误用户验证 管理员验证图 3.程序流程图函数 1:创建商品价格信息文件 由主函数跳转到该函数后(1) 提示管理员

7、输入商品名和价格,存储在结构体中。(2) 提示管理员是否继续添加,若继续添加,则循环该函数,若选择不再添加,则跳出该函数。函数 2:增加商品价格信息 由主函数跳转到该函数后(1)检测是否有商品,若没有商品,则提示管理员先创建商品价格信息;若有商品,则统计有多少个商品,然后提示用户输入新的商品名和价格。(2)将输入信息存储在结构体中,提示管理员是否继续添加。(3)若继续添加,则循环该函数,若选择不再添加,则跳出该函数。8函数 3:删除商品价格信息 由主函数跳转到该函数后(1)提示管理员是选择性删除还是全部清空,并检测输入的内容是否符合要求,若符合要求,则执行相应操作;若不符合,则重新运行该函数。

8、(2)若选择的是全部清空,则直接删除所有内容;若选择的是选择性删除,提示管理员输入要删除的商品名,并存储在字符串中。(3)检测是否有所输入的商品名,若没有,则提示没有该商品;若有该商品,则将对应结构体的值清空,将其后的有商品的内容全部前移一位,将最后前移的内容原来的结构体值清空。跳出函数。函数4:修改商品价格信息 由主函数跳转到该函数后(1)提示管理员输入要删除的商品名并存储在字符串中。(2)用 strcmp(str1,str2)搜索输入的商品,若有,则提示管理员输入新的商品名和价格,代替原来的内容;若没有该商品,则提示输入错误。(3)跳出函数。函数 5:查询商品价格 由主函数跳转到该函数后(

9、1)提示管理员或用户输入要查询的商品名并存储在字符串中。(2)用 strcmp(str1,str2)搜索输入的商品,若有,则显示商品价格;若没有该商品,则提示输入错误。 (3)跳出函数。函数 6: 商品价格排行浏览由主函数跳转到该函数后(1)提示管理员或用户输选择想要的排序方式(按价格升序或降序) 。(2)检测输入是否正确,若不正确,则重新提示,直至输入内容符合要求。(3)分别用两个 for 循环进行相应排序。(4)按要求输出排序后内容3.3 函数功能描述 1输入函数1)函数原形:scanf(“%d”,2) 功 能:printf( )用于在屏幕上输出内容 .3.跳转函数1)函数原型:goto

10、标识符;2)用于无条件跳转4.选择函数1)函数原型:if()else,for(; ; ),switch()case :break;case :break;default:break;2) 功 能:按条件进行选择。5.自定义函数1)函数:(1)void establish(struct lable *p);(2)void add(struct lable *p);(3)void dele(struct lable *p);(4)void alter(struct lable *p);(5)void search(struct lable *p);(6)void chars(struct labl

11、e *p);2) 功 能:执行自定义的功能。4 程序实现 4.1 源码分析 /*小型商品管理系统/作者:尹永贤/2012-6-28*/*管理员口令为:999999/用户口令:888888*/#include #include #include struct lablechar name20;int price; a1000;void establish(struct lable *p);void add(struct lable *p);void dele(struct lable *p);void alter(struct lable *p);void search(struct lable

12、 *p);void chars(struct lable *p); 10int main(void)int K,M=100,N,X,Y,Z;/*start 是用来显示主界面并提示输入对应字符选择操作*/start:printf(“ *nn“);printf(“ * 小型商品管理系统 *nn“);printf(“ * 1.用户登录 *nn“);printf(“ * 2.商品信息管理 *nn“);printf(“ * 3.权限管理 *nn“);printf(“ * 0.退出 *nn“);printf(“ *nn“);printf(“请输入对应首字符选择你要的操作!n“);scanf(“%d“,if

13、(M!=0getch();/*等待你按下任意键,再继续执行下面的语句!*/goto start;/*跳转到对应语句*/*这个级联式 if 语句用来验证用户口令并选择执行相应的操作*/if(M=0)goto exit;/*跳转到对应语句*/else if(M=1)printf(“请输入用户口令:“);scanf(“%d“,if(X!=888888)printf(“Error!n 口令错误!n“);getch();/*等待你按下任意键,再继续执行下面的语句!*/goto start;/*跳转到对应语句*/ user:printf(“ *nn“);printf(“ * 5) 查询商品价格 *nn“)

14、;printf(“ * 6) 商品价格排行浏览 *nn“);11printf(“ * 0) 退出 *nn“);printf(“ *nn“);printf(“请输入对应首字符选择你要的操作!n“);scanf(“%d“,if(N!=5getch();/*等待你按下任意键,再继续执行下面的语句!*/goto user;/*跳转到对应语句*/ else if(M=2) printf(“请输入管理员口令:“);scanf(“%d“,if(Y!=999999)/*这个 if 语句用来检验输入的字符是否正确 */printf(“Error!n 口令错误!n“);getch();/*等待你按下任意键,再继续

15、执行下面的语句!*/goto start;/*跳转到对应语句*/ manager:printf(“ *nn“);printf(“ * 1) 创建商品价格信息文件 *nn“);printf(“ * 2) 增加商品价格信息 *nn“);printf(“ * 3) 删除商品价格信息 *nn“);printf(“ * 4) 修改商品价格信息 *nn“);printf(“ * 5) 查询商品价格 *nn“);printf(“ * 6) 商品价格排行浏览 *nn“);printf(“ * 7)返回主界面 *nn“);printf(“ * 0) 退出 *nn“);printf(“ *nn“);printf(

16、“请输入对应首字符选择你要的操作!n“);scanf(“%d“,if(N7|N7|N=pi.price)max=pj.price,pj.price=pi.price,pi.price=max;strcpy(str,pj.name);/*将后面的字符数组赋值给前面的字符数组*/ strcpy(pj.name,pi.name);strcpy(pi.name,str);if(p0.price=0)printf(“没有任何商品!n“);else/*输出商品信息 */printf(“*n“);for(i=0;pi.price!=0;i+)printf(“goods%dn“,i+1);printf(“na

17、me:%-20st“,pi.name);printf(“price:%dn“,pi.price);printf(“*n“);204.2 运行结果 1. 2. 213. 224. 235. 246. 257. 265 课程设计总结 本程序在做的过程中有许多错误,但在我的努力及同学的帮助下都被一一克服,现在操作本程序时可根据提示进行相关操作,能正确输出结果。在刚开始的几次调试中曾经出现过不能运行、经过多次调试,这些问题得到克服,并且使程序的功能也得到了一定的完善。在这次设计过程中,不仅复习课本上所学知识,还通过上网查资料、问同学学到了课本上没有的知识。从而启发我,要想写好程序,在学好课本知识的同时

18、还需要多读和专业有关的一些书籍,同时还需要多动脑子,27尽量把所学的知识综合起来应用,力争写出完美的程序。除此之外,我还得到了一些有用的教训:写程序时必须要细心,不能输错一个字符标点。在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误。1、 致谢能够完成这次课程设计必须感谢 C 语言课程老师戴蒙(是她教会了我C 语言这门课程)、何哲同学。参考文献1 C 程序设计语言现代算法2 http:/ 附件:源代码:/*小型商品管理系统/作者:尹永贤/2012-6-28*/*管理员口令为:999999/用户口令:888888*/#include #include #

19、include struct lablechar name20;int price; a1000;void establish(struct lable *p);void add(struct lable *p);void dele(struct lable *p);void alter(struct lable *p);void search(struct lable *p);void chars(struct lable *p); int main(void)int K,M=100,N,X,Y,Z;start:printf(“ *nn“);printf(“ * 小型商品管理系统 *nn“)

20、;printf(“ * 1.用户登录 *nn“);28printf(“ * 2.商品信息管理 *nn“);printf(“ * 3.权限管理 *nn“);printf(“ * 0.退出 *nn“);printf(“ *nn“);printf(“请输入对应首字符选择你要的操作!n“);scanf(“%d“,if(M!=0getch();/*等待你按下任意键,再继续执行下面的语句!*/goto start;if(M=0)goto exit;else if(M=1)printf(“请输入用户口令:“);scanf(“%d“,if(X!=888888)printf(“Error!n 口令错误!n“);

21、getch();/*等待你按下任意键,再继续执行下面的语句!*/goto start; user:printf(“ *nn“);printf(“ * 5) 查询商品价格 *nn“);printf(“ * 6) 商品价格排行浏览 *nn“);printf(“ * 0) 退出 *nn“);printf(“ *nn“);printf(“请输入对应首字符选择你要的操作!n“);scanf(“%d“,if(N!=5getch();/*等待你按下任意键,再继续执行下面的语句!*/goto user; else if(M=2) 29printf(“请输入管理员口令:“);scanf(“%d“,if(Y!=9

22、99999)printf(“Error!n 口令错误!n“);getch();/*等待你按下任意键,再继续执行下面的语句!*/goto start; manager:printf(“ *nn“);printf(“ * 1) 创建商品价格信息文件 *nn“);printf(“ * 2) 增加商品价格信息 *nn“);printf(“ * 3) 删除商品价格信息 *nn“);printf(“ * 4) 修改商品价格信息 *nn“);printf(“ * 5) 查询商品价格 *nn“);printf(“ * 6) 商品价格排行浏览 *nn“);printf(“ * 7)返回主界面 *nn“);printf(“ * 0) 退出 *nn“);printf(“ *nn“);printf(“请输入对应首字符选择你要的操作!n“);scanf(“%d“,if(N7|N7|N0)printf(“Error!n 输入错误!n“);getch();/*等待你按下任意键,再继续执行下面的语句!*/goto manager; else if(Z=0)goto start;switch(N)case 1:establish(a);goto manager;break;case 2:add(a);goto manager;break;case 3:dele(a);goto manager;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报