基于Linux的模擬文件系統(tǒng)的設計與實現(xiàn)_第1頁
基于Linux的模擬文件系統(tǒng)的設計與實現(xiàn)_第2頁
基于Linux的模擬文件系統(tǒng)的設計與實現(xiàn)_第3頁
基于Linux的模擬文件系統(tǒng)的設計與實現(xiàn)_第4頁
基于Linux的模擬文件系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、操作系統(tǒng)課程設計說 明 書學 院、系:軟件學院專 業(yè):軟件工程學 生 姓 名:學 號:設 計 題 目:基于linux的模擬文件系統(tǒng)的設計與實現(xiàn) 起 迄 日 期:指 導 教 師: 前言簡單地說,linux是一套免費使用和自由傳播的類unix操作系統(tǒng),它主要用于基于intelx86系列cpu的計算機上。這個系統(tǒng)是由世界各地的成千上萬的程序員設計和實現(xiàn)的。其目的是建立不受任何商品化軟件的版權制約的、全世界都能自由使用的unix兼容產品。linux不僅為用戶提供了強大的操作系統(tǒng)功能,而且還提供了豐富的應用軟件。用戶不但可以從internet上下載linux及其源代碼,而且還可以從internet上下載

2、許多l(xiāng)inux的應用程序??梢哉f,linux本身包含的應用程序以及移植到linux上的應用程序包羅萬象,任何一位用戶都能從有關linux的網(wǎng)站上找到適合自己特殊需要的應用程序及其源代碼,這樣,用戶就可以根據(jù)自己的需要下載源代碼,以便修改和擴充操作系統(tǒng)或應用程序的功能。這對windowsnt、windows98、ms-dos或os/2等商品化操作系統(tǒng)來說是無法做到的。linux具有:穩(wěn)定、可靠、安全的優(yōu)點,并且有強大的網(wǎng)絡功能。其中有對讀、寫進行權限控制、審計跟蹤、核心授權等技術,這些都為安全提供了保障。在相關軟件的支持下,可實現(xiàn)www、ftp、dns、dhcp、e-mail等服務,還可作為路由

3、器使用,利用ipchains/iptable網(wǎng)絡治理工具可構建nat及功能全面的防火墻。linux是在gnu公共許可權限下免費獲得的,是一個符合posix標準的操作系統(tǒng)。linux操作系統(tǒng)軟件包不僅包括完整的linux操作系統(tǒng),而且還包括了文本編輯器、高級語言編譯器等應用軟件。它還包括帶有多個窗口管理器的x-windows圖形用戶界面,如同我們使用windowsnt一樣,允許我們使用窗口、圖標和菜單對系統(tǒng)進行操作。目錄1需求分析31.1 功能介紹31.2 目的及意義51.2.1 目的51.2.2 意義61.3 設計成果72總體設計82.1功能介紹82.2模塊關聯(lián)93詳細設計123.1用戶結構1

4、23.2數(shù)據(jù)結構說明123.3主要功能的關鍵代碼134測試及運行結果184.1 測試定義184.2 測試目的184.3 測試結果194.3.1 文件測試195心得231需求分析1.1 功能介紹基于linux的模擬文件系統(tǒng)的設計與實現(xiàn)完成以下功能:(1)創(chuàng)建用戶:手動的創(chuàng)建10個用戶,都在界面上完成,輸入用戶名;每個用戶最多可以保存10個文件。(2)用戶登錄:手動的登錄已經創(chuàng)建的用戶,正確輸入用戶名即可成功登錄。 (3)顯示所有用戶:首先會創(chuàng)建很多用戶,為了清晰、便捷的查看用戶,所以在界面上可以顯示所有的用戶,這一功能的實現(xiàn),主要是針對忘記自己用戶名的用戶,可以通過查看全部用戶來查找自己的用戶名

