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

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

ID:15263055

大小:228.50 KB

页数:13页

时间:2018-08-02

操作系统课程设计++模拟磁盘文件管理的程序_第1页
操作系统课程设计++模拟磁盘文件管理的程序_第2页
操作系统课程设计++模拟磁盘文件管理的程序_第3页
操作系统课程设计++模拟磁盘文件管理的程序_第4页
操作系统课程设计++模拟磁盘文件管理的程序_第5页
资源描述:

《操作系统课程设计++模拟磁盘文件管理的程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、模拟磁盘文件管理的程序一、课程设计内容⑴自定义磁盘文件管理的数据结构;⑵能够自由创建、修改、删除文件;⑶文件具有一定自定义的属性;⑷能够显示当前系统文件的状态。二、课程设计的数据结构说明程序中定义了两个类:classfile//文件类{private:charname[10];//文件名public:inttag;//删除标记1:已删0:未删file(){}char*getname(){returnname;}//获取文件名intgettag(){returntag;}//获取删除标记intgetlength()

2、{returnlength;}//获取文件大小intgetblocknum(){returnblocknum;}//磁盘块数intgetblocksum1(){returnblocksum1;}//磁盘块号的始点intgetblocksum2(){returnblocksum2;}//磁盘块号的终点intlength,blocknum,blocksum1,blocksum2;voidsetname(charna[]){strcpy(name,na);}//设置文件名voiddelwenjian(){tag=1;}

3、//设置删除标记1:已删0:未删voidcreatfile(char*na,intL,intnum,ints1,ints2)//创建文件voiddeltefile(char*na){tag=1;strcpy(name,na);}//删除文件voiddisp()//输出文件信息classfdatabase//文件库类{private:inttop;//文件记录指针filef[50];public:fdatabase(){top=-1;}//构造函数intsearch(char*fname)//按文件名查找intcr

4、eatfile(char*na,intL,intnum,ints1,ints2)//创建文件时先查找是否存在intdeltefile(char*na)//删除文件时先查找是否存在voiddisp()//输出所有文件信息};一、课程设计的模板说明1、初始化,建立文件系统输入磁盘大小(G),每个盘块大小(M),自动建立位示图,位示图字长定为32位输出位示图的行数,以及行号、列号与磁盘块号的转换公式(都从0开始编号)。2、循环选择执行以下功能1、存储文件输入建立的文件名和文件大小,如果该文件名已经存在,则输出不能建立的

5、信息否则计算所需的磁盘块数为其分配足够多的磁盘块,并记录下来输出所占用的磁盘块号2、删除文件输入要删除的文件名,如果该文件名不存在,则输出删除错误信息,否则收回该文件所占用的磁盘块删除该文件名3、显示位示图情况显示位示图的情况显示剩余磁盘块的数目4、显示文件列表显示文件名,文件大小,占用的磁盘块数目和磁盘块号二、课程设计的源代码#include#include#include#include#includein

6、ti=0,j=0,sum=0,tt=0,r,ii,k,g,m;inta[100][32];classfile//文件类{private:intno;//文件编号charname[10];//文件名public:inttag;//删除标记1:已删0:未删file(){}char*getname(){returnname;}//获取姓名intgettag(){returntag;}//获取删除标记intgetno(){returnno;}//获取文件编号intgetlength(){returnlength;}//获

7、取文件大小intgetblocknum(){returnblocknum;}//磁盘块数intgetblocksum1()//磁盘块号的始点{returnblocksum1;}intgetblocksum2()//磁盘块号的终点{returnblocksum2;}intlength;//文件大小intblocknum;//盘块数intblocksum1;//所占盘块号的始点intblocksum2;//所占盘块号的终点voidsetname(charna[])//设置文件名{strcpy(name,na);}vo

8、iddelwenjian(){tag=1;}//设置删除标记1:已删0:未删voidcreatfile(char*na,intL,intnum,ints1,ints2)//创建文件{tag=0;length=L;blocknum=num;blocksum1=s1;blocksum2=s2;strcpy(name,na);blocknum=length/m;//盘块数=文件

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。