13本科课程设计模板
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
荆楚理工学院
课程设计成果
学院: 计算机工程学院班级: 13计算机科学与技术<1>班
学生姓名: 学号:
设计地点(单位)________ ____________
设计题目:_ ________ _____
完成日期:2015 年07 月5 日
指导教师评语: ______________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________________________________
成绩(五级记分制):_____ _ __________
教师签名:__________ _______________
目录
1 设计任务 (3)
1.1设计目的 (3)
1.2设计内容 (3)
1.3设计指标或者要求 (3)
2 设计过程 (3)
2.1程序功能 (3)
2.2程序流程图 (4)
3软件运行或者测试结果 (6)
3.1管理员身份登录 (6)
3.2读者身份登录 (8)
4 软件设计过程中遇到的问题以及解决办法 (9)
5 总结 (10)
附录(程序源代码) (10)
1 设计任务
1.1设计目的
运用所学C++知识,完成图书馆管理系统,通过实践加强对所学知识的理解和巩固。
1.2设计内容
建立图书馆管理系统,用户分为图书管理人员,读者。
管理人员可以增加删除查看图书、读者。
读者只能查看自身信息,和借还书。
1.3设计指标或者要求
管理人员可以访问任意图书和读者,而读者只能借还图书馆存在的图书和查看自己的
2 设计过程
分析:由于管理系统用户有图书管理员和读者,但两者的权限不同,管理员有权访问所有图书信息和管理员信息,而读者只能访问所有图书信息和自身的信息。
所以他们的相同点:都能访问所有图书信息
不同点:管理员能访问所有读者信息而管理员只能访问自身信息而不能访问其它读者信息;故此设计了三个类。
程序包含三个类:图书类(books),管理员类(manager),读者类reader,books类为抽象类,manager,和reader类为books类的派生类。
为了能让管理员和读者访问所有图书信息,所有都继承了books类;而为了分出两者的权限的不同,所以把所有读者的信息做为一个链表作为管理员的一个私有成员,而读者却只能放一个自身节点作为读者的私有成员,然后分别设计各个类的成员函数。
2.1程序功能
Class books ///虚基类
{
protected:
books_node *broot;
public:
books();//构造函数
savebooks();//保存修改的内容
search_book();//查找某一本书
print_books();//输出所有书的信息
virtual add_book()=0;//对于读者是还书,对于管理员添加书
virtual delet_book()=0;//对于读者是借书,对于管理员是去掉某一本书
};
Class manager:public books //管理员类
{
protected:
readers_node *rroot;
public:
manager(readers_node*);
savereaders();
add_book();//添加图书信息
delet_book();//删除图书
search_reader();//查找读者信息
add_reader();//添加读者
delet_reader();//删除读者
print_readers();//输出所有读者
};
class reader:public books{//读者类
private:readers_node* personnel;//存放读者自身信息public:
reader(readers_node*);
add_book();//还书
reader_borrow();
delet_book();
reader_return();//借书
print_me();//查看自己借书情况
save_readers(readers_node*);
};
2.2程序流程图
开始菜单
管理员菜单 读者菜单
添 删 加 除 图 图 书 书
添 删 加 除 读 读 者 者 借 还 查 查 看 看 所 自 有 身 图 信 书 书 书 息
读者
管理员
图书维护
读者维护
后退
后退
后 退
后 退 后 退
3软件运行或者测试结果3.1管理员身份登录
3.2读者身份登录
4 软件设计过程中遇到的问题以及解决办法
由于编写前期做了大量的设计工作,在编写过程中基本没有遇到难解决的问题提,倒是在设计
类时有些茫然,经过反复斟酌还是做了一些取舍,比如把读取读者文件放在了类的外面等。
5 总结
通过本次课程设计学到了很多东西,对于c++对象的含义有了进一步的认识,从而对类的封装和设计有了一种新的认识,不只是停留在表面,为以后的学习积累了经验,设计不比编写容易,类设计好是整个程序写好的前提,只有一个好的规划才能写出好的程序。
不过也通过本次发现了自己的不足之处。
总是:本次课程设计受益匪浅,动手能力大大增强;
附录(程序源代码)
#include<iostream.h>
题目:
1. 小型图书管理系统
2. 小型工资管理系统
3. 小型员工信息管理系统
4. 小型学生选课系统
5. 贪吃蛇游戏
6. 小型银行账户管理系统
7. 小型航空飞机订票系统
8. 迷宫游戏程序
9. 五子棋游戏
10. 列车时刻查询系统
11. 机房收费管理系统
12. 机房机位预定系统
13. 图形时钟
14. 歌手比赛系统
15. 班级档案管理系统
16. 运动会比赛计分系统。