ImageVerifierCode 换一换
格式:DOC , 页数:60 ,大小:392.54KB ,
资源ID:2798454      下载积分:12 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2798454.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(操作系统专业课程设计范文.doc)为本站上传会员【w****g】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

操作系统专业课程设计范文.doc

1、计算机系综合性实验实 验 报 告 课程名称 操作系统实验报告 实验学期 至 年 第 一 学期学生所在系部 计算机与信息管理系 年级 专业班级 计算机102 学生姓名 王强 黄新潮 张蒙 学号 11030082 11030070 11030077 任课教师 陆丽娜 实验成绩 计算机系制一种简朴文献系统详细设计一、实验目(1)阅读并调试一种简朴文献系统,模仿文献管理工作过程。从而对各种文献操作命令实质内容和执行过程有比较进一步理解。(2)理解设计一种n个顾客文献系统,每个顾客可以保存M个文献。顾客在一次运营中只能打开一种文献,对文献必要设立保护办法,且至少有create、delete、open、c

2、lose、read、write等命令。二、实验规定1、依照流程图阅读所给文献系统源程序,并对源程序加以注释(注释量达70%以上)。2、修改、完善该系统,指出程序bug。三、文献系统功能设计1. 功能设计该文献系统是一种多顾客、多任务文献系统。对顾客和顾客文献数目并没有上限。也就是说该系统容许任何顾客申请空间,并且在其目录下文献数目并不做任何限制。该系统可以支持操作命令如下: bye顾客注销命令。当使用该命令时,顾客退出系统,注销该顾客功能设计并回到登陆界面。命令格式: bye close删除顾客注册信息命令。执行该命令后,顾客在系统中所有信息,涉及该顾客目录下所有文献都被删除。命令执行完毕后返

3、回登陆界面。命令格式:close create在当前目录下创立一种文献,且该文献不能跟当前已有文献重名。该文献管理信息登记在顾客文献信息管理模块中。执行完该命令后回到执行命令行。命令格式:createfile1其中:“”符为提示符,file1为要创立文献名。 delete删除当前顾客目录下一种文献,命令执行完毕返回至命令行。命令格式:deletefile1 其中:file1为要删除文献名。 list显示当前注册目录下所有文献信息,涉及文献名、文献长度、文献操作权限。命令格式:list chmod变化某个文献执行权限,但前提是该文献是该顾客目录下文献。命令格式:chmodfile1。其中:fil

4、e1为要授权文献名。 open在window界面下打开某个文献。执行该命令后,文献file1将用在windows界面下文献形式打开。顾客可以在这个方式中对文献进行修改,并将修改后内容保存。命令格式:openfile1其中:file1为要打开文献名。 read读文献信息。将文献信息读入并显示在终端上。命令格式:readfile1其中:file1为要读文献名。 write向某个文献写入新信息。顾客可以选取用覆盖本来内容方式或和在文献末尾追加新信息方式写入信息。 当要退出时输入“#”即可。(2)系统采用二级文献目录。设立主目录(MFD)和顾客文献目录(UFD),分别以文献方式保存在磁盘中。在主目录中

5、有注册顾客顾客名和另一标志该顾客目录下与否有文献指针标记。顾客文献目录采用顾客名作为文献名保存于磁盘,以便检索时以便相应。在顾客文献目录中保存着该目录下所有文献文献名称、保护码、文献长度。(3)该系统大量使用高档语言中文献操作函数,因此能实际看到文献创立、写入、读出、删除等效果。2. 功能设计实现总体流程3. 重要数据构造struct UFD/顾客文献模块char filename32; /文献名int safecode; /文献保护码long length; /文献长度*curfile = NULL;这个是顾客文献模块数据构造,构造体名字是:UFD,在构造体里面定义了三个成员,filenam

6、e,safecode,length,分别用于存储顾客文献名字,文献保护码,文献长度,*curfile = NULL;,这是一种构造体类型指针,开始初始化为NULL.struct MFD/主文献模块char username32;/存储顾客名bool filepoint;/顾客目录下文献指针,false表达目录为空,true为该顾客目录中有文献*curuser = NULL,*elseuser=NULL;这个是主文献模块数据构造,有两个成员,username,filepoint,分别用于存储顾客名,顾客目录下面文献指针. *curuser = NULL,*elseuser=NULL;这两个是主文

