- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 报纸是怎样做成的rp0pule1.doc
- 报废汽车拆解再生利用项目可行性研究报告_kp6zhca.doc
- 报请性公文0abnljjv.ppt
- 报销管理制度明细bmfqpm1z.doc
- 报请性公文的写作hi7aepre.ppt
- 报销单填写及黏贴规范na8ihdag.docx
- 报销凭证格式电子版6_5unxii.doc
- 报纸是怎 么做成的i3il9jph.pptx
- 抹灰工程及外墙面砖施工方案1yelxj3o.doc
- 抽样技术期末论文1m5wabymi.doc
- 天津市北辰区2022年人教精通版小学毕业班教学质量调查英语试卷.docx
- 沪教版数学四年级上册第五单元《几何小实践》单元测试卷(基础卷).docx
- 沪教版数学四年级上册第六单元《整理与提高》单元测试卷 (1).docx
- 沪教版数学四年级上册第五单元《几何小实践》单元测试卷.docx
- 沪教版数学五年级下册第二单元《正数和负数的初步认识》单元测试卷 (1).docx
- 沪教版数学五年级下册第一单元《复习与提高》单元测试卷 (3).docx
- 沪教版数学三年级上册第四单元《用一位数除》单元测试卷 (1).docx
- 沪教版数学五年级下册第五、六单元测试卷.docx
- 浙教版数学三年级下册第三单元《周末活动中的数学》单元测试卷.docx
- 浙教版数学三年级下册第四单元《丰收的果园》单元测试卷.docx
文档评论(0)