




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
..操作系統(tǒng)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:文件管理專業(yè)班級(jí):網(wǎng)絡(luò)工程1301學(xué)號(hào):XX:2015年6月16日實(shí)驗(yàn)一文件管理一、實(shí)驗(yàn)?zāi)康奈募芾硎遣僮飨到y(tǒng)的一個(gè)非常重要的組成局部。學(xué)生應(yīng)獨(dú)立用高級(jí)語(yǔ)言編寫(xiě)和調(diào)試一個(gè)簡(jiǎn)單的文件系統(tǒng),模擬文件管理的工作過(guò)程。從而對(duì)各種文件操作命令的實(shí)質(zhì)容和執(zhí)行過(guò)程有比擬深入的了解,掌握它們的實(shí)施方法,加深理解課堂上講授過(guò)的知識(shí)。二、預(yù)備知識(shí)VS2010的使用C#的學(xué)習(xí)文件主目錄與子目錄的理解三、實(shí)驗(yàn)容與步驟用高級(jí)語(yǔ)言編寫(xiě)和調(diào)試一個(gè)簡(jiǎn)單的文件系統(tǒng),模擬文件管理的工作過(guò)程。要求設(shè)計(jì)一個(gè)10個(gè)用戶的文件系統(tǒng),每次用戶可保存10個(gè)文件,一次運(yùn)行用戶可以翻開(kāi)5個(gè)文件。系統(tǒng)能夠檢查打入命令的正確性,出錯(cuò)時(shí)能顯示出錯(cuò)原因。對(duì)文件必須設(shè)置保護(hù)措施,例如只能執(zhí)行,允許讀等。在每次翻開(kāi)文件時(shí),根據(jù)本次翻開(kāi)的要求,在此設(shè)置保護(hù)級(jí)別,即有二級(jí)保護(hù)。文件的操作至少有Create、delete、open、close、read、write等命令。所編寫(xiě)的程序應(yīng)采用二級(jí)文件目錄,即設(shè)置主文件目錄和用戶文件目錄。前者應(yīng)包含文件主及它們的目錄區(qū)指針;后者應(yīng)給出每個(gè)文件占有的文件目錄,即文件名,保護(hù)碼,文件長(zhǎng)度以及它們存放的位置等。另外為翻開(kāi)文件設(shè)置運(yùn)行文件目錄〔AFD〕,在文件翻開(kāi)時(shí)應(yīng)填入翻開(kāi)文件號(hào),本次翻開(kāi)保護(hù)碼和讀寫(xiě)指針等。 程序流程圖: 邏輯設(shè)計(jì):使用線性數(shù)組表表示MFD,泛型數(shù)組表示UFD,每個(gè)元素包括用戶ID、保存的文件數(shù)、再使用線性表表示文件信息,每個(gè)元素包括文件名,文件屬性〔保護(hù)碼〕,文件的狀態(tài)等信息。 物理設(shè)計(jì)://主目錄privateFileUser[]mfd;//當(dāng)前用戶privateFileUsercurrentuser;///<summary>///文件///</summary>publicclassFileObject{publicstringfilename;publicintsize=20;publicintread=0;publicintwrite=0;publicstringauthor;}///<summary>///文件系統(tǒng)用戶///</summary>publicclassFileUser{publicstringusername;publicList<FileObject>ufd=newList<FileObject>();publicintfilecount=0;} 步驟詳述: 1、主目錄及用戶目錄機(jī)構(gòu)顯示: 2、當(dāng)前操作用戶登錄: 3、文件管理系統(tǒng)菜單: 4、create命令: 5、open命令: 6、close命令: 7、delete命令: 8、read命令 9、write命令 10、exit命令四、實(shí)驗(yàn)總結(jié)通過(guò)這次的課程設(shè)計(jì)使我認(rèn)識(shí)到要將操作系統(tǒng)這門(mén)計(jì)算機(jī)專業(yè)的課學(xué)好不僅僅是要把書(shū)上的根本知識(shí)學(xué)好而且還要不斷進(jìn)展實(shí)踐,將所學(xué)的跟實(shí)踐操作結(jié)合起來(lái)才能更好地穩(wěn)固所學(xué),才能提高自己實(shí)踐能力.通過(guò)這次的設(shè)計(jì)使我認(rèn)識(shí)到只停留在外表理解問(wèn)題是很難使問(wèn)題得到很好的解決的,實(shí)踐能力與理論知識(shí)同樣重要。可以說(shuō)此課程設(shè)計(jì)的理論難度并不大,但是假設(shè)要深入開(kāi)掘其中的東西,并且實(shí)際去編程實(shí)現(xiàn),就遇到了相當(dāng)大的難度。因?yàn)榕c之涉及的很多方面并沒(méi)有學(xué)過(guò),需要自己去自學(xué)和實(shí)踐檢驗(yàn)。五、程序清單usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespacefilemanagesystem{classProgram{staticvoidMain(string[]args){//初始化用戶自模擬文件系統(tǒng)ExplorerInUserexplorer=newExplorerInUser();}}///<summary>///文件管理系統(tǒng)for用戶自模擬///</summary>publicclassExplorerInUser{//命令列表privatestring[]mand={"create","open","close","delete","read","write","exit"};//主目錄privateFileUser[]mfd;//當(dāng)前用戶privateFileUsercurrentuser;///<summary>///構(gòu)造函數(shù)///</summary>publicExplorerInUser(){INI();}///<summary>///初始化系統(tǒng)///</summary>privatevoidINI(){if(currentuser==null){//主目錄實(shí)現(xiàn)IniUserList();}//系那是菜單InilizeMenu();boolisinput=false;//輸入正確的命令while(!isinput){stringinput=Console.ReadLine();isinput=mandGroup(input);}}#region主目錄///<summary>///獲取用戶個(gè)數(shù)///</summary>///<returns></returns>privateintGetUserCount(){stringinput=Console.ReadLine();try{intuser_size=Convert.ToInt32(input);returnuser_size;}catch(Exceptione){Console.WriteLine(e.Message);return0;}}///<summary>///生成用戶及用戶管理文件///</summary>privatevoidIniUserList(){intuser_size=GetUserCount();mfd=newFileUser[user_size];for(inti=0;i<user_size;i++){mfd[i]=newFileUser();mfd[i].username="mfd_user_"+i;mfd[i].filecount=3;Console.WriteLine("mfd:"+mfd[i].username+","+mfd[i].filecount);for(intj=0;j<3;j++){FileObjectfile=newFileObject();file.author=mfd[i].username;Console.WriteLine("--ufd:"+file.filename+","+file.size+","+file.author);file.filename="file"+j;mfd[i].ufd.Add(file);}}IniLogin();}///<summary>///用戶登錄///</summary>privatevoidIniLogin(){Console.WriteLine("請(qǐng)輸入用戶名:");boolissuccess=false;while(!issuccess){stringusername=Console.ReadLine();for(inti=0;i<mfd.Length;i++){if(mfd[i].username.Equals(username)){issuccess=true;currentuser=mfd[i];Console.WriteLine("當(dāng)前用戶:"+username);break;}}if(!issuccess){Console.WriteLine("請(qǐng)重新輸入輸入用戶名:");}}}#endregion#region菜單///<summary>///初始化菜單///</summary>privatevoidInilizeMenu(){Console.WriteLine("歡送進(jìn)入文件管理系統(tǒng)!");Console.WriteLine("------create-------");Console.WriteLine("------open---------");Console.WriteLine("------close--------");Console.WriteLine("------delete-------");Console.WriteLine("------read---------");Console.WriteLine("------write--------");Console.WriteLine("------exit---------");Console.WriteLine("請(qǐng)輸入操作命令:");}///<summary>///功能分組判斷///</summary>///<paramname="mand"></param>///<returns></returns>privateboolmandGroup(stringmand){boolisexit=true;switch(mand){case"create":create();break;case"open":open();break;case"close":close();break;case"delete":delete();break;case"read":read();break;case"write":write();break;case"exit":exit();returntrue;break;default:isexit=false;break;}if(isexit){INI();}else{Console.WriteLine("請(qǐng)重新輸入操作命令:");}returnisexit;}#endregion#region操作命令方法///<summary>///創(chuàng)立新的文件///</summary>privatevoidcreate(){Console.WriteLine("請(qǐng)輸入新件名:");stringfilename=Console.ReadLine();currentuser.filecount++;FileObjectfile=newFileObject();file.filename=filename;file.author=currentuser.username;currentuser.ufd.Add(file);Console.WriteLine("成功創(chuàng)立文件!");}///<summary>///翻開(kāi)指定的文件///</summary>privatevoidopen(){Console.WriteLine("請(qǐng)輸入文件名:");stringfilename=Console.ReadLine();for(inti=0;i<currentuser.ufd.Count;i++){if(currentuser.ufd[i].filename.Equals(filename)){Console.WriteLine("成功翻開(kāi)文件!");Console.WriteLine("ID:"+i);Console.WriteLine("FileName:"+filename);Console.WriteLine("Size:"+currentuser.ufd[i].size);Console.WriteLine("Autor:"+currentuser.ufd[i].author);return;}}Console.WriteLine("文件不存在!");}///<summary>///關(guān)閉所有翻開(kāi)的文件///</summary>privatevoidclose(){Console.WriteLine("已關(guān)閉文件");}///<summary>///刪除文件///</summary>privatevoiddelete(){Console.WriteLine("請(qǐng)輸入文件名:");stringfilename=Console.ReadLine();for(inti=0;i<currentuser.ufd.Count;i++){if(currentuser.ufd[i].filename.Equals(filename)){currentuser.ufd.RemoveAt(i);Console.WriteLine("成功刪除文件!");return;}}Console.WriteLine("文件不存在!");}///<summary>///讀取文件///</summary>privatevoidread(){Console.WriteLine("請(qǐng)輸入文件名:");stringfilename=Console.ReadLine();for(inti=0;i<currentuser.ufd.Count;i++){if(currentuser.ufd[i].filename.Equals(filename)){Console.WriteLine("已讀取文件!");return;}}Console.WriteLine("文件不存在!");}///<summary>///寫(xiě)入文件///</summary>privatevoidwrite(){Console.WriteLine("請(qǐng)輸入文件名:");s
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 備戰(zhàn)月考演講稿
- 商場(chǎng)服裝銷(xiāo)售工作總結(jié)8篇
- 合作協(xié)議書(shū)匯編7篇
- 2025黑龍江東北林業(yè)大學(xué)生態(tài)學(xué)院校內(nèi)招聘2人考前自測(cè)高頻考點(diǎn)模擬試題及一套參考答案詳解
- 2025年河北石家莊井陘縣中醫(yī)院公開(kāi)招聘工作人員19名考前自測(cè)高頻考點(diǎn)模擬試題及完整答案詳解
- 2025北方人才(蒙東)國(guó)家標(biāo)準(zhǔn)化考試基地招聘28人考前自測(cè)高頻考點(diǎn)模擬試題及一套參考答案詳解
- 2025年甘肅省大數(shù)據(jù)中心引進(jìn)博士研究生模擬試卷及答案詳解(典優(yōu))
- 2025年漳平市法院系統(tǒng)招聘真題
- 2025福建省計(jì)量科學(xué)研究院招聘3人考前自測(cè)高頻考點(diǎn)模擬試題完整參考答案詳解
- 2025廣西玉林市北流市大倫鎮(zhèn)便民服務(wù)中心招聘公益性崗位考前自測(cè)高頻考點(diǎn)模擬試題附答案詳解(完整版)
- 【MOOC】聲樂(lè)作品賞析與演唱-揚(yáng)州大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 鍋爐節(jié)能器施工方案
- 2024版中國(guó)憲法課件
- 【MOOC】機(jī)械之美-神奇的礦冶機(jī)械(雙語(yǔ))-江西理工大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- T-IAC CAMRA 47.3- 2022汽車(chē)覆蓋件低碳維修技術(shù)規(guī)范 第3部分:車(chē)輛玻璃
- 《食品廠員工績(jī)效方案》
- 工程人員駐場(chǎng)服務(wù)方案
- 信息技術(shù)居間協(xié)議書(shū)
- 2024年高考文綜(政治)全國(guó)卷Ⅰ試卷及答案解析
- TSHZSAQS 00243-2024 新疆北疆免耕復(fù)播大豆高產(chǎn)栽培技術(shù)規(guī)程
- 山水情懷 課件-2024-2025學(xué)年高中美術(shù)人教版 (2019) 選擇性必修2 中國(guó)書(shū)畫(huà)
評(píng)論
0/150
提交評(píng)論