7、献构造体变量,用于访问构造体里面数据成员4. 重要功能模块1. int LoginDisplay() /登陆选项操作函数2. bool Login(int SELETE)/顾客登陆,注册函数3. void DisplayUFD() /打印顾客信息,涉及顾客各个文献4. void ByeFile(bool BOOL)/注销函数,调用次函数顾客可以退出系统5. bool ClearUserFile()/顾客要将自己注册目录从系统彻底删除6. void ClearUserMes()/删除顾客所有信息7. void DeleteUser()/删除顾客注册目录操作8. void CreatFile()/

8、在当前顾客目录下创立文献9. void DeleteFile()/删除当前目录下一种文献操作10. bool QueryModElse(bool BOOL,bool &flag)/查询其他顾客目录下文献文献11. bool QueryMod(bool BOOL)/查询权限12. bool WriteRight(int len,bool BOOL) /查看与否已经对的地写入到该文献信息中,是则返回真值13. void WriteLengthToFile(int Len,bool BOOL)/将文献长度写入文献管理模块中14. void WriteFile()/向文献写入信息操作15. void

9、ReadFile()/读文献函数16. void ChangeMod()/修改某文献执行权限17. void Execute(int i,int len,int cmdset)/执行命令函数18. void Command()/读取顾客输入命令,并将其转换成系统能辨认命令5小构成员及分工 负责人:姓名模 块黄新潮组长分派任务,总结实验心得,分析流程图,给成员解说王强对源程序加以注释、修改张蒙对源程序读取,运营,截图,完善四、文献系统功能模块详细设计流程图1. int LoginDisplay() /登陆选项操作函数YNScanf SELETE_1Return SELETE_10=SELETE_

10、1LOGIN.exeEndCout error图4 ByeFileNYYNYNBegin 此模块重复调用,因而单独列出,更新xFDUpdate为True只更新,反之会进行删除操作Temp=Malloc(xFD)EOFFread(Temp,xFD,1,file/login.exe)Temp=username BufferUpdateFwrite(Temp,xFD,1,outfilelocate.exe) End图4.1 Update xFD5. bool ClearUserFile()/顾客要将自己注册目录从系统彻底删除NYYNBeginFile=username.exeFile EOFTemp

11、=Malloc(UFD)Fread(Temp,UFD,1,file)Remove Temp-fileReturn TrueEnd图5 ClearUserFile6. void ClearUserMes()/删除顾客所有信息Name=username.exeRemove NameUpdate(False) MFD(图4.1)End图6 ClearUserMesBegin7. int DeleteUser()/删除顾客注册目录操作OtherYY|yEnd图7 DeleteUserBeginchScanf chRR=ClearUserFile(图5)ClearUserMes(图6)Return 18

12、. void CreatFile()/在当前顾客目录下创立文献NOtherNY|yYYBeginBufferScanf ChFread(NewFile,UFD,1,username.exe)Server&Set BufferCout errorEnd图8 CreatFileCan WriteChScanf BufferCout TureNewFile=Malloc(UFD)9. void DeleteFile()/删除当前目录下一种文献操作OtherNY|yNYYBeginTure?ChScanf ChRemove BufferEnd图9 DeleteFileSearch UFD(图2.1)N

13、ame.exeUpdate(False) UFD(图4.1)10. bool QueryModElse(bool BOOL,bool &flag)/查询其他顾客目录下文献文献NNNNYYY31|33 YYNNYBeginTemp.File=BufferCout errorFread(Temp,UFD,1,user.exe)Return TrueEnd图10 QueryModElseEOF?Temp?Return FalseTemp=Malloc(UFD)BOOL32|3311. bool QueryMod(bool BOOL)/查询权限NNYYNYNNNYYBeginUsername.exeE

