1、洛阳理工学院操作系统实验报告阳理工学院实验报告用纸计算机 系 B090501 班 姓名 袁乐平 学号 B09050103 成绩 实验名称文件管理同组人日期12.6一、 实验目的通过这次实验,掌握文件系统的用户管理,掌握普通文件、目录文件管理的的基本原理。二、 实验原理使用文件系统的用户要通过用户名、密码的验证,对不同用户设置不同(自己相应)的子目录,如图(a)所示。MFD是主文件目录,Power是存放用户名、密码的文件,简单起见此处用数组代替;UFD0,UFD1,UFD9是10个用户目录,用户0的目录(UFD0)下包含文件f1.txt,f7.c。图(b)是创建目录、文件以及删除目录、文件所用的
2、存储数据结构。三、 实验内容#include#include#include #include typedef struct user char UName8; /用户名 char Password10; /密码 Access;typedef struct Filenode char FName10; struct Filenode *next;File;typedef struct MFDnode char UName8; struct MFDnode * right; File * down;DFlink;Access power10;DFlink * head;void initPowe
3、r() int i; printf(请输入用户信息:n); for(i=0;iright =NULL; m-down=NULL; head=m; for(i=0;iUName,poweri.UName); m-right =n; n-right =NULL; n-down=NULL; m=n; int logging() char name8,password10; int i=0;int j=0; printf(请输入登录的用户名:); gets_s(name); while(i2 & strcmp(poweri.UName,name)!=0) i+; if(i5) printf(请输入密码
4、:); gets_s(password); while(strcmp(poweri.Password,password)!=0&jright ; while(n!=NULL&strcmp(n-UName ,name1)!=0) n=n-right ; if(n!=NULL) s=(File *)malloc(sizeof(File); n-down =s; s-next=NULL; for(j=0;jFName); s-next=p; p-next=NULL; s=p; else printf(没有该用户名!n); void fileDelete(int index) char name18;
5、 char name28; DFlink * n; File *s ,* p; strcpy_s(name1,powerindex.UName); n=head-right ; while(n!=NULL&strcmp(n-UName ,name1)!=0) n=n-right ; if(n!=NULL) printf(请输入要删除的文件名:); gets_s(name2); s=n-down ; p=s-next; while(p!=NULL&strcmp(p-FName,name2)!=0) s=s-next ; p=p-next ; if(p!=NULL) s-next=p-next;
6、else printf(没有该文件名!n); else printf(没有该用户名!n); void print(int index) char name8; DFlink * n; File * s,*p; strcpy_s(name,powerindex.UName); n=head-right ; while(n!=NULL&strcmp(n-UName,name)!=0) n=n-right; if(n!=NULL) s=n-down ; p=s-next; printf(包含的文件为:); while(p!=NULL) printf(%s ,p-FName); p=p-next; v
7、oid main() int f=1; char a; int j; while(f) printf(n); printf(i 用户初始化n); printf(c 创建文件n); printf(d 删除文件n); printf(e 退出n); printf(请选择:); scanf_s(%c,&a); getchar(); switch(a) case i: initPower(); initHead(); break; case c: j=logging(); fileCreate(j); print(j); break; case d: j=logging(); fileDelete(j); print(j); break; case e: f=0; break; 四、 原始数据记录输入数据:用户名 密码 文件名 aaa 111 a1 a2 a3 bbb 222 b1 b2 b3 ccc 333 c1 c2 c3 ddd 444 d1 d2 d3 fff 555 f1 f2 f3 五、 结论预期的输出:用户初始化:创建文件:(为了简洁,只截两个用户名的文件的创建)删除文件:(为了简洁,只截一个用户名的文件)实际输出数据与预期的输出相同(不相同)实际输出数据与预期的输出相同。 第 页
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1