操作系统文件系统实验Word文档下载推荐.docx

上传人:b****5 文档编号:16151009 上传时间:2022-11-21 格式:DOCX 页数:38 大小:151.46KB
下载 相关 举报
操作系统文件系统实验Word文档下载推荐.docx_第1页
第1页 / 共38页
操作系统文件系统实验Word文档下载推荐.docx_第2页
第2页 / 共38页
操作系统文件系统实验Word文档下载推荐.docx_第3页
第3页 / 共38页
操作系统文件系统实验Word文档下载推荐.docx_第4页
第4页 / 共38页
操作系统文件系统实验Word文档下载推荐.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

操作系统文件系统实验Word文档下载推荐.docx

《操作系统文件系统实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《操作系统文件系统实验Word文档下载推荐.docx(38页珍藏版)》请在冰豆网上搜索。

操作系统文件系统实验Word文档下载推荐.docx

(2)voidExecute(inti,intlen,intcmdset)执行命令函数流程图

Y

N

(3)创建文件

(4)写文件流程图

(5)修改文件执行权限

(6)删除用户注册信息或文件

2.主要的常量变量

charcmd[64];

//存放用户输入命令

charbuffer[36];

charuser[32];

//存放当前登陆的用户名

typedefcharALFA[12];

ALFAKWORD[keynum];

structUFD{//用户文件管理模块

charfilename[32];

//文件名

intsafecode;

//文件保护码

longlength;

//文件长度

}*curfile=NULL;

structMFD{//用户登陆信息管理模块

charusername[32];

//用户名

boolfilepoint;

//用户目录下的文件指针,false表示目录为空,true为该用户目录中有文件

}*curuser=NULL,*elseuser=NULL;

typedefUFDUFD;

typedefMFDMFD;

3.主要模块

voidKeyWord()//初始化命令关键字

intLoginDisplay()//登陆选项操作函数

boolLogin(intSELETE)//用户登陆,注册函数

voidDisplayUFD()//打印用户信息,包括用户的各个文件

//名称、长度和操作权限的设置信息

voidByeFile(boolBOOL)//注销函数,调用次函数用户可以退出系统

boolClearUserFile()//用户要将自己的注册目录从系统彻底删除

//首先将该用户目录下的全部文件删除

voidClearUserMes()//删除用户全部信息

voidCreatFile()//在当前用户目录下创建文件

voidDeleteFile()//删除当前目录下一个文件的操作

voidListAllFile()//显示当前用户目录下的文件信息

boolQueryModElse(boolBOOL,bool&

flag)//查询其它用户目录下文件的文件

//当该文件的权限允许当前用户对其执行有关操作时,返回ture

boolQueryMod(boolBOOL)//查询权限

boolWriteRight(intlen,boolBOOL)//查看是否已经正确地写入到该文件信息中

voidWriteLengthToFile(intLen,boolBOOL)//将文件长度写入文件管理模块中

voidWriteFile()//向文件写入信息的操作

voidReadFile()//读文件函数

voidChangeMod()//修改某文件的执行权限

voidExecute(inti,intlen,intcmdset)//执行命令函数

voidCommand()//读取用户输入的命令,并将其转换成系统能识别的命令

voidmain()

4.代码

/*****************************************************************

*文件名:

Simple_file_system.c

*功能:

简单文件管理系统模拟程序

*******************************************************************/

#include<

iostream.h>

stdio.h>

stdlib.h>

string.h>

#include"

conio.h"

dos.h>

#defineNULL0

#definekeynum10

#definegetspace(type)(type*)malloc(sizeof(type))

charcmd[64];

//

//------------------------------------------------------------------------------------------------

charusername[32];

boolfilepoint;

voidmain();

{

strcpy(KWORD[1],"

bye"

);

strcpy(KWORD[2],"

chmod"

strcpy(KWORD[3],"

close"

strcpy(KWORD[4],"

create"

strcpy(KWORD[5],"

delete"

strcpy(KWORD[6],"

list"

strcpy(KWORD[7],"

open"

strcpy(KWORD[8],"

read"

strcpy(KWORD[9],"

write"

}

intSELETE_1=0;

do

{

cout<

<

"

*****请选择操作*****\n1、用户登陆2、用户注册0、退出"

endl;

cin>

>

SELETE_1;

}while(SELETE_1<

0||SELETE_1>

2);

system("

cls"

returnSELETE_1;

FILE*fp,*fp1,*fp2;

charname[12];

switch(SELETE)

case1:

//用户登陆

if((fp=fopen("

LOGIN.exe"

"

rb"

))==NULL)//打开用户注册目录管理文件

{

cout<

\n错误:

不能打开登陆文件。

getch();

system("

returnfalse;

}

curuser=getspace(MFD);

\n*****登陆*****\n用户名:

;

name;

//输入用户登陆名

while(!

feof(fp))//检查该用户是否合法

fread(curuser,sizeof(MFD),1,fp);

if(strcmp(curuser->

username,name)==0)

break;

if(feof(fp))//如果没有找到跟当前登陆用户名相同的管理信息,提示出错

该用户不存在。

fclose(fp);

returnfalse;

else

fclose(fp);

returntrue;

break;

case2:

//新用户注册

if((fp=fopen("

ab"

))==NULL)//如果登陆信息管理文件不存在

fp=fopen("

wb+"

//创建该信息管理文件

charname[12];

while

(1)

\n*****新用户注册*****"

用户名:

cin>

//输入用户注册名

fp1=fopen("

while(!

feof(fp1))//查看该用户名是否被别的用户占用

{

fread(curuser,sizeof(MFD),1,fp1);

if(strcmp(curuser->

username,name)==0)//该名称已经被使用

{

cout<

\n该用户已经存在,请重新输入!

getch();

break;

}

}

if(feof(fp1))//该名称没有被别的用户占用

strcpy(curuser->

username,name);

curuser->

filepoint=NULL;

fwrite(curuser,sizeof(MFD),1,fp);

strcpy(user,curuser->

username);

//生成用户文件管理模块

strcat(u

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1