5、。(4)創(chuàng)建二級文件目錄(md):手動的輸入目錄名稱,(即設置主目錄(mfd)和用戶文 件目錄(ufd)。(5)顯示目錄:將用戶創(chuàng)建的目錄顯示在界面上。(6)刪除目錄:手動輸入目錄的名稱即可刪除已經創(chuàng)建的目錄。(7)進入目錄:進入目錄內部,可以進行文件的各種操作。(8)修改目錄:在用戶登錄后,輸入要修改的目錄名稱,對其進行修改,輸入新的目 錄名并保存。(9)建立一個文件(create):在目錄中手動輸入文件名,可以創(chuàng)建新的文件,在創(chuàng)建 的同時輸入文件的保護碼,對文件內容進行保護,防止信息泄露。(10)打開全部文件(openall):將已經創(chuàng)建的文件夾全部顯示在界面上。(11)刪除一個文件(de

6、lete):手動輸入已經創(chuàng)建的文件的名稱,即可刪除此文件。(12)寫文件(write):手動的在文件中寫入內容。(13)讀文件(read):查看文件中的已經寫入的內容。(14)移動文件:用戶可以將某個目錄下的文件移動到其它的目錄中,只為了整理文件,便于查詢,使用。(15)改文件的保護碼(change):手動修改文件的密碼(保護碼)。 基于以上的功能,可以使用戶選擇操作,模擬文件系統(tǒng)的設計與實現(xiàn);此類功能都是在頁面上手動操作完成。1.2 目的及意義1.2.1 目的通過課程設計,加深對操作系統(tǒng)各資源管理模塊的理解,掌握操作系統(tǒng)的基本原理及功能,具有初步分析實際操作系統(tǒng)、設計、構造和開發(fā)現(xiàn)代操作系統(tǒng)

7、的基本能力?;趌inux的模擬文件系統(tǒng)的設計與實現(xiàn),熟悉基本的網(wǎng)絡命令以及他們的使用方法,體會linux多用戶的特點,熟悉網(wǎng)絡配置文件的配置方法。本系統(tǒng)是基于linux平臺運行在終端上的虛擬二級文件管理系統(tǒng)。模擬真正的文件管理系統(tǒng),并采用用戶登錄機制對文件和目錄進行創(chuàng)建,增加內容,修改,刪除的操作。對于目錄而言,可以進行創(chuàng)建刪除新添文件的操作;對于文件而言,可以創(chuàng)建,修改,刪除。刪除目錄時,同時刪除相應目錄下的文件以及文件中的內容。采用用戶登錄使得用戶管理文件更方便,并形成了二級的文件管理模式。操作系統(tǒng)(os)是重要的計算機系統(tǒng)軟件,同時也是最活躍的學科之一,其發(fā)展極為迅速。它是配置在計算機

8、硬件上的第一層軟件,是對硬件系統(tǒng)的首次擴充。它在計算機系統(tǒng)中占據(jù)了特別重要的地位;而其它的諸如匯編程序、編譯程序、數(shù)據(jù)庫管理系統(tǒng)等系統(tǒng)軟件,以及大量的應用軟件,都將依賴于操作系統(tǒng)的支持,取得它的服務。操作系統(tǒng)已成為現(xiàn)代計算機系統(tǒng)、多處理機系統(tǒng)、計算機網(wǎng)絡、多媒體系統(tǒng)以及嵌入式系統(tǒng)中都必須配置的、最重要的系統(tǒng)軟件。課程設計是學習的總結,通過課程設計溫習我們已經學到的知識并加以運用,還可以了解到其它的知識,來充實自己,充分掌握操作系統(tǒng)的基本原理及各方面知識。1.2.2 意義基于其低廉成本與高度可設定性,linux常常被應用于嵌入式系統(tǒng),例如機頂盒、移動電話及行動裝置等。在移動電話上,linux已經

9、成為與symbianos、windowsmobile系統(tǒng)并列的三大智能手機操作系統(tǒng)之一;而在移動裝置上,則成為windowsce與palmos外之另一個選擇。目前流行的tivo數(shù)位攝影機使用了經過定制化后的linux。此外,有不少硬件式的網(wǎng)絡防火墻及路由器,例如部份linksys的產品,其內部都是使用linux來驅動、并采用了操作系統(tǒng)提供的防火墻及路由功能。linux以它的高效性和靈活性著稱。它能夠在pc計算機上實現(xiàn)全部的unix特性,具有多任務、多用戶的能力。linux是在gnu公共許可權限下免費獲得的,是一個符合posix標準的操作系統(tǒng)。linux操作系統(tǒng)軟件包不僅包括完整的linux操作

10、系統(tǒng),而且還包括了文本編輯器、高級語言編譯器等應用軟件。它還包括帶有多個窗口管理器的x-window圖形用戶界面,如同我們使用windowsnt一樣,允許我們使用窗口、圖標和菜單對系統(tǒng)進行操作。linux之所以受到廣大計算機愛好者的喜愛,主要原因有兩個,一是它屬于自由軟件,用戶不用支付任何費用就可以獲得它和它的源代碼,并且可以根據(jù)自己的需要對它進行必要的修改,無償對它使用,無約束地繼續(xù)傳播。另一個原因是,它具有unix的全部功能,任何使用unix操作系統(tǒng)或想要學習unix操作系統(tǒng)的人都可以從linux中獲益。在linux操作系統(tǒng)中實現(xiàn)文件的各種操作,即創(chuàng)建、刪除、修改、寫入、讀取等。通過課程設

11、計讓我們進一步了解操作系統(tǒng),學習操作系統(tǒng)的各方面知識,加深對操作系統(tǒng)的認識,溫習課上學過的知識,明確操作系統(tǒng)的作用??梢栽诓煌慕嵌葋碛^察操作系統(tǒng)的作用。從一般客戶的觀點,可把操作系統(tǒng)看做是用戶與計算機硬件系統(tǒng)之間的接口;從資源管理的觀點看,則可把操作系統(tǒng)視為計算機系統(tǒng)資源的管理者。另外,操作系統(tǒng)實現(xiàn)了對計算機資源的抽象,隱藏了對硬件操作的細節(jié),使用戶能更方便地使用機器。1.3 設計成果基于linux的模擬文件系統(tǒng)的設計與實現(xiàn),實現(xiàn)了采用用戶登錄機制,可以查看文件信息,管理文件及文件夾。在界面中用戶可以手動的進行操作,每一步都有操作成功或失敗的提示,清晰的展示每一步的操作過程,用戶可以方便的實

12、現(xiàn)對文件的操作,例如:創(chuàng)建、修改、刪除等。經過幾天的努力完成了基于linux的模擬文件系統(tǒng)的設計與實現(xiàn)這一課題,按照具體的要求,將每個功能實現(xiàn)并附上溫馨提示,主要的功能有:展示了添加用戶、用戶登錄、創(chuàng)建二級目錄、修改目錄名、刪除目錄、顯示全部目錄、創(chuàng)建文件、修改文件名、刪除文件、寫入文件、讀取文件、修改文件保護碼等功能。 2總體設計2.1功能介紹 本系統(tǒng)包括用戶管理、目錄管理、文件管理共3個模塊。在用戶管理模塊中,包括創(chuàng)建用戶,輸入用戶名;用戶登錄等功能。在目錄管理模塊中,包括創(chuàng)建二級文件目錄,輸入文件的目錄名稱;顯示目錄,輸入文件目錄的名字,顯示出對應的目;刪除目錄;進入目錄主要是為了操作目

13、錄內部的文件。文件管理模塊,包括文件的創(chuàng)建,在進入目錄后可以按照提示輸入文件的名稱,輸入密碼,創(chuàng)建新的文件并添加文件的保護碼;打開一個文件,在目錄中按照提示輸入文件的名稱,便可以打開目錄中對應的文件;打開全部文件,進入目錄后,按照提示輸入相應的操作,即可打開本目錄下所有的文件;刪除一個文件,進入目錄按照提示選擇相應的操作,輸入文件名稱,即可刪除此文件;寫入文件,在目錄中打開一個文件,寫入內容;讀取文件,在目錄中打開文件,查看文件的內容。修改保護碼,進入目錄輸入文件的名稱,按照提示修改文件的保護碼。形象展示見下圖2.1創(chuàng)建用戶用戶登錄創(chuàng)建目錄顯示目錄刪除目錄創(chuàng)建文件打開一個文件打開全部文件刪除一

14、個文件寫入文件基于linux的模擬文件系統(tǒng)的設計與實現(xiàn)用戶管理目錄管理文件管理讀取文件 圖2.12.2模塊關聯(lián)nn111n用戶名目錄用戶目錄名保護碼文件名文件文件內容在系統(tǒng)中各個模塊之間有著一定的聯(lián)系,系統(tǒng)中創(chuàng)建10個用戶,每一個用戶可以創(chuàng)建多個目錄,在目錄中最多創(chuàng)建10個文件。用戶與目錄之間存在一對多的關系,目錄與文件之間也存在一對多的關系,用戶與文件之間也存在一對多的關系。具體描述見下圖: 圖2.2顯示刪除打開刪除保護碼讀取寫入 用戶登錄驗證 創(chuàng)建目錄 創(chuàng)建文件 用戶退出否是 圖2.3 是否是否是否遍歷i節(jié)點區(qū)要打開的文件是否存在提示輸入打開模式將打開文件信息寫入打開文件信息表遍歷打開文件

15、表文件是否已經打開提示輸入開始位置和讀字節(jié)數(shù)調用讀塊操作,讀出塊內字符模式是否為可讀開始結束開始結束打開文件讀文件 是否遍歷i節(jié)點區(qū)要刪除的文件是否存在釋放文件對應的i節(jié)點區(qū)釋放兩個磁盤塊文件是否大于的一塊釋放一個磁盤塊是否開始結束刪除文件 圖2.4 開始遍歷i節(jié)點區(qū)是待刪除目錄嗎?遍歷子目錄子目錄為空嗎?是文件嗎?是空目錄嗎?結束刪除目錄或文件是空目錄嗎?刪除目錄是是否否否否否是是是 是是否否遍歷i節(jié)點區(qū)要創(chuàng)建的目錄是否存在是否有空的i節(jié)點遍歷i節(jié)點區(qū)分配一個目錄i節(jié)點開始結束創(chuàng)建目錄 圖2.5 3詳細設計3.1用戶結構typedef struct userchar name10;conte

16、nt *con; struct user *next;user;本系統(tǒng)可以創(chuàng)建10個用戶,用戶登陸時只要輸入正確便可進入系統(tǒng),否則提示失敗要求重新輸入。doprintf(輸入新用戶名:n);scanf(%s,name);exist=0;head=user-next;while(head!=null)if(strcmp(head-name,name)=0)exist=1;break;head=head-next;if(exist=1) printf(用戶名已存在!n請重新輸入:);while(exist=1);3.2數(shù)據(jù)結構說明a) 文件結構鏈表structfnode charfilenamef

