c语言课程设计--图书管理系统.docx
《c语言课程设计--图书管理系统.docx》由会员分享,可在线阅读,更多相关《c语言课程设计--图书管理系统.docx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、内蒙古科技大学课程设计说明书内蒙古科技大学本科生课程设计说明书题 目:C语言课程设计 图书管理系统学生姓名:学 号:专 业:软件工程班 级:软件一班指导教师:日 期: 2016 年 1月 3 日22内蒙古科技大学课程设计任务书课程名称C语言课程设计设计题目图书管理系统 指导教师 时间2016.1.52016.1.9一、教学要求1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立
2、完成,题目选定后不可更换。学生选修课程管理系统设计假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:v 课程信息录入功能(课程信息用文件保存)输入;课程信息浏览功能输出v 查询功能:(至少一种查询方式)算法按学分查询 按课程名称查询v 学生选修课程(可选项)三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试
3、程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少500行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。目 录内蒙古科技大学课程设计任务书I第一章 需求分析31.1
4、引言31.2任务概述31.3数据描述31.4功能需求31.5任务计划4第二章概要设计52.1总体设计52.2数据类型设计(或数据结构设计)52.3接口设计 /函数声明62.4运行界面设计6第三章详细设计73.1输入模块设计73.2输出模块设计73. 3查找模块设计73.4排序模块设计73.5保存及读取模块设计7第四章测试分析84.1测试程序执行情况84.2出现的问题和解决的方法9第五章课程设计总结12参考文献12致谢13附录:程序代码14第一章 需求分析1.1 引言随着图书馆里图书数量的增多,图书管理管理变得越来越困难,为了方便学校对图书借阅的管理,一个简易的图书管理管理系统可以解决一些简单的
5、问题1.2 任务概述v 图书信息录入功能(图书信息用文件保存)输入v 图书信息浏览功能输出v 查询或排序功能:(至少两种种查询方式)算法按书名查询 按作者名查询v 图书信息的删除与修改v 图书的借出与归还1.3 数据描述需要输入的数据包括登录号、书名、作者名、分类号、出版单位、出版时间、价格等。系统会自动处理图书的借出与归还。1.4 功能需求图书管理系统需要实现以下功能;1. 图书信息录入功能(图书信息用文件保存)-输入2. 图书信息浏览功能输出3. 查询或排序功能:(至少两种查询方式)-算法按书名查询 按作者查询4. 图书信息的删除与修改5. 图书的借出与归还 1.5 程序功能简介本系统是C
6、语言开发的一个图书管理系统。本系统具有图书信息录入、浏览、删除、修改、查找(包括按书名、作者查找)功能。其中图书信息包括登录号、书名、作者名、分类号、出版单位、出版时间、价格,并且对信息以文件形式储存。另外本系统具备实用性的同时代码逻辑谨慎清晰易懂,且界面美观第二章 概要设计2.1 总体设计选择功能色图书的借出与归还v 图图图书信息的删除与修改v 信息的删除与修改v 书信息的删除与修改查询或排序功能图书信息浏览功能图书信息录入功能图书信息的删除与修改系统运行按作者名查询按书名查询2.2 数据类型设计(或数据结构设计)1. 数据以顺序结构储存2.3 接口设计 /函数声明可参考用以下表格形式:表2
7、.1:函数列表函数名函数格式 /即函数首部mainint main()intnum; /*登录号*/charname100; /*书名*/charauthor100;/*作者名*/charfn100;/*分类号*/charplace100;/*出版单位*/charday100;/*出版时间*/floatmoney;/*价格*/main()/*主函数*/voidInput();/*输入*/voidDisplay();/*输出*/voidFind();/*查找*/ voidModify(); /*删除*/voidChange();/*修改*/2.4 运行界面设计第三章 详细设计3.1 输入模块设计
8、void BOOK:input() /定义成员函数input(),用于输入图书信息coutname;coutauthor;coutsort;coutpublish;coutpub_year;coutprice;coutntt *输入完成*n;第四章 测试分析4.1 测试程序执行情况能按照正确操作实现已加入的各个功能,一些部分添加了报错的功能,如选择1-n中的一个数字。界面;录入新增浏览查询修改删除第五章 课程设计总结经过一个多星期的编译原理课程设计,在我的努力下,顺利完成该课程设计。通过该课程设计,掌握了编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解了编译程序的生成
9、过程及其相关的技术,对课本上的知识也有了更深的理解。老师常说,课本上的知识是机械的,表面的,要学会去运用,要举一反三。现在终于深刻的了解了这句话。经过这次的课程设计,发现书本上很深奥的知识变的更为简单,同样,对实验原理也了有更深的理解。知道和理解了该理论在计算机中是怎样执行的, 对该理论在实践中的应用有深刻的理解 。通过该课程设计,把死板的课本知识变得生动有趣,激发了学习的积极性。能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意指针,将不必要的命令去除。除了课堂外,课程设计是最能学到东西的,最考验人的。在做课程
10、设计的这段时间,时刻都感到自己学的知识有多么的贫瘠。经过这次课程设计,让我对C+这门语言有了更深的认识,操作能力有了提高要想是写出的代码能运行,需要耐心细心,毅力以及充沛的体力。只有经过多次编辑,多次编译,再多次运行,才能编写出更好的程序,有时候需要多次的更正才能达到所要的运行结果。参考文献1C语言程序设计,谭浩强,清华大学出版社2C语言程序设计课程设计,刘振安,机械工业出版致谢宇松#include#includeclass BOOK /定义一个BOOK类,包含7个公有数据成员和2个成员函数public:int login;char name20;char author20;char sort
11、20;char publish20;char pub_year20;float price;void input(); /成员函数声明void output();void BOOK:input() /定义成员函数input(),用于输入图书信息coutname;coutauthor;coutsort;coutpublish;coutpub_year;coutprice;coutntt *输入完成*n;void BOOK:output() /定义成员函数output(),用于输出图书信息coutntt 登录号:loginn;coutntt 书名:namen;coutntt 作者:authorn;
12、coutntt 分类号:sortn;coutntt 出版单位:publishn;coutntt 出版时间:pub_yearn;coutntt 价格:price元nn;void screen(); /自定义函数screen()的声明,该函数用于显示系统主菜单int count() /count()用于计算文件中存储有几本书的信息ifstream infile(book_information.dat,ios:in|ios:binary|ios:nocreate);infile.seekg(0,ios:end); /文件指针移到文件尾return infile.tellg()/sizeof(BOO
13、K);void luru() /luru():实现书目信息录入char p;coutp;if(p=y|p=Y)BOOK bo;int i=0; ofstream outfile(book_information.dat,ios:out|ios:binary); /ios:out会删除文件原有数据 if (!outfile)coutntt 文件打开错误!; return; do coutnn; i=i+1;bo.login=i;/第一本书的登录号(bo.login)为1,随循环顺次增加 couttt 第bo.login本书n; bo.input(); outfile.write(char*)&b
14、o,sizeof(bo); coutp; while(p=y|p=Y); outfile.close(); screen(); /函数结束,返回主菜单void xinzeng() /xinzeng():增加书目信息BOOK bo;ofstream outfile(book_information.dat,ios:out|ios:binary|ios:app);if (!outfile)coutntt 文件打开错误!;return;bo.login=count()+1; /录入新书时,计算对应的登录号coutnntt 第bo.login本书n;bo.input();outfile.write(c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 图书 管理 系统
限制150内