操作系统课程设计文件管理系统设计

上传人:大米 文档编号:460235003 上传时间:2023-05-05 格式:DOC 页数:19 大小:174KB
返回 下载 相关 举报
操作系统课程设计文件管理系统设计_第1页
第1页 / 共19页
操作系统课程设计文件管理系统设计_第2页
第2页 / 共19页
操作系统课程设计文件管理系统设计_第3页
第3页 / 共19页
操作系统课程设计文件管理系统设计_第4页
第4页 / 共19页
操作系统课程设计文件管理系统设计_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《操作系统课程设计文件管理系统设计》由会员分享,可在线阅读,更多相关《操作系统课程设计文件管理系统设计(19页珍藏版)》请在金锄头文库上搜索。

1、xx计算机科学与技术学院 课程设计报告*大学计算机科学与技术学院课程设计报告 ( 2006 2007 学年度 第 2 学期 )课程名称操作系统课程设计项目名称文件管理系统设计姓名学号专业班级地点教师1.题目内容:文件管理系统设计:设计和调试一个简单的文件系统,通过模拟文件操作命令的执行,来模拟文件管理,对主要文件操作命令的实质和执行过程有比较深入的了解,掌握它们的基本实施方法.2.设计任务及主要技术:设计任务:1.设计一个支持n个用户的文件系统,每个用户可拥有多个文件.2.采用二级或二级以上的多级文件目录管理. 主要技术:1.对文件应设置存取控制保护方式,如“允许读”、“允许写”等.2.系统的

2、外部特征应接近于真实系统,可设置下述文件操作命令:建立文件、修改属性、删除文件、读文件、写文件、复制文件、查询目录.3.通过键盘使用该文件系统,系统应显示操作命令的执行结果.3.设计方案及论证结果 设计方案: 本系统一共建立了Administrator 和Guest两个用户,每个用户拥有一个结构体数组为struct Flie fa8和 struct Flie fg8每个用户最多可一建立8个文件,每个文件对应一个文件模块; 文件模块: struct Flie int ed; /判断是否正存放文件 char f_name8; /文件名 char f_c8; /存放文件内容 int att ; /

3、文件属性 0为只读 1为只写 ; 文件模块示意图:ed f_name8 att f_c8函数设计和功能分析:系统调用原型功能主要参数说明void check()密码认证admin为函数出口int init()初始化操作界面返回i执行相应的操作void createfile()创建文件name为文件名-fa.f_namevoid deletefile()删除文件void openfile()打开文件void exit()退出系统void writefile()书写文件c为文件内容-fa.f_cvoid copyfile()复制文件void modifyfile()修改属性a为文件属性-fa.at

4、tvoid catalogue()目录管理Main()函数的流程图:消注?成功? 开始用户登陆NY接收命令 解析命令实现命令 结束N选择用户退出NYY 4.系统的原理框图:AdministratorGuestflie1 flie2 flie1 flie2 ed f_name att f_c文件名文件属性文件内容判断存储状态ed f_name att f_c5.设计程序:#include #include /*不容易归类的标准函数库*/#include struct Flieint ed; /判断是否正存放文件char f_name8; /文件名char f_c8; /存放文件内容int att

5、 ; / 文件属性 0为只读 1为只写 /用于指向文件内容模块fa8,fg8;int x; /全局钥匙void check() /密码认证int check,a=1;char pin1=admin; /此处设定用户口令char pin20; while(a)printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * *n);printf( * 文件管理系统用户登录 *n);printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * *n);printf(请选择用户:n);

6、printf( 1.Administrator 2.Guest 3.退出系统n);scanf(%d,&x);getchar();if(x=3)system(cls);break;printf(密 码:);scanf (%s,pin);check=strcmp(pin,pin1);if (check!=0)system(cls);printf(n密码错误! 请重新输入:n);elsesystem(cls);a=0;void createfile() /*创建文件操作*/int handle=1,a,check,i,j,h;char name8,pin8;while(1) printf(* * *

7、 * * * * * * * * * * * * * * * * * * * * * * * * *n);printf( * 创建文件 *n); printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * *n);printf(请输入所要创建的文件名称:n);scanf(%s,name);if(x=1)for( i=0;i8;i+)for(j=0;j8;j+) pinj=fai.f_namej;check=strcmp(pin,name); if (check!=0) else printf(n创建错误!文件已经存在!);handl

8、e=0;getchar();break; if(handle=1)for(h=0;h8;h+)if(fah.ed=0)strcpy(fah.f_name,name); while(1) printf(n请选择文件属性(0.只读 - 1.只写):); scanf(%d,&a); getchar(); if(a=0|a=1) fah.att=a; printf(n创建文件成功.n);fah.ed=1; break; else printf(错误! 请重新输入:n);break;getchar();break;if(x=2)for( i=0;i8;i+)for(j=0;j8;j+) pinj=fgi

9、.f_namej;check=strcmp(pin,name); if (check!=0) else printf(n创建错误!文件已经存在!);handle=0;break; if(handle=1) for(h=0;h8;h+)if(fah.ed=0)strcpy(fgh.f_name,name); while(1) printf(n请选择文件属性(0.只读 - 1.只写):); scanf(%d,&a); getchar(); if(a=0|a=1) fgh.att=a; printf(n创建文件成功.n); fgh.ed=1; getchar(); break; else print

10、f(错误! 请重新输入:n); break;break;void deletefile() /*删除文件的操作*/int status=0,j=0,i,check,choice;char name8,pin8;while(1)system(cls);printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * *n);printf( * 删除文件 *n); printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * *n);if(x=1)printf(请输入所要删除的文件名称:n);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号