- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计课程设计-图书管理系统汇
C++程序设计课程设计
——图书管理系统
一、目的与要求
学生已学完《C++语言程序设计》课程,并进行了第一次课程设计,学习了如何将有关处理文件的数据结构和操作进行封装,从而掌握了C++语言程序设计中的一些基本知识与方法,且对抽象、封装、继承与多态有了一定的了解。为巩固C++有关知识,加强面向对象编程的方法训练,增加学生软件设计能力和动手能力,学习使用现有工具,特设计了这个利用MFC类开发一个小型完整应用程序的题目。主要要求如下:
通过本课程设计,学生应达到以下要求:
1、学会在自己的软件工程中利用MFC提供的成熟数据类型(class),这里主要要用的类有,CString,CFile,CArchive,CObject以及CObArray等一些通用类;
2、掌握冒泡法。掌握数据类型大小(operator 或operator )的重载,进而利用冒泡法对数据进行排序。
3、学习MFC中数据序列化(Serialize)的方法,掌握如何利用MFC提供的数据类型进行数据序列化。
二、设计任务
题目:图书管理系统
要求: 设计一个小型图书管理系统。
1)数据上要求保存图书的如下几各方面的信息
编号(应是图书的唯一标识符)、分类号、书名、作者、出版社(版次)、出版日期、单价、借阅者、借出日期、归还日期。
借阅者要有,证件编号、姓名、性别、类别(大学生、研究生、教师等)。
日期数据应包含,年、月、日。
2)界面上要含有以下主要功能
主菜单:预览,添加,删除,排序,查找,修改,借书、还书、打印催还书通知,保存,退出等
预览 选择此菜单,列出所有图书;
添加 选择此菜单,由用户在系统的提示下输入图书资料,系统根据用户资料添加图书;
删除 让用户选择按照什么原则删除;
排序 让用户选择排序的原则,比如按人名排序、按书名排序等;
查找 由用户给出查找的依据,书名、作者或借阅者等,然后根据用户所给信息进行查找,并列出查找结果;
修改 利用查找功能将用户要修改的图书显示出来,然后提供一个接口让用户修改数据。
借书 根据书籍编号借书
还书
打印催还书通知 选择此菜单后,用户给出借书最长期限,然后依据不同类型的借阅者分别判断借书期限是否超过,然后列出所有逾期不还者名单以及所借书籍。
保存 利用序列化技术对所有图书进行保存,还要提供文本文件的数据导入导出的功能;
退出 退出系统。
三、设计准备
1、环境准备
需要WINDOWS操作系统与Visual C++6.0集成开发环境。
2、知识准备
熟悉WINDOWS操作系统的基本操作。
掌握C++基本知识,主要有类的定义与实现,一些简单操作符重载等。
知道MFC一些通用类的基本属性与方法以及其使用。
能利用Visual C++界面的。
知道C++编译程序的若干调试技术。
四、 设计指导
1、为什么
计算机语言从最开始的二进制码到第一个高级语言的出现,发展到今天经过了半个多世纪,语言已由刚开始的面向机器(ASM),到面向程序员(过程式程序),到面向数据(OD),到面向对象(OO),其表述方式愈来愈接近人们的日常语言与思维方式。从数据的表述上,从刚开始的简单数据类型(int, char, float,double, ……),到抽象数据类型(ADT),也就是各种编译程序提供的用户数据类型的定义方式(比如,struct, class, enum, enum……),到范式编程思想(GP)。语言千变万化,技术日新月异,但是如果学会了利用已有的成果,掌握了阅读源代码(源码之前,了无秘密)的方法,就可以以最短的时间,获得最高的效益。
掌握C/C++是计算机科学系学生最重要的基本功(new,在弹出的对话框中作如图所示的选择与填写,然后点击“OK”;
第三步 选择“An application than supports MFC.”,点击“Finish”,点击“OK”;
第四步 打开“CBooksApp.cpp”文件,删除语句“CWinApp theApp;”以及函数体“int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])”,添加函数体“void main(){}”。
第五步 编译运行,程序框架OK;
第六步 建立数据结构与算法实现:
a) 日期结构,包含有年、月、日,以及减法与小于号的重载
struct Date{
int m_year;
int m_moth;
int m_day;
int operator – (const Dated)
{
int days=365*(m_year-a. m_year);
days+=30*(m_moth-d.m_moth)+m_day-d.m_day;
return days;
}
BOOL operator (const Da
您可能关注的文档
- 2009年职业技能鉴定操作技能考核项目-热力司炉工技能(初级)汇.doc
- 2009年职业技能鉴定操作技能考核项目-钳工(中级)汇.doc
- 2009年职业技能鉴定操作技能考核项目-热力司炉工技能(中级)汇.doc
- 2009年职业技能鉴定操作技能考核项目-运输驾驶员(初级)汇.doc
- 200MW汽轮发电机氢、油、水控制系统说明书汇.doc
- 2009年职业技能鉴定操作技能考核项目-绿化花卉工技能初级汇.doc
- 200TEU内河长江集装箱船设计汇.doc
- 200万吨焦化工程焦炉基础施工方案汇.doc
- 2009年职业技能鉴定操作技能考核项目-钳工(高级)汇.doc
- 2010全球汽车零部件行业概况汇.ppt
- 幼儿园全民国家安全教育日PPT.ppt
- 文明礼仪伴我行主题班会课.ppt
- 4.2 《心有一团火,温暖众人心》课件(共26张PPT) 2024-2025学年统编版高中语文必修上册.pptx
- 大模型平民化开启“AI+医疗”新纪元.pptx
- 2《以工匠精神雕琢时代品质》 课件(共28张PPT)2024-2025学年统编版高中语文必修上册.pptx
- 3《鸿门宴》 课件 (共52张PPT)2024-2025学年统编版高中语文必修下册.pptx
- unit 2能力阅读写作拔高练-学九级英语全一册单元模块满分必刷题人教版.pdf
- 9.3 《声声慢(寻寻觅觅)》课件 (共25张PPT)2024-2025学年统编版高中语文必修上册.ppt
- “4·23世界读书日”主题教育班会-阅读启心智,知识筑梦想 课件(共27张PPT).pptx
- 4EAT 变速箱维修手册.pdf
文档评论(0)