预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共24页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

课程设计目的、意义: 课程设计目的使学生熟悉文件管理系统的设计方法;加深对所学各种 文件操作的了解及其操作方法的特点。通过摹拟文件系统的实现,深入理 解操作系统中文件系统的理论知识,加深对教材中的重要算法的理解。同 时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综 合运用各专业课知识的能力。 主要任务: 摹拟文件系统设计是设计和实现一个简单的文件系统。内容 包括: 1.建立文件存储介质的管理机制 2.建立目录(采用一级目录结构) 3.文件系统功能(显示目录、创建、删除、打开、关闭、读、 写) 4.文件操作接口(显示目录、创建、删除、打开、关闭、读、 写) 课程设计的系统设计: 本系统摹拟一个文件管理系统,要完成对文件的基本操作,文件的基本 操作有文件、文件夹的打开、新建、删除和读取写入文件,创建更改目录, 列出目录内容等信息。系统建立了文件目录树,存储文件系统中的所有文 件。对于用户名下的文件,用文件目录树的分枝来存贮。采用命令行操作 界面很直观,也方便用户进行操作,用户只要按照操作界面所显示的命令 整体设计框架: 系统初始化界面是由创建用户存储空间,管理文件,退出系统三个模块 组成。用户创建由创建用户存储空间,进入目录,删除用户存储空间,显 示所实用户存储空间,等模块组成。然后各个模块再由一些小模块组成。 其中创建文件,打开关闭文件,读写文件等文件操作模块包括在进入目录 模块里面。 课程设计主要内容的实现程序代码: #include<stdio.h> #include<string.h> #include<stdlib.h> typedefstructfile{ charname[10]; structfile*next; }File; typedefstructcontent{ charname[10]; File*file; intf_num; structcontent*next; }Content; typedefstructuser{ charpsw[10]; Content*con; structuser*next; }User; charcur_user[20]; User*user; intuser_num=0; voidwrite(charname[]){ FILE*p; charch; ch=getchar(); while(1){ fputc(ch,p); ch=getchar(); if(ch=='#')break; } fclose(p); } voidread(charname[]){ FILE*p; inti=0; while(!feof(p)){ i++; } 文件是空的 fclose(p); } intdisplay_files(Content*con){ inti=0; File*file; file=con->file; file=file->next; while(file!=NULL){ i++; 文件 file=file->next; } 文件总数: returni; } intis_exist_file(File*f,charname[]){ intexist=0; while(file!=NULL){ if(strcmp(file->name,name)==0){ exist=1; break; } file=file->next; } returnexist; } voidadd_file(Content*con){ intexist; charf_name[10]; FILE*q; File*file=con->file; File*new_f; if(con->f_num==10){ 已存在10个文件 return; } do{ exist=0; 输入新文件名 strcat(f_name,tail); if(is_exist_file(con->file,f_name)) exist=1; if(exist==1) 文件已存在 }while(exist==1); fclose(q); while(file->next!=NULL) file=file->next; new_f=(File*)malloc(sizeof(File)); strcpy(new_f->name,f_name); new_f->next=NULL;