17、ilename_length; intisdir; intisopen; charcontent255; fnode*parent; fnode*child; fnode*prev; fnode*next;b) 函數(shù)介紹void zengjiayonghu();/增加新用戶 void newfile(content *con);/創(chuàng)建新文件int display_files(content *con);/展示所有文件void dufile(content *con);/讀取文件void writefile(content *con);/寫入文件void shanchufile(content

18、*con);刪除文件void yidongfile(user *u,content *con);/移動文件int zhankaiallconcent(user *u);/展示所有文件void newcontentname(content *c,char name);/更改目錄名稱 void newconcent(user *u);/增加新目錄 void shanchuconcent(user *u);/刪除目錄 void xiugaiconcentname(user *u);/修改目錄名稱void change_filepassword(content *con);/修改文件保護碼int re

19、adall_files(content *con);/讀取所有文件3.3主要功能的關鍵代碼a) 創(chuàng)建文件在用戶成功的創(chuàng)建目錄后,就可以創(chuàng)建文件了,創(chuàng)建新的文件時首先判斷文件名是否已經存在,如果存在則提示重新輸入,否則提示“請輸入文件保護碼!”,在輸入文件保護碼后,將創(chuàng)建新的文件成功。關鍵代碼:doexist=0;printf(請輸入新文件名:);scanf(%s,f_name);strcat(f_name,tail);if(is_exist_file(con-file,f_name) exist=1;if(exist=1) printf(文件名已存在!n);while(exist=1); pr

20、intf(請輸入文件保護碼:n);scanf(%s,password);q=fopen(f_name,w);fclose(q);while(file-next!=null) file=file-next;new_f=(file *)malloc(sizeof(file);strcpy(new_f-name,f_name);strcpy(new_f-password,password);new_f-next=null;file-next=new_f;con-filenum+;printf(添加文件成功!n,f_name);b) 讀取文件讀取文件即查看文件中的內容,當輸入要讀取的文件名后,進行判斷

21、文件名稱是否存在,若存在則打開文件,查看文件的內容,否側提示“文件名不存在!”,重新選擇讀取的文件名,進行下一步的操作。關鍵代碼:strcat(name,tail); while(file!=null)if(strcmp(name,file-name)=0)find=1;break;file=file-next;if(find=0)printf(文件名不存在!n);return;c) 寫入文件在正常的操作中,用戶創(chuàng)建文件主要是保存一些信息;在此系統(tǒng)中,用戶創(chuàng)建文件后可以在文件中寫入一些內容,發(fā)揮文件的作用。首先判斷用戶輸入的文件名是否存在,再判斷用戶輸入的保護碼是否正確,正確進入文件后便可以進

