操作系统课程设计 模拟磁盘文件管理的程序vh8wdiwo.doc

操作系统课程设计 模拟磁盘文件管理的程序vh8wdiwo.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课程设计 模拟磁盘文件管理的程序vh8wdiwo

中南林业科技大学 操作系统课程设计 课程题目:模拟磁盘文件管理的程序 姓名: 学号: 专业: 计算机科学与技术 年级: 2006 计算机科学学院 2008年11月 模拟磁盘文件管理的程序 课程设计内容 ⑴ 自定义磁盘文件管理的数据结构; ⑵ 能够自由创建、修改、删除文件; ⑶ 文件具有一定自定义的属性; ⑷ 能够显示当前系统文件的状态。 课程设计的数据结构说明 程序中定义了两个类: class file//文件类 {private: char name[10]; //文件名 public: int tag; //删除标记 1:已删 0:未删 file( ){ } char *getname( ){return name;} //获取文件名 int gettag( ){return tag;} //获取删除标记 int getlength() {return length;} //获取文件大小 int getblocknum() {return blocknum;} // 磁盘块数 int getblocksum1(){return blocksum1;} //磁盘块号的始点 int getblocksum2(){return blocksum2;} //磁盘块号的终点 int length,blocknum,blocksum1,blocksum2; void setname(char na[ ] ) {strcpy(name,na);} //设置文件名 void delwenjian(){ tag=1; }//设置删除标记 1:已删 0:未删 void creatfile(char *na,int L,int num,int s1,int s2) //创建文件 void deltefile(char *na) {tag=1; strcpy(name,na);} //删除文件 void disp( )//输出文件信息 class fdatabase //文件库类 { private: int top; //文件记录指针 file f[50]; public: fdatabase(){top=-1;} //构造函数 int search(char *fname)//按文件名查找 int creatfile(char *na,int L,int num,int s1,int s2)//创建文件时先查找是否存在 int deltefile(char *na)//删除文件时先查找是否存在 void disp() //输出所有文件信息 }; 课程设计的模板说明 1、初始化,建立文件系统 输入磁盘大小(G),每个盘块大小(M),自动建立位示图,位示图字长定为32位 输出位示图的行数,以及行号、列号与磁盘块号的转换公式(都从0开始编号)。 2、 循环选择执行以下功能 1、存储文件 输入建立的文件名和文件大小,如果该文件名已经存在,则输出不能建立的信息否则计算所需的磁盘块数 为其分配足够多的磁盘块,并记录下来 输出所占用的磁盘块号 2、删除文件 输入要删除的文件名,如果该文件名不存在,则输出删除错误信息,否则收回该文件所占用的磁盘块 删除该文件名 3、显示位示图情况 显示位示图的情况 显示剩余磁盘块的数目 4、显示文件列表 显示文件名,文件大小,占用的磁盘块数目和磁盘块号 课程设计的源代码 #includeiostream.h #include math.h #includeiomanip.h #includestring.h #includefstream.h int i=0,j=0,sum=0,tt=0,r,ii,k,g,m; int a[100][32]; class file//文件类 {private: int no; //文件编号 char name[10]; //文件名 public: int tag; //删除标记 1:已删 0:未删 file( ){ } char *getname( ){return name;} //获取姓名 int gettag( ){return tag;} //获取删除标记 int getno() {return no;} //获取文件编号 int getlength() {return length;} //获取文件大小 int getbloc

文档评论(0)

beoes + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档