- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C个人书籍管理系统的设计与实现C个人书籍管理系统的设计与实现
数学与计算机学院 C程序设计 课程
设计报告
年级 2012 学号 2012110911 姓名 刘怡然
成绩
专业 电气
实验地点 B3-401 指导教师 许景山
实验项目 简单个人书籍管理系统的设计与实现
实验日期 2013年6月23日
实验题目
简单个人书籍管理系统的设计与实现
实验目的、要求
1、存储书籍各种相关信息。
2、提供查找功能,按照多种关键码查找需要的书籍,查找成功后可以修改记录的相关项。
3、提供排序功能,按照多种关键码对所有的书籍进行排序,例如按照购买日期进行排序。
4、其他辅助的维护工作。
数据结构及算法描述
1、使用C++中的类来实现,其中有DATE类和Book类,进行类的复合。数据均为私有数据。
class DATE
{
public:
friend ostream operator(ostream output, DATE t); //友元函数重载流插入运算符
friend istream operator(istream input, DATE t); //友元函数重载流提取运算符
public:
DATE(int y=0,int m=0,int d=0); //初始化
virtual ~DATE();
DATE operator=(DATE ); //重载时间等于运算符
int operator (DATE ); //重载时间小于运算符
int operator ==(DATE ); //重载时间等于判断运算符
private:
int year,month,day;
};
----------------------------------------------------------------------------------------------------------
class Book
{
public:
Book(int t,char *n,char *a,float p,int y,int m,int d);
Book(){};
virtual ~Book();
int f_new(); //新建书籍信息
int f_save(); //保存书籍信息
int f_open(); //打开书籍信息
int display(); //显示书籍信息
int e_delete(); //删除书籍信息
int e_update(); //修改书籍信息
int showInfo(); //显示个别书籍信息
int sort(); //排序书籍信息
Book operator=(Book ); //重载等于运算符
private:
int type; //书籍类型
char name[MAX]; //书籍名称
char author[MAX]; //作者
float price; //书籍价格
DATE date; //购买日期
};
2、定义数组Book books[200]使用流提取、流插入方式进行数据读取和存储。
3、在排序函数int sort( )中使用冒泡算法排序:
for(i=0;inum-1;i++)
{
for(j=i+1;books[i].datebooks[j].date||books[i].date==books[j].date;j++)
{
ex=books[i];
books[i]=books[j];
books[j]=ex;
}
}
四、程序流程图
程序整体的功能模块如下所示:
各个功能模块的含义如下:
1、“主函数”模块main()
此模块循环显示第一级操作命令菜单,接收键盘输入的命令,检查命令是否合法,若合法则调用相应下层函数。命令菜单中包含“退出系统”命令,当接收到该命令时立即终止整个程序的运行。
2、“新建”模块f_new():
此模块清空books数组;进入输入状态,接收键盘输入的全部数据保存在books数组中,按“购买日期”顺序输入记录。
3、“打开”模块f_open():
此模块清除books数组中原有数据,从A盘上已经存在的数据文件(books.dat)中读入全部数据到books数组中,并将全部数据按读入顺序显示在屏幕上。
4、“保存”模块f_save():
此模块将books数组中全部有效数据保存到A盘book
您可能关注的文档
- a327be99-3856-411a-860f-e5f28ed0ea1ba327be99-3856-411a-860f-e5f28ed0ea1b.ppt
- A5监理工程师通知回复单A5监理工程师通知回复单.doc
- 9模块九、小位移检测(下)9模块九、小位移检测(下).ppt
- abc分析案例abc分析案例.doc
- AC-16C生产配比AC-16C生产配比.doc
- AC-20C改性目标配合比已打印AC-20C改性目标配合比已打印.doc
- AC-13上封层试验总结AC-13上封层试验总结.doc
- AC-20中面层技术交底AC-20中面层技术交底.doc
- AC-20沥青沥青中面层试验段施工总结AC-20沥青沥青中面层试验段施工总结.doc
- AC-20C沥青砼中面层试验段总结报告AC-20C沥青砼中面层试验段总结报告.doc
- 2025年山东省辅警招聘考试试题带解析附参考答案(A卷).docx
- 2025年江西省图书馆招聘考试试卷带解析【真题汇编】.docx
- 2025年广东省图书馆招聘考试试卷带解析word.docx
- 2025年山东省图书馆招聘考试试卷带解析附参考答案(考试直接用).docx
- 2025年天津市电工证考试试卷带解析含答案【基础题】.docx
- 2025年山东省图书馆招聘考试试卷带解析及完整答案【全优】.docx
- 2025年山东省图书馆招聘考试试卷带解析带答案(最新).docx
- 2025年山东省图书馆招聘考试试卷带解析及完整答案(全国通用).docx
- 2025年山东省图书馆招聘考试试卷带解析及参考答案(轻巧夺冠).docx
- 2025年江苏省辅警招聘考试试题带解析附答案(考试直接用).docx
最近下载
- JBL PartyBox 1000用户中文手册.pdf
- 2023年牛津译林版七年级英语下册《Unit 4》单元测试(附答案).doc VIP
- 《计算机网络技术基础 》(王崇刚)教案 (理论部分) 网络体系结(一)网络体系结构概述.pdf VIP
- AP物理2 单元练习题1 Fluids and Thermal Physics.pdf VIP
- 《计算机网络技术基础 》(王崇刚)教案 (实训部分) 上机实训(七) .docx VIP
- EPC工程设计管理主要内容.docx
- 装修公司融资商业计划书(精选5).pptx
- 生化期末考试吉林大学2015.pdf VIP
- 计算机网络技术基础与实训.pptx VIP
- 2023年牛津译林版七年级英语下册Unit8 测试题(附答案).doc VIP
文档评论(0)