22、入文件,進行寫操作。關鍵代碼:strcat(name,tail); while(file!=null)if(strcmp(name,file-name)=0)find=1;break;file=file-next;if(find=0)printf(抱歉,文件名不存在n);return;doprintf(請輸入保護碼:);scanf(%s,password);if(strcmp(password,file-password)=0) login=1;if(login=0) printf(保護碼錯誤!n請重新輸入:);while(login=0);printf(現(xiàn)在文件已經被打開了.n); writ

23、e(name);printf(n文件%s寫入成功!n,name);d) 移動文件移動文件是很常用的操作,用戶經常整理自己的文件,將一些文件移動到其它的目錄下,此操作首先輸入要移動的文件的名稱,確認用戶輸入的文件存在后,再輸入移動的目標目錄,進行判斷后將文件移動到此處,并提示“移動成功!”。關鍵代碼:doexist=1;printf(請輸入你想要移動的文件名:);scanf(%s,name);strcat(name,tail);if(!is_exist_file(con-file,name) exist=0;if(exist=0) printf(該文件名不存在!n);while(exist=0)

24、;printf(移動中.n);file=con-file;f=file-next;while(f!=null)if(strcmp(f-name,name)=0) break;file=file-next;f=f-next; temp_f=f;file-next=f-next;printf(請輸入您想要移動到的目標目錄名: );scanf(%s,c_name);c=u-con;while(c-next!=null)if(strcmp(c-name,c_name)=0) break;c=c-next;f=c-file;while(f-next!=null) f=f-next;f-next=temp

25、_f;temp_f-next=null;printf(移動成功!n);e) 刪除文件有時一些文件對用戶來說是沒有什么意義的,便可以將其刪除,在用戶登錄成功后,進入目錄選擇刪除文件操作,輸入要刪除的文件名,系統(tǒng)進行判斷文件名是否存在,當文件存在時可以執(zhí)行刪除操作,提示“文件刪除成功!”。關鍵代碼:if(display_files(con)=0) printf(抱歉,你沒有文件可刪除!n);elsedoexist=1;printf(請輸入您想要刪除的文件名:);scanf(%s,name);strcat(name,tail);if(!is_exist_file(con-file,name) exi

26、st=0;if(exist=0) printf(抱歉,該文件不存在!n);while(exist=0); printf(文件刪除中.);file=con-file;f=file-next;while(f!=null)if(strcmp(f-name,name)=0) break;file=f;f=f-next; f) 修改文件的保護碼保護碼是文件的安全保護,現(xiàn)在的信息技術不斷增強,也有很多人通過獲取其它人的文件來盜用他人重要資料或信息,所以很多人采取密保來防止自己的文件內容泄露。有時人們會隨意的設置自己的密碼,可能在設置后需要修改更加嚴密的密碼。再次我們設計了修改文件保護碼,方便用戶的更改。用