14、OFFread(temp,UFD,1,username.exe)Return TrueElse=Malloc(MFD)End图11 QueryModbuffertemp=Malloc(UFD)EOFFread(Else,MFD,1,Login.exe)Username=ElseTureQueryModElse(图10)Return False12. bool WriteRight(int len,bool BOOL) /查看与否已经对的地写入到该文献信息中,是则返回真值NYNNYYNYNNYYBeginUsername.exeEOFFread(temp,UFD,1,username.exe)L

15、ength=lenReturn FalseEnd图12 WriteRighttemp=Malloc(UFD)BufferFwrite(temp,UFD,1,outfilelocate.exe)outfilelocate.exeLength+lenEOFBufferFread(temp,UFD,1,username.exe) BOOLRemove username.exeoutfilelocate.exe -username.exeReturn Ture13. void WriteLengthToFile(int Len,bool BOOL)/将文献长度写入文献管理模块中NYYYNNBegin

16、LOGIN.exeFread(Else,MFD,1,LOGIN.exe)EndCout error图13 WriteLengthToFileElse=Malloc(MFD)EOFWriteRight(图12)True?14. void WriteFile()/向文献写入信息操作NN2OtherYY21YYNNBegin BufferEndGet char图14 WriteFileScanf ChmodChmodQueryMod(true)(图11)True?Char!=#Fput(char,buffer)Get charChar!=#Fput(char,buffer)WriteLengthTo

17、File (图11)Cout error15. void ReadFile()/读文献函数NYYYNNBegin True?Putchar(ch)EndCout error图15 ReadFileFgetchar(buffer)BufferQueryMod(False)(图12) EOF?16. void ChangeMod()/修改某文献执行权限OtherYNY|yBegin True?Scanf ModEndCout error图16 ChangeModPrintf Mod TestChSearch UFD(图2.1)Scanf chUpdate UFD(图4.1)Remove usern

18、ame.exeoutfilelocate.exe-username.exe17. int Execute(int i,int len,int cmdset)/执行命令函数987654231NYNYBegin Cmdi!=0Bufferi=CmdiEndCout error图17 ExecuteListAllFileBuffer?ChangeMod(图16)ByeFile(图4)OpenFileReturn TempcmdsetDeleteUser(图7)CreatFile (图8)DeleteFile (图9)ReadFile (图15)WriteFile (图14)18. void Comm

19、and()/读取顾客输入命令,并将其转换成系统能辨认命令YNYNYNYBegin 1Scanf cmdEnd图18 CommandBufferi=cmdi| |len-1Cmdset=0|mid二分查找命令编号CmdsetEndIt?Execute(图17)五、实验运营成果/* * 文献名:Simple_file_system.c* 功 能:简朴文献管理系统模仿程序 */#include#include#include#include#include conio.h#include#define NULL 0#define keynum 10#define getspace(type) (ty

