《C++程序设计基础课程设计-图书预定系统》由会员分享,可在线阅读,更多相关《C++程序设计基础课程设计-图书预定系统(39页珍藏版)》请在金锄头文库上搜索。
1、1长 沙 学 院课 程 设 计 说 明 书题目 图书预订系统系(部) 机算计科学与技术系专业(班级) 软件工程 B 班姓名学号指导教师起止日期2课程设计任务书课程名称:C+程序设计基础设计题目:1、图书预定系统设计要求:问题的描述:张晨是一位很爱学习的同学,但是他总是为在图书馆借阅不到自己想看的书而烦恼。终于有一天他在图书馆做勤工俭学时突发奇想:“要是有一个包含图书预定的图书借阅系统就好了”。你能够帮助他完成这个系统的编写吗?系统的大致要求如下:1. 系统记录图书的主要信息:书名、作者、书号(ISBN)、出版社、版次、出版时间、馆藏编号。2. 系统应该记录读者的信息:姓名、借书证号、所在系部、
2、分类(学生?老师?)、已借书籍、超期书籍、预定书籍。每本书都应记录其借出日期和应归还日期。3. 借书的规则如下,学生读者可以借5本图书,教师可以借6本,借期都是一个月。一旦超期,就不可以再借书或预定(原预定的图书取消)。为了简化系统,本题不考虑续借的问题。4. 预定规则如下:每个学生可以以预定两本,老师可以预定三本图书。被预定的书本一旦重新入库,则通知第三个预定者,先到的人先借。5. 如果被预定的图书超过一定人数图书比(比如说某本书被5个人预定,这本书的预定比为5:1),则将本书加入到下一次的采购清单。技术要求:1、菜单:用户需要通过菜单来选择功能。例如,菜单可以设计为下面的样子(菜单和功能可
3、以自己设计,以下界面仅供参考):#欢迎来到长沙学院图书馆请按键选择功能#1、登陆 2注销2、借书 3、还书4、图书预定 5、图书检索7、退出系统#2、设计合理的检索功能,要求实现 按名称检索图书 按书号检索图书 按出版社检索图书3 按馆藏编号检索图书3、设计合理的排序功能,要求实现所借书籍: 按还期排序 按书号排序 按馆藏编号排序4、巧妙灵活的运用文件知识,将多个信息写入文件,如读者信息、图书信息等5、馆藏书目和读者信息事先已经存放在各自的文件中,程序只需读取和处理即可6、无需设计全面的图书的管理功能和读者的管理功能,这样可以控制程序规模和复杂度技术提示:1、分析和设计很重要,设计清楚再动手2
4、、使用面向对象的方法可以减轻复杂问题的分析难度3、使用模板可以减少函数的数量4、文件不要用太多,要注意文件之间(文件中信息之间)的关系设计题目:2、课程设计的安排设计要求:问题的描述:计算机系的课程设计通常是由系教务的段卉老师负责安排的。但随着服务外包专业方向的招生,班级和学生人数越来越多。实验室的安排就成了问题。于是,段老师将课程设计的安排交给了各门课程的主讲教师。但是主讲教师不熟悉课程安排,安排的课程设计时间非常不合理。老师和学生都有些意见。这里要求你编写一个程序,帮助安排本学期的课程设计。系统的大致要求如下:1. 课程设计在15、16两周举行。2. 每位老师带一个班的课程设计,总学时数为
5、40学时,每个班要在两周内上机若干个(这个数字没有规定,可根据题目的难度安排1030学时,比如说26学时)学时,其他时间为老师答疑和任务布置。3. 服务外包一共有14个班(只有3班和7班的人数超过了40人),上机的教室一共有7个分别是1401、1402、1403、1404、1408、1409、1413。4. 一般而言,任何一个没课的教室都可以容纳任何一个班,但是由于3班和7班的人数超过40人,因此只能安排到1409和1413。5. 教室里面已经安排了课,负责安排实验室的黄娟老师给了你一张有课的课表(文本文件),格式如下:1401 15NYYYYNNYYY(该文件表示:1401实验室第15周星期
6、一和星期二的占用情况,第二行开始,每行为一天,字母N表示不能排课,而字母Y表示可以安排)6. 另外的一些条件也会影响课程的安排,我们必须把它考虑进去:a) 2010级的同学在两个周五的上午安排有考试、不能安排上机。4b) 15周星期一是端午节假期,不能安排任何教学活动。c) 任何班不允许在同一天上机超过6个学时(3大节课)d) 一些老师会在某各时段不能上课,这个时段在安排时是未知的,当某位老师输入了需要回避的时间段后,系统应该立即调整课表的安排,并重新生成新的课表。(例如:某位老师输入6.16 5 6表示该老师在6月16日56小节有其他安排,那么这个时间点不能排课)7. 编排好的实验安排必须在
7、屏幕上输出,当用户确认(无需调整后)以文件的形式保存技术要求:1、该系统应该设计菜单和用户交互,菜单应该包含输入老师要求回避的时间段,屏幕输出每个老师/班级的上机时间等功能。2、要求 4 中的实验室的课表已经以硬盘文件的形式存在,可以预先编写好,程序读取即可3、最后生成的课表应该以文件方式保存,格式可以自定技术提示:1、分析和设计很重要,设计清楚再动手2、使用面向对象的方法可以减轻复杂问题的分析难度3、使用模板可以减少函数的数量4、文件不要用太多,要注意文件之间(文件中信息之间)的关系2. 报告要求: 1) 课程设计报告要求严格按照长沙大学实验报告的相关规定执行2) 清晰描述开发设计过程与思路
8、3) 清晰的绘出 UML 类图描述类的关系4) 代码要求有清晰的注释(包括类的功能注释,函数的功能注释,循环和结构的功能注释)5) 包含运行时主要界面的截图3. 技术要求:要求利用 C+课程上学习的基础编程技巧来完成程序的设计;在设计的过程中,要建立清晰的类的结构并正确使用相应的数据类型; 在系统设计中要分析类与类之间的关系,将查找和排序的算法独立出来形成为单独的函数。并正确使用函数和类的模板。正确使用继承、重载和多态等编程技巧。5设计工作量:40 课时工作计划:(1) 2010 软件工程(服务外包)114 班2 课时:课程设计相关知识介绍。多媒体教室。26 课时:上机、调试。计算机系机房。1
9、0 课时:答疑。办公室。2 课时:答辩。计算机系机房。指导教师签名: 日期:教研室主任签名: 日期: 系主任签名: 日期: 6长沙学院课程设计鉴定表姓名 学号 专业 班级设计题目 指导教师指导教师意见:评定等级: 教师签名: 日期: 答辩小组意见:评定等级:答辩小组长签名: 日期: 教研室意见:教研室主任签名: 日期: 系(部)意见:系主任签名: 日期:说明 课程设计成绩分“优秀” 、 “良好” 、 “及格” 、 “不及格”四类;7摘要图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全
10、性好的库。而对于后者则要求应用程序功能完备,易使用等特点。采用 C+作为开发工具,通过对 C+进行深入的学习和应用,主要完成利用图书管理系统对图书记录进行统一管理,包括新增图书记录,更改图书记录,删除图书记录等功能,实现图书管理工作的系统化,规范化和自动化,为图书管理提供便利。同时是学习完C+面向对象程序设计课程后进行的一次全面的综合练习。有助于加深对面向对象程序设计中基础理论和基本知识的理解,培养了实践能力,促进理论与实践的结合。关键字:图书管理系统 C+ 信息管理系统8目录1 设计内容与要求 .92.设计说明 .102.1 系统功能分析: .102.2 系统功能模块划分与设计 .112.3 系统功能模块图: .113.详细设计 .123.1 读者类的设计 .123.2 读者库类类的设计 .133.3 图书类的设计 .133.4 图书库类的设计 .144、函数定义 .144.1 数据成员 .