《C+语言》课程设计报告
题 目
学生姓名:翟艳秋
学 号: 138325039
专业班级:13Z网络
指导教师:
江苏师范大学计算机科学与技术学院
高级语言程序设计课程设计任务书
姓 名
翟艳秋
学号
138325039
班
级
13Z网
络
课程名称
咼级语言程序设计
课程设计
课程性质
实践
设计时间
2014年5月1 日——2014年5 月8 日
设计名称
图书管理系统
设计要求
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版 时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:
图书信息录入功能(图书信息用文件保存)
图书信息浏览功能
查询和排序功能:(至少一种查询方式)
?按书名查询
?按作者名查询
图书信息的删除与修改(可选项)v
设计思路
与
设计过程
计划与进度
任课教师
意见
说明
TOC \o "1-5" \h \z \o "Current Document" 需求分析4
\o "Current Document" 概要设计 .5
\o "Current Document" 详细设计8
\o "Current Document" 调试分析18
\o "Current Document" 总结21
\o "Current Document" 参考文献21
源程序代码 22
需求分析
题目:图书信息管理系统设计
1)信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格,试设
计一图书信息管理系统,使之能提供以下功能:
系统以菜单方式工作
图书信息录入功能(图书信息用文件保存)一一输入
图书信息浏览功能一一输出
查询和排序功能:(至少一种查询方式)一一算法
1?按编号查找
2?按书名查询
3?按作者名查询
4?按出版社查找
图书信息的删除与修改(可选项)
2)需求说明:
图书信息包括:编号、书名、作者名、分类号、出版单位、出版时间、价格等,
并且要求编号不重复;
录入的图书信息要求用文件形式保存,并可以对其进行浏览、查询、修改、删除 等基本操作;
对图书信息查询应能够分别按书名及作者名两种方式进行,要求能返回所有符合 条件的读者的信息;
对读者信息的修改应逐个地进行,一个读者信息的更改不应影响其他的读者记
录;
系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行
各种处理
概要设计
要进入图书信息管理系统,就要先登录,每个用户都有三次登录机会,若登录失 败三次,系统就自动退出,登录成功后方可进行操作。登录后你可以有选择性的操作, 可以进行图书的维护、读者的维护、借书操作、还书操作或是退出系统。进入图书信 息后,可以选择新增图书、更改图书、删除图书、查找图书、显示图书、全部删除或 者是返回。进入读者信息后也是一样,可进行新增、更改、删除、查找、显示、全部 删除或者是返回。进入借书操作后,要借书的话就输入读者编号加想要借的图书编号 就可完成借书。还书操作也一样,输入还书读者编号加图书编号即可完成还书操作。
图1?系统功能图
图书信息
图2?图书维护功能图
读者信息项目
图3?读者维护功能图
借书项目
图4?借阅图书功能图
还书项目
图5.归还图书功能图
3.详细设计
1.头文件:
2?控制图书、
位读者的借书数量
#i nclude #in clude #in clude #i ncludevioma nip.h> #i nclude
〃控制台数据输入输出的函数
〃文件流
//控制数据输出格式
读者和每
const int Maxr=100 ;〃最多的读者数
const int Maxb=100;〃最多的图书数
const int Maxbor=5;〃每位读者最多
借的书
口' class BDatabase3?定义一个BDatabase (
口' class BDatabase
定义一个构造函数 BDatabase(,将写入到book.txt的数据读到book[]中
{
BDatabase()Book b; top=-1; fstream file("book.txt",ios::i n); while (1)
BDatabase()
{
file.read((char *)&b,sizeof(b)); if (!file)
break;
top++; book[top]=b;
} file.close();
}
定义一个void类型的clear()函数,
void clear()
用于删除全部图书数据
用于删除全部图书数据
{ char i;
cout?"确定全部删除 吗? Y/N ?"<