27、戶選擇要修改的文件,系統(tǒng)判斷文件名是否存在,若存在則提示輸入原文件的保護碼,再次進行判斷保護碼是否輸入正確,最后輸入新的保護碼,并進行保存,提示“密碼修改成功!”。關鍵代碼:void change_filepassword(content *con)int login=0;char name10;char tail=.txt;int find=0;char password10;char newpassword10;file *file=con-file-next;printf(請輸入要修改保護碼的文件名:);scanf(%s,name);strcat(name,tail); while(fi

28、le!=null)if(strcmp(name,file-name)=0)find=1;break;file=file-next;if(find=0)printf(啊噢。文件名不存在n);return;doprintf(請輸入原密碼:);scanf(%s,password);if(strcmp(password,file-password)=0) login=1;if(login=0) printf(真是悲哀,原密碼輸入錯誤!n請重新輸入:);while(login=0);printf(請輸入新密碼:);scanf(%s,newpassword);strcpy(file-password,ne

29、wpassword);printf(n密碼修改成功!n);以上是每個模塊的具體的操作介紹并附加關鍵代碼,關鍵代碼對一個系統(tǒng)來說是非常重要的,有時候我們可以通過關鍵代碼以及注釋等來理解系統(tǒng)中的各種功能。在此系統(tǒng)中主要展示了添加用戶、用戶登錄、創(chuàng)建二級目錄、修改目錄名、刪除目錄、顯示全部目錄、創(chuàng)建文件、修改文件名、刪除文件、寫入文件、讀取文件、修改文件保護碼等功能。4測試及運行結果4.1 測試定義任何項目的開發(fā)成功都離不開測試,說明測試起著重要的作用。測試使用人工或者自動手段來運行或測試某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的去求或弄清楚預期結果與實際結果之間的差別。它是幫助識別開發(fā)完成(中

30、間或最終的版本)的計算機軟件(整體或部分)的正確度(correctness)完全度(completeness)和質量(quality)的軟件過程;是sqa的重要子域。(1) 測試并不僅僅是為了找出錯誤,通過分析錯誤產生的原因和錯誤的發(fā)生趨勢,可以幫助項目管理者發(fā)現(xiàn)當前軟件開發(fā)過程中的缺陷,以便及時改進;(2) 這種分析也能幫助測試人員設計出有針對性的測試方法,改善測試的效果和有效性;(3) 沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完成的測試是評定軟件質量的一種方法。(4) 測試可以分為黑盒測試和白盒測試,測試的方法不同,測試的結果、重點也不相同,選擇合適的測試方法對項目的承重有著重要的作用。4.2 測

