文档详情

洛阳理工学院操作系统实验报告.docx

发布:2020-12-22约4.21千字共10页下载文档
文本预览下载声明
洛阳理工学院操作系统实验报 作者: 日期: 阳理工学院实验报告用纸 计算机 系 B090 5 01班 姓名 袁乐平 学号B0 9 050103 成绩 实验 名称 文件管理 同组人 日期 12. 6 实验目的 通过这次实验,掌握文件系统的用户管理,掌握普通文件、目录文件管理的的基本原 理。 二、 实验原理 使用文件系统的用户要通过用户名、密码的验证 ,对不同用户设置不同(自己相应 )的 子目录,如图(a )所示。M FD是主文件目录,Po w e r是存放用户名、密码的文件,简单 起见此处用数组代替;UFD3, UFD1,…,UFD9是10个用户目录,用户0的目录(U FD0 )下包含文件f 1. txt,…,f7. c。图(b)是创建目录、文件以及删除目录、文件所 用的存储数据结构。 三、 实验内容 #inclu d estdi o. h #inc 1 udema ll o c.h inc 1 ude v std l i b. h in c l ud e v st ri n g.h type d ef str u c t us e r { c har UN ame[ 8 ]; //用户名 char P a sswo rd[1 0 ]; //密码 } Access; t yp edef stru c t { ?3ha r FName[10]; struct *ne xt; } File; ty p ed e f struc t MFD node{ ?3 h ar UN a me[8]; struct M F Dnode * r i gh t; 扌 i le * down ; } D Fli n k; Acces s pow e r[10 ] DFlink * h ead; voi d i n itP o w e r(){ in t i ; pri nt f(请输入用户信息: nH ); f or( i =0;i5; i++){ ?pri n tf (请输入用户名:); gets_s (p o w e r [i].U N am e ); pr i ntf(请输入密码:); ? g ets_s(po w er [ i ]. Pa sswo r d); } } v oid i ni t He a d (){ i n t i ; ?DFlin k * m, * n; ?m=(DFlink *) m a 1 l o c(sizeof(D Flink)); m-rig h t =NUL L ; m— d o wn = NULL ; head= m; for(i=0;i5; i ++ ) { ? n=(DF 1 in k*) ma 11o c ( si zeo f (DFli nk)); s t r cpy _s(n- UN a me,pow e r[ i ] .UName); m-ri g ht =n; n - right =N U LL ; n- d own=NU L L; ?m = n ; } } int l o ggi n g () { ?shar n ame[8], p asswo r d[ 10 ]; i nt i= 0 ;int j=0; 卬rintf (请输入登录的用户名:); gets s(nam e); ?whil e ( i 2 str cm p ( p ower [ i ]. UName, n a m e)! = 0) ?? + +; if(i5) ?{ prin tf (请输入密码:”); ?get s — s (passwor d ); w h il e (st rc mp(power[i]. P assword, p assw ord)! =0 j3) { ? p r i n tf (密码不正确,请重新输入:); ? g ets_s(passwo rd); j++; } if (j== 3) { ?p rin t f (密码输入错误超过三次,禁止输入 \n); ??r e t ur n -1; } ?e s e{ ? re tu rn i; ?} } ?else { ?? retu r n - 1; 号 } v oid (i n t i n d e x) { c ha r na m e 1 [ 8 ]; D Flin k * n; ?=i le * s ,* p; ? n tj; s t rc py_s(na m e 1, power[i n dex].UName); n=head-ri g ht ; w hi le ( n ! =NU L L str c mp( n -UN a me ,name1)!=0) n = n — right ; ?i f ( n ! = NULL ){ ??= ( F
显示全部
相似文档