20、pe*)malloc(sizeof(type) /宏定义 申请内存char cmd64; /存储顾客输入命令char buffer36;/char user32;/存储当前登陆顾客名typedef char ALFA12;ALFA KWORDkeynum;/-struct UFD/顾客文献管理模块char filename32; /文献名int safecode; /文献保护码long length; /文献长度*curfile = NULL;/-struct MFD/顾客登陆信息管理模块char username32;/顾客名bool filepoint;/顾客目录下文献指针,false表达

21、目录为空,true为该顾客目录中有文献*curuser = NULL,*elseuser=NULL;typedef UFD UFD; /重命名typedef MFD MFD;void main();/-void KeyWord()/初始化命令核心字strcpy(KWORD 1,bye); /顾客注销命令strcpy(KWORD 2,chmod); /变化文献执行权限strcpy(KWORD 3,close); /删除顾客注册信息strcpy(KWORD 4,create); / 在当前目录下创立一种文献strcpy(KWORD 5,delete); /删除当前顾客目录下一种文献strcpy(K

22、WORD 6,list); /显示当前注册目录下所有文献信息strcpy(KWORD 7,open); /打开文献strcpy(KWORD 8,read); /读文献信息strcpy(KWORD 9,write); /向文献写入新信息/-int LoginDisplay() /登陆选项操作函数int SELETE_1 = 0; /定义整型数存储选项do /循环控制 cout *请选取操作*n1、顾客登陆 2、顾客注册 0、退出SELETE_1; /输入要选取命令while(SELETE_12); /选项判断system(cls); /清屏return SELETE_1; /返回选项数/-boo

23、l Login(int SELETE)/顾客登陆,注册函数FILE *fp,*fp1,*fp2; /定义文献char name12; /定义数组存储登录名switch(SELETE) /switch选取case 1:/顾客登陆if(fp = fopen(LOGIN.exe,rb) = NULL)/打开顾客注册目录管理文献coutn错误:不能打开登陆文献。endl; /显示错误getch(); /读取结束符system(cls); /清屏return false; /返回curuser = getspace(MFD); /顾客名申请空间coutname; /输入顾客登陆名while(!feof(

24、fp) /检查该顾客与否合法fread(curuser,sizeof(MFD),1,fp); /文献读取if(strcmp(curuser-username,name)=0) /比较输入顾客名与否与存在顾客名相似break;if(feof(fp) /如果没有找到跟当前登陆顾客名相似管理信息,执行下列代码coutn错误:该顾客不存在。endl; /显示“错误:该顾客不存在” fclose(fp); /关闭文献 return false; /返回elsefclose(fp); /关闭文献return true; /返回break; /跳出case 2: /新顾客注册if(fp=fopen(LOGI

25、N.exe,ab)=NULL)/如果登陆信息管理文献不存在fp=fopen(LOGIN.exe,wb+); /创立该信息管理文献char name12;curuser = getspace(MFD); /顾客申请空间while(1)coutn *新顾客注册*endl;coutname; /输入顾客注册名fp1 = fopen(LOGIN.exe,rb); /打开登陆文献,只容许读数据while(!feof(fp1)/查看该顾客名与否被别顾客占用fread(curuser,sizeof(MFD),1,fp1); /文献读取if(strcmp(curuser-username,name) = 0)

26、coutn该顾客已经存在,请重新输入!username,name); /拷贝输入顾客名到顾客名构造体 curuser-filepoint = NULL; /文献指针置空 fwrite(curuser,sizeof(MFD),1,fp); /顾客信息写入文献strcpy(user,curuser-username);/生成顾客文献管理模块strcat(user,.exe); /用于管理顾客目录下各个文献fp2=fopen(user,wb+); /打开文献,容许读和写fclose(fp2); /关闭fp2 coutn注册成功!endl; /提示注册成功 LoginDisplay();fclose(

27、fp1); /关闭fp1 fclose(fp); /关闭fpbreak;fp = fopen(LOGIN.exe,rb);/显示当前注册顾客名称while(1)fread(curuser,sizeof(MFD),1,fp); /文献读取if(feof(fp) /检查与否最后顾客break;coutusernamefilepoint = false)/当前顾客目录下没有任何文献存在coutn顾客 username 文献夹是空username); /拷贝顾客名到定义strcat(filename,.exe); /扩展名.exeif(fp=fopen(filename,rb)=NULL)/打开顾客文

28、献信息管理模块coutn无法打开顾客:username 文献!endl; /显示getch(); /读取结束符return;else /读入并将顾客所有文献信息打印在终端cout顾客:username目录下文献:endl;UFD *ufd; /申请文献模块int i=0;ufd = getspace(UFD); /申请存储顾客文献模块空间while(1)fread(ufd,sizeof(UFD),1,fp); /文献读取,把文献信息读到顾客中if(feof(fp) /所有输出break;else /打印信息coutfilenametlengthtsafecodeendl; /输出文献信息fclose(fp); /关闭文献 /-void ByeFile(bool BOOL)/注销函数,调用次函数顾客可以退出系统FILE *infile,*outfile; /定义文献char out50; /定义数组out50strcpy(out,outfilelocate.exe); /拷贝信息到数组if(infile=fopen(LOGIN.exe,rb)=NULL)/检查与否保存coutn保存错误。;/fclose(infile);return;elseif(outfil

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服