31、試目的如果測試的目的是為了盡可能多地找出錯誤,那么測試就應該直接針對軟件比較復雜的部分或者以前出錯比較多的位置。如果測試的目的是為了給最終用戶提供具有一定可信度的質量評價,那么測試就應該直接針對在實際應用中會經常用到的商業(yè)假設。當然測試的目的不僅僅如此,也不會只針對某個部分進行測試,而忽略其它部分,測試必須要全面。(1) 測試是為了發(fā)現(xiàn)錯誤而執(zhí)行的過程;(2) 測試是為了證明程序有錯,而不是證明程序無錯誤;(3) 一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;(4) 一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。4.3 測試結果4.3.1 文件測試用戶的操作對象是文件,首先創(chuàng)建文件,當輸入文

32、件名時,測試文件名輸入的是否正確,輸入的文件名已經存在時,會出現(xiàn)提示信息;在文件中寫入內容時,測試輸入任何字符都可以,像普通的記事本一樣;在讀取文件時,可以正常的讀取出文件中存在的內容;刪除文件時,輸入文件名,測試文件名是否輸入正確,在文件名不存在時,界面出現(xiàn)提示信息;修改文件保護碼,測試輸入的初始文件保護碼是否輸入正確,顯示提示信息,當輸入正確時,可以對保護碼進行修改,并修改成功。測試的結果是正確的。 成功創(chuàng)建文件界面設計:示圖4.3.1 圖4.3.1 寫入文件界面設計:示圖4.3.2 圖4.3.2 讀取文件界面設計:示圖4.3.3 圖4.3.3 刪除文件界面設計:示圖4.3.4 圖4.3.

33、4 修改文件保護碼界面設計:示圖4.3.5 圖4.3.5 移動文件界面設計:示圖4.3.6 圖4.3.6 顯示所有文件界面設計:示圖4.3.7 圖 測試總結經過測試,按照要求進行測試,確保功能的完整性,是否有不正確或遺漏了的功能;在接口上輸入能否正確接受?能否輸出正確的結果?是否有數(shù)據(jù)結構錯誤或外部信息(例如數(shù)據(jù)文件)訪問錯誤?性能上是否能夠滿足要求?是否有初始化或終止性錯誤?黑盒測試發(fā)現(xiàn)程序中的錯誤,必須在所有可能的輸入條件和輸出條件中確定廁所是數(shù)據(jù),來檢查程序是否都能產生正確的輸出。在系統(tǒng)開發(fā)的過程中,進行每一步的調試,確保每一個方法、語句都被執(zhí)行到;開發(fā)后,針對具體的要求

