ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:212.50KB ,
资源ID:1008929      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1008929.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面向对象程序设计与C++.DOC)为本站会员(国***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

面向对象程序设计与C++.DOC

1、面向对象程序设计与 C+课程设计题目:文件管理系统院、 系: 计算机信息与技术学科专业: 计算机科学与技术学 号: 00000000 学生姓名: 徐飞 指导教师: 2012 年 12 月 21 日目录一 目的 .2二 总体介绍 .2三 详细介绍 .2四 功能测试及运行效果 .2五 设计体会及小结 .2六 参考文献 .2七 附录-源代码 .2中文摘要本课程设计将实现一个文件管理系统。这个文件管理系统能实现对文件增、删、查、改等基本的文件的操作。本程序一改普通的 control console 的菜单界面,继而改用类似DOS 系统下的命令行界面。这样做的目的是为了提高用户使用程序的效率。在课程设计

2、中,采用了 VC6.0。在程序设计中,采用了结构化与面向对象两种解决问题方法。结构化的思想主要应用在划分功能模块上,而面向对象的思想主要应用在把所有的属性和方法封装起来,以备各模块的调用,这样做的目的是为了让整个程序的结构清晰、体系完整,便于维护。西安工业大学北方信息工程学院- 1 -一目的此次课程设计的目的是用 C+程序设计语言编写一个文件管理系统,这个文件管理系统需要实现一下几项目标:角度 目标程序功能创建文件、删除文件、查看文件内容、将内容写入文件、复制并粘贴文件、进入某个目录下进行文件操作、重命名文件、创建目录、删除目录、显示当前文件夹下的文件及目录以及获得帮助。用户 操作简单,更需要

3、简洁。有助于提高工作效率。程序代码 层次、结构清晰,便于扩展功能和维护。程序的整个操作流程类似 DOS 命令行界面,要求所有的操作均在某一目录下进行(我们把此目录叫做“操作目录” ) ,提供进入到其它目录的命令以实现全磁盘的文件管理。西安工业大学北方信息工程学院- 2 -二 总体介绍C+提供的文件输入输出流的功能比较通用,所以在这个文件管理系统下,需要将C+中所提供的输入输出流的功能进行改造,隐藏掉一些不需要在这个文件管理系统中使用的功能,以适合这个文件管理系统的需要。我们先建一个 BaseClass(基类),提供最基本的输入输出流对象,以及提供打开与关闭流的功能方便派生类的“具有层次性的”调

4、用(可结合下图阅读)。同C+中的设计一样,我们用BaseClass派生出FileOperatorIn、FileOperatorOut 两个类,这两个类的基本作用分别是从外部读入文件(二进制形式,这样不会因为格式化的读入而将原始数据破坏)和将需要写入的内容向文件输出(格式同读入)。BaseClass-flag:int+ofile:ofstream+ifile:ifstream+BaseClass(string BaseClass(bool a,string BaseClass 有两个重载构造函数,这样做的目的是为了区分是哪个派生类使用的,方便管理。而且所有的打开方式均为二进制形式,目的是不破坏源

5、文件。置标志位目的是依据使用的构造函数来进行析构。BaseClass 的两个派生类(FileOperatorIn 和 FileOperatorOut):他们的构造函数唯一的的目的就是初始化基类。string FileOperatorIn:readfile()getline(ifile,line,0);return line;FileOperatorOut:WriteFile(string 两个派生类中的输入输出流都是用最基本的 getline 和 write 函数来实现的,因其比较简单,故不做过多解释(具体的细节请参考源代码)。下面具体介绍 FunClass。FunClass+Command(

6、string 西安工业大学北方信息工程学院- 4 -if(a.ofile)return true;return false;用传入的参数(string 类的一个对象,用于存放需要创建的文件名)来构造一个FileOperatorOut 的对象(上面已经介绍过 FileOperatorOut 类)。OpenFile 函数是用来在操作目录下获取一个文件,并显示其中的信息(一般用于查看txt、log 等文件)。关键语句:FileOperatorIn a(true,k);if(a.ifile)cout“;cincommand;switch(fun.Command(command)case 1:cinop

7、era,cin.sync();fun.CreatFile(i+opera)?coutopera,cin.sync();fun.OpenFile(i+opera)?coutopera,cin.sync();fun.WriteInFile(i+opera);coutopera;string temp;cintemp;cin.sync();fun.CopyFile(i+opera,temp)?coutopera,cin.sync();if(fun.Cd(opera)i=opera,i+=;else(coutopera;string NewName;cinNewName,cin.sync();fun.

8、ReName(i+opera,i+NewName);break;case 7:cin.sync();fun.Dir(i);break;case 8:cinopera,cin.sync();fun.CreatDir(i+opera)?coutopera,cin.sync();fun.deletefile(i+opera)?coutopera,cin.sync();fun.deldir(i+opera)?cout“删除失败!“endl:cout“删除成功!“endl;break;default:cout“不是有效的命令!可输入 help 寻求帮助。 “endl;break;return 0;在 m

9、ain 函数中,为了实现 “指令 参数 1 参数 2”这样的类似 dos 的指令格式,巧妙的利用了 cin 读取输入字符的特点遇到空格及读入完毕。这样我们就可以定义两个 string类对象 command 和 opera,其中 command 是用来存放指令的 ,opera 是用来存放参数 1 的(如果还有参数 2 则在 switch 语句中临时申请),他们之间的读入就是利用了 cin 的特点,在读完之后,为了不影响后面的读入,需要用 cin.sync()语句来清空缓冲区。opera 接受的大多数是路径,也可以不输入路径,直接输入需要进行操作的文件名(默认为当前程序运行状态下的目录),为了保证在任意操作目录下都能使用,引入了string 类的对象 i,用来存放操作目录的路径。只需要在给 FunClass 中的操作传参时将参数写成(i+opera)的形式,这样一来,就可以实现对任意目录下的文件进行操作的目的,极大的扩展了 FunClass 中操作的功能。为了指定程序一开始时的操作目录,我们使用了_getcwd(NULL,0)函数,用来获取西安工业大学北方信息工程学院- 7 -当前程序运行时所在的路径,我们用它来作为文件管理系统默认的操作目录。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。