兰理工  c语言课程设计-- 图书管理系统_第1页
兰理工  c语言课程设计-- 图书管理系统_第2页
兰理工  c语言课程设计-- 图书管理系统_第3页
兰理工  c语言课程设计-- 图书管理系统_第4页
兰理工  c语言课程设计-- 图书管理系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

一、书写内容要求: 1) 封面 2) 目录 3) 中文摘要 100 字左右;关键词 3-5 个 4) 需求分析 5) 设计思路 6) 详细设计 7) 运行调试与分析讨论 8) 设计体会与小结 9) 参考文献 10) 致谢 行文要求言简意赅,术语规范,论据充分,条理清楚,图表、程序要安排紧凑。 二、格式排版及装订要求: 1、 课程设计的纸张统一采用 A4 纸规格,左侧装订。 2、 插图要求:图形大小合适、规范,图号清楚,中文标注(图题宋体、五号字)。 3、 格式排版要求: (1) 页边距设置:上 2.54 厘米,下 2.54 厘米,左 2.8 厘米,右 2.8 厘米; (2) 所有一级标题为宋体、小二号、加粗、段前 12 磅、段后 12 磅、居中; (3) 所有二级标题为宋体、三号、加粗、段前 6 磅、段后 6 磅、左对齐; (4) 所有三级标题为宋体、小三号、加粗、段前 6 磅、段后 6 磅、左对齐; (5) 除标题外所有正文为宋体小四,1.5 倍行距,每个段落首行缩进 2 字符; (6) 目录只显示 3 级标题 三、其他要求 1、 课设题目的序号对应于小组的序号,即第 1 组的题目为“01-图书信息管理系 统” ,第 2 组的题目为“02-职工信息管理系统”等。小组之间如要调换题目,必 须征得指导老师的同意,否则不允许调换; 2、 在任务书的相应处填写学号、姓名、班级等个人信息; 3、 查阅文献资料,一般在 5 篇以上; 4、 书写规范的课程设计文档; 5、 在设计文档的“运行调试与分析讨论”章节中加入运行结果的截图; 2 6、 蓝皮本、设计说明书的题目名称应与设计任务书保持一致。 7、 每人填写课程设计蓝皮本一份,主要填写封面、课程设计总结,不要忘记签 名。 8、 设计说明书排版格式参考下面的样例,格式统一,遵循规范,打印 1 份,装 订。 9、 任务书每人各打印 2 份,用订书机左侧订 2 个钉书针,一份交给指导老师, 一份夹在蓝皮本中。 10、 将蓝皮本、设计说明书、设计任务书(夹在蓝皮本中) 、光盘装到档案袋中。 11、 每个人单独建立文件夹,内容包括任务书、课程设计文档、答辩 PPT、源程 序(只要.c 的源程序) 。 12、 每个小组在“需求分析”之前写明成员的分工,课设结束后将个人的文件夹 (内容参见第 11 条)交各班长,班长将全部学生的内容汇总刻一张光盘。刻盘 时每人一个文件夹,以学号姓名命名,如:“12270324 宋帅” ,中间不要加任何 符号;文件夹内的内容如第 11 条所示,刻好后交给指导老师。 四、排版样例如下: * 实践教学 * 软件学院 2012 年秋季学期 C 语言课程设计 说明书 题 目: 图书信息管理系统 专业班级: 2012 级 软件工程 3 班 姓 名: 牛 铜 铜 学 号: 12270326 指导教师: 马 威 成 绩: 兰州理工大学软件学院 C 语言课程设计 i 目录 摘要 I 序言 .II 1、需求分析 1 2、设计思路 2 3、详细设计 3 4、运行调试与分析讨论 4 5、设计体会与小结 5 参考文献 6 致谢 7 兰州理工大学软件学院 C 语言课程设计 I 摘要 建立一个“图书信息管理系统”,系统以菜单方式工作,编写存放有图书信息, 包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。设计“图书 信息管理系统” ,使之能提供以下功能: 系统以菜单方式工作; 图书信息录入功能(图书信息用文件保存); 图书信息浏览功能; 查询和排序功能:按书名查询、按作者名查询; 图书信息的删除与修改。 关键词:功能主菜单; 信息录入;信息浏览;登录号排序;修改;删除; 序言 二十一世纪是信息的社会,信息作为社会最主要的资源,将成为战略资源引起人 们广泛的关注。如何获取信息?图书是我们最好的获取信息的方式,但由于图书馆图 书收藏量大大增加,使传统的图书管理员的工作日益繁重起来。迫使人们起用新的管 理方法来管理图书,如何把图书管理员从繁重的工作中解脱出来呢? 本设计主要研究的是用 C 语言开发图书馆管理功能,其具体体现在图书的检索、 查询、录入功能,更要优化了图书馆管理系统设计。 管理信息系统的设计与开发是一项系统工程,为了保证系统的质量,设计人员必 须遵守共同的设计原则,尽可能地提高系统的各项指标。具体的设计原则如下: 实用性原则 要力求最大限度地满足实际工作的需要,必要的考虑各业务层次、各管理环节数 据处理的实用性,把满足用户生产和管理业务作为第一要素进行考虑。用户接口和操 作界面设计则不必进行过多涉及,只要求在 dos 环境下的简单操作即可。 可扩展性与可维护性原则 为适应将来的发展,该系统应具有良好的可扩展性和可维护性。软件设计尽可能 模块化、组件化,使应用系统可灵活配置,适应不同的情况。 II 安全可靠性原则 应用软件与数据库系统的设计要做到安全可靠,防止非法用户的入侵。数据库 的备份策略恰当,以防止灾难性事故发生,这个由于目前水平有限,难以实施进行, 所以作略。 用户界面设计原则 不必设计,只要在 dos 环境下运行即可。 数据库设计原则:做到一致性和有效性即可。 小组分工情况 负责人 具体任务 牛铜铜 徐立信 菜单选择、图书信息的录入、保存和浏览功能 图书信息的查询、修改和删除功能 兰州理工大学软件学院 C 语言课程 设计 1 1、需求分析 一、系统需求分析 1、 对信息进行条形码管理。 2、 对成批数据的高效录入, 系统对录入的数据的合法性应做出有效性检查, 能够对数据进行增加、删除、修改等基本操作。 3、 实现对数据的动态查询且查询速度快, 并能够将数据以统一形式的报表 打印输入。 4、系统应该提供相应的代码维护功能。 5、该系统应具有对数据库中重要数据的备份和恢复的功能。 6、该系统应该采用用户匿名登录的方式, 以保护系统数据库的重要敏感数 据。 2 菜单 选择 模块 录 入 功 能 模 块 图 书 信 息 浏 览 功 能 模 块 图书 信息 查询 功能 模块 图书 信息 删除 功能 模块 图书 信息 修改 功能 模块 图 书 信 息 管 理 系 统 2、设计思路 根据题目要求,可以将系统分为六个模块: 1、菜单选择模块。 2、图书信息录入功能模块。 3、图书信息浏览和保存功能。 4、图书信息查询功能 。 5、图书信息的删除。 6、图书信息的修改。 兰州理工大学软件学院 C 语言课程 设计 3 3、详细设计 头 函 数 名 : #include #include #include #define N 10 struct library int num; char book_name30; char writer30; char sort_num3; char publisher30; char pub_time30; char price30; ; typedef struct library LIB; LIB libN; 注意:typedef 声明新的类型来代替已有的类型的名 字 FILE *fp; int all=0; int menu(void); void input(void); void output(void); void save(void); void del(void); void search(void); 4 void xiugai(void); void sort(void); 菜单选择模块。 main() system(“cls“); for(;) printf(“nnnnnt 兰州理工大学图书信息管理系统ttttn“); printf(“ nn 主菜单nn“); printf(“ 制作人:徐立信 牛铜铜 nn“); printf(“tt*n“); switch(menu() case 1:input();break; case 2:output();break; case 3:save();break; case 4:search();break; case 5:xiugai();break; case 6:del();break; case 7:sort();break; case 0:exit(1);break; int menu(void) /*显示主菜单*/ char m3; 兰州理工大学软件学院 C 语言课程 设计 5 int n; printf(“tt* 1-录入图书信息 *n“); printf(“tt* 2-浏览图书信息 *n“); printf(“tt* 3-保存图书信息 *n“); printf(“tt* 4-查找图书信息 *n“); printf(“tt* 5-修改图书信息 *n“); printf(“tt* 6-删除图书信息 *n“); printf(“tt* 7-按登录号排序 *n“); printf(“tt* 0-退出 *n“); printf(“tt*n“); printf(“tt 请选择一个操作:“); scanf(“%s“,m); n=atoi(m); return(n); 图 书 信 息 录 入 功 能 模 块 。 void input(void) /*显示输入函数*/ int i; char m3; system(“cls“); printf(“欢迎进入图书信息录入菜单!n“); for(i=all;iN;i+) all+; printf(“请按照提示输入:n“); printf(“tt 登录号:“); 6 scanf(“%d“, printf(“ntt 书名:“); scanf(“%s“,libi.book_name); printf(“ntt 作者:“); scanf(“%s“,libi.writer); printf(“ntt 分类号:“); scanf(“%s“,libi.sort_num); printf(“ntt 出版单位:“); scanf(“%s“,libi.publisher); printf(“ntt 出版时间:“); scanf(“%s“,libi.pub_time); printf(“ntt 价格:“); scanf(“%s“,libi.price); a: printf(“ntt 是否继续输入?n“); printf(“tt1-是n“); printf(“tt2-否ttt“); scanf(“%s“,m); if(atoi(m)=1) continue; else if(atoi(m)=2) system(“cls“); return; else printf(“tt 输入错误!n“); goto a; void output(void) /*显示输出函数*/ 兰州理工大学软件学院 C 语言课程 设计 7 int i; for(i=0;iall;i+) printf(“%d“,libi.num); printf(“t%st%st%s“,libi.book_name,libi.writer,libi.sort_num); printf(“t%st%st%sn“,libi.publisher,libi.pub_time,libi.price); 图书信息浏览和保存功能 void sort(void) /*从登陆号从大到小排序的函数*/ int b,i; struct library flash; if(fp=fopen(“file.c“,“wb“)=NULL) printf(“不能打开文件!n“); 注: 文件的打开 fopen 函数 return; 用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式) for(b=0;bN;b+) for(i=b+1;iN;i+) if(strcmp(libb.sort_num,libi.sort_num)0) flash=libb;libb=libi;libi=flash; 8 printf(“图书信息浏览:n“); printf(“登录号t 书名t 作者t 分类号t 出版单位t 出版时间t 价 格n“); for(b=0;bN;b+) if(libb.sort_num0!=0) printf(“%dt%st%st%st%st%stt%sn“,libb.num,libb.book_name,li bb.writer, libb.sort_num,libb.publisher,libb.pub_time,libb.price); else break; void save(void) /*文件保存*/ int i; if(fp=fopen(“file.c“,“wb“)=NULL) printf(“保存失败!“); exit(1); for(i=0;iall;i+) if(fwrite( exit(1); 兰州理工大学软件学院 C 语言课程 设计 9 fclose(fp); 4、 运行调试与分析讨论 主菜单页面 录入菜单 10 查询菜单 修改菜单 兰州理工大学软件学院 C 语言课程 设计 11 删除菜单 浏览菜单 12 分析讨论 课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意指针, 将不必要的命令去除。 根 据 题 目 要 求 , 应 当 把 图 书 信 息 用 结 构 体 形 式 输 入 , 再 定 义 一 个 全 局 变 量 和 文 件 指 针 进 行 整 个 程 序 的 运 行 , 然 后 把 图 书 信 息 送 到 文 件 中 , 所 以 应 该 提 供 一 个 结 构 体 和 文 件 的 输 入 输 出 等 操 作 ; 在 程 序 中 需 实 现 图 书 信 息 录 入 , 浏 览 , 查 询 , 删 除 和 修 改 等 功 能 的 操 作 , 所 以 需 要 建 立 相 应 的 模 块 来 实 现 ; 另 外 还 需 提 供 键 盘 式 选 择 菜 单 实 现 功 能 , 在 运 行 时 达 到 所 要 目 的 不可避免地程序中肯定依然存在者某些问题只有经过多次编辑,多次编译, 再多次运行,才能编写出完美的程序 、设计体会与小结 经过五天的编译原理课程设计,我终于顺利的完成该课程设计了。 兰州理工大学软件学院 C 语言课程 设计 13 还有一点,我还学会了排版,学会了很多的电脑知识。 通过该课程设计,可以掌握编译程序工作的基本过程及其各阶段的基本任 务,熟悉了编译程序总流程框图,了解了编译程序的生成过程及其相关的技术, 对课本上的知识也有了更深的理解。老师常说,课本上的知识是机械的,表面 的,要学会去运用,要举一反三。现在终于深刻的了解了这句话。经过这次的 课程设计,发现书本上很深奥的知识变的更为简单,同样,对实验原理也了有 更深的理解。知道和理解了该理论在计算机中是怎样执行的, 对该理论在实践 中的应用有深刻的理解 。通过该课程设计,把死板的课本知识变得生动有趣, 激发了学习的积极性。能够把课堂上学的知识通过自己设计的程序表示出来, 加深了对理论知识的理解。 课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意指针, 将不必要的命令去除。除了课堂外,课程设计是最能学

温馨提示

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

评论

0/150

提交评论