34、,進行測試,測試出系統(tǒng)中的功能能正常運行,切每一步不合理的操作,界面上都有提示信息,便于用戶的操作、使用。經過測試,在此系統(tǒng)中的所有功能都是按照要求實現(xiàn)的,且都附有操作提示,避免用戶操作失誤而導致不必要的麻煩。4.4 詳細代碼(在linux環(huán)境下可運行成功)#include/調用系統(tǒng)函數(shù)#include#include#include#include#include#include #include #include struct flieint ed; /判斷是否正存放文件char f_name8; /文件名char f_c8; /存放文件內容int att ; / 文件屬性0為只讀 /用于

35、指向文件內容模塊fa8,fg8;int x; /全局變量/* 文件塊數(shù)據(jù)結構 */typedef struct _filetable/char *filename;/文件名/int strat;/文件在磁盤存儲空間的起始地址/int length; /文件內容長度/int maxlength; /文件的最大長度/char filekind3; /文件的屬性讀寫方式/struct tm *timeinfo;/bool openflag;/判斷是否有進程打開了該文件/struct _filetable *next;/filetable;struct file1char *filename;/用戶文

36、件夾名int id;/文件夾編號;struct file1 filename10;/10個用戶文件int i=0;/全局變量,用來控制用戶文件數(shù)目int init(); /初始化界面void check(); /密碼認證void fileopera();/文件操作int content(void);/目錄操作void add_content(void);/創(chuàng)建目錄void delete_content();/刪除目錄void createfile(); /創(chuàng)建文件操作void deletefile() ; /刪除文件的操作void openfile() ; /打開文件操作void writef

37、ile(); /寫文件void catalogue() ; /目錄管理子程序void modifyfile(); /修改屬性操作void copyfile(); / 復制文件操作int show_content(int a,char argv10);/顯示目錄int main(void)while(1)int n;printf(*n);printf(* 1.目錄管理 *n);printf(* 2.文件管理 *n);printf(* 3.退 出 *n);printf(*n);printf(請選擇n );scanf(%d,&n);switch(n)case 1:content();/調用目錄管理函

38、數(shù)break;case 2:fileopera();/調用文件管理函數(shù)case 3:exit(0);default :printf(您的輸入有誤,退出!n);printf(n);int content(void)while(1)int m;printf(*n);printf(* 1.創(chuàng)建目錄 *n);printf(* 2.刪除目錄 *n);printf(* 3.顯示目錄 *n);printf(* 4.退出 *n);printf(*n);printf(請選擇n );scanf(%d,&m);switch(m)case 1:add_content();/創(chuàng)建目錄break;case 2:delet

39、e_content();/刪除目錄break;case 3:show_content(2,/liwei);/顯示目錄break;case 4:/exit(0);/退出目錄管理return 0;default:printf(您的輸入有誤,退出!n);return 0; void add_content(void)char ptr20;int a;while(i10)printf(已經有10個用戶文件目錄,不能再創(chuàng)建了!n);/刪除目錄void delete_content()dir *dir;char ptr20;int a,i;printf(請輸入你要刪除的目錄:n);scanf(%s,ptr

40、);for(i=0;id_name);/輸出結果中有兩個特殊的文件“.”和“.”其中文件“.”表示當前目錄的入口,文件“.”表示父目錄的入口 printf( n); closedir(dp);void check() /密碼認證int check,a=1;char pin1=admin; /設定口令char pin20; while(a)printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * *n);printf( * 文件管理系統(tǒng)用戶登錄 *n);printf(* * * * * * * * * * * * * * * * *

41、 * * * * * * * * * * *n);printf(請選擇用戶:n);printf( 1.administrator 2.guest 3.退出系統(tǒng)n);scanf(%d,&x);if(x=3)break;printf(密碼);scanf (%s,pin);check=strcmp(pin,pin1);if (check!=0)printf(n密碼錯誤!請從新輸入:n);elsea=0;void createfile() /創(chuàng)建文件操作int handle=1,a,check,i,j,h;char name8,pin8;printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * *n);printf( *

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論