- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课 程 设 计 报 告
课程名称 C++语言课程设计
课题名称 音像店管理程序
专 业 自动化
班 级
学 号
姓 名
指导教师
2010年 7 月 16 日
课题设计内容与主要功能
音像店管理程序
设计一个利用文件处理形式实现音像店基本功能的程序,具有增加数据、更新数据、删除数据、租出影碟、归还影碟和重组文件的功能。删除数据在记录中做删除标志,重组文件文件则在物理上删除做有删除标志的记录。
音像店管理程序的主要功能是在租出影碟时,首先由用户输入片名,然后在影碟库文件中查找是否存在此影碟,如果有,并且副本大于0,则租出该影碟,并将 影碟副本数减一,租出过程完成。否则提示不能租出。在归还影碟时,首先输入片名,然后在影碟库中查找是否存在此影碟记录,如果有,则将影碟副本数加一,然后提示归还成功。其中包含如下几个功能。0:显示全部。这个功能主要是实现显示所有记录信息。1:增加数据。这个功能是实现数据的增加,比如说当一个新电影上市时,音像店需要增加这个电影的相关数据,“增加数据”这个功能就是实现增加新数据的。2:更新数据。这个功能主要是实现对影碟库系统里原有数据进行更新,准确的说是对原有影碟的相关数据如数量等进行更新,如果没有相关数据的影碟则无法更新。3:查询数据。这个功能主要是实现相关数据的查询,如果影碟库里有客户需要的相关影碟数据,则会显示出此影碟的相关数据,如果没有,则会出现“查询失败,无此影碟!”的字幕。4:删除数据。这个功能主要是实现数据的删除。当影碟库有需要删除的影碟的相关数据,则可以删除,否则,则删除失败,需要重新输入。5:租出影碟。此功能主要是实现记录影碟被租出的信息,当某个影碟被租出时,其数量则自动减一。显示此影碟被成功租出,且数据已被记录。6:归还影碟。此功能是实现记录影碟归还的信息,当被租出的影碟被归还时,此影碟的数量自动加一。显示此影碟已成功归还,欢迎下次光临。7:重组文件。这个功能是在文件上删除做有删除标志的记录。就是把那些删除标记为一的记录从文件中删除。8:退出。这个功能是实现退出音像店管理程序的功能。
课题分析;分析课程设计项目的实现方法
设计思路:对于整个工程来说,其实就是对文件的输入输出流就行操作,在流操作过程中进行读和写。具体实现:首先对文件中记录进行分析,每条记录都是由三个方面组成---影碟名、影碟数、和删除标记。因此在对文件进行读操作时,只需要逐一将上述三内容读出并用cout语句输出即可。而对于写操作来说,也就是添加数据来说,可以逐一写进文件,对于查询来说,其实就是一个匹配的过程,用一个strcompare对于两个字符串进行比较就行了。
而对于、租出,归还,更新这几个函数来说,其大致操作是相同的,不同的是他们分别对于不同的分量进行操作。租出和归还主要是对于影碟数来进行操作,删除的话只是对于某一条记录做一个删除标记,也就是说如果其删除标记值为1,则表明已经删除,为0则表示正常,可以进行更新,查询,租出,归还等操作。
当然在各个功能实现是必不可少的就是查询,也就是匹配,只有匹配成功了才对于那条记录进行操作,否则不能对文件内容进行修改。在对文件内容进行修改的过程中,我们有必要设置两个辅助型数组,string aa[1000]/int bb[1000],其中aa是用来存放影碟名的,bb是用来存放影碟数的。在修改过程中,先将文件中的所有内容都分别复制到aa和bb中,如果要对删除标记进行修改的话,还可以设置另一个辅助数组—— int t【1000】。然后通过修改各个数组中相应的值后,在写入文件中
写入的属性为ios::out,这样就每次重新写的时候就把原来记录删除后再写。
程序实现步骤
程序测试结果与结论
程序清单
总结与体会
实验心得:
此次实验是自己第一次利用面向对象程序设计思想来编写程序。在整个过程中是十分成功的。不但完成了实验的要求,而且还更加深刻了自己对面向对象编程的思想:面向对象程序设计是对数据的封装;范式(模板)的程序设计是对算法的封装。利用面向对象思想编程是可以简化程序员的懒惰,无论是对象,还是函数,如果你输入有问题,那么都会在编译的时候报告出来,方便你修改,而不是在执行的时候出错,害的你到处去捉虫子。? 在这,十分感谢欧阳湘江老师的指导!
附录:
// 文件名路径名: video_store\video_store.h
#ifndef __VIDEO_STORE_H_ /
您可能关注的文档
最近下载
- AWS D1.1-2020钢结构焊接规范(中英文版).pdf
- 重大公共卫生项目健康危险因素健康问题调评估报告.doc
- 操作系统原理练习题2及答案.pdf VIP
- 湖北省医疗服务收费标准(综合医疗服务类).pdf
- 《中国共产党巡视工作条例》测试附答案.docx VIP
- 刺络拔罐技术钟代华PPT培训课件.pptx
- 全国学生资助管理信息系统-中职子系统操作手册-简易版_v1.30.pdf
- 3.6.2 中医特色康复医疗的服务标准及规范.docx VIP
- 碧桂园物管员工作岗位手机使用管理办法(V1.0).docx
- 2024-2025学年小学英语三年级上册(2024)接力版(三起)(2024)教学设计合集.docx
文档评论(0)