操作系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
操作系統(tǒng)課程設(shè)計(jì)_第2頁(yè)
操作系統(tǒng)課程設(shè)計(jì)_第3頁(yè)
操作系統(tǒng)課程設(shè)計(jì)_第4頁(yè)
操作系統(tǒng)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、PAGE PAGE 15課程設(shè)計(jì)說(shuō)明書(shū)設(shè)計(jì)名稱: 操作系統(tǒng)課程設(shè)計(jì) 題 目: 文件訪問(wèn)接口設(shè)計(jì) 課程設(shè)計(jì)任務(wù)書(shū)設(shè)計(jì)題目:文件訪問(wèn)接口設(shè)計(jì)主要內(nèi)容: 本設(shè)計(jì)的目的是通過(guò)BIOS調(diào)用設(shè)計(jì)簡(jiǎn)單的文件訪問(wèn)接口,使學(xué)生掌握程 序接口的設(shè)計(jì)方法。 要求學(xué)生在熟悉比BIOS、DOS操作系統(tǒng)的中斷接口及程序接口的基礎(chǔ)上,利用C語(yǔ)言設(shè)計(jì)簡(jiǎn)單的文件訪問(wèn)接口,最后通過(guò)程序驗(yàn)證接口的正確性。 具體要求利用C語(yǔ)言設(shè)計(jì),具體包括:基本文件內(nèi)容輸入基本文件內(nèi)容輸出創(chuàng)建文件打開(kāi)文件關(guān)閉文件文件緩沖區(qū)管理7、文件句柄管理8、讀順序文件9、寫(xiě)順序文件10、讀隨機(jī)文件11、寫(xiě)隨機(jī)文件12、文本文件操作驗(yàn)證程序 上述功能由兩部分程序

2、驗(yàn)證,中斷駐留程序和驗(yàn)證程序。首先運(yùn)行中斷駐留程序,然后運(yùn)行驗(yàn)證程序得到預(yù)期結(jié)果。進(jìn)度安排1-2天:資料查找、系統(tǒng)分析,數(shù)據(jù)流程分析,概要設(shè)計(jì)1-2天:系統(tǒng)詳細(xì)設(shè)計(jì)、功能設(shè)計(jì)5-6天:模塊設(shè)計(jì)、編程調(diào)試1天:資料整理、課程設(shè)計(jì)說(shuō)明書(shū)編寫(xiě)。完成后應(yīng)上交的材料1、課程設(shè)計(jì)說(shuō)明書(shū)(程序流程圖、功能模塊圖、相關(guān)數(shù)據(jù)結(jié)構(gòu)、核心算法等)2、相關(guān)源程序文件總評(píng)成績(jī)指導(dǎo)教師 簽名日期 年 月 日系 主 任 審核日期 年 月 日目錄 TOC o 1-3 h z u HYPERLINK l _Toc320823812 一、程序流程圖 PAGEREF _Toc320823812 h 5二、函數(shù)功能模塊.6 HYPE

3、RLINK l _Toc320823815 三、源代碼6 HYPERLINK l _Toc320823816 四、程序運(yùn)行結(jié)果 PAGEREF _Toc320823816 h 11 HYPERLINK l _Toc320823817 五、心得體會(huì)15 一、程序流程圖程序結(jié)束命令是否正確是否繼續(xù)隨機(jī)寫(xiě)文件順序讀文件隨機(jī)讀文件顯示工作目錄命令創(chuàng)建文件打開(kāi)文件順序讀寫(xiě)文件隨機(jī)讀寫(xiě)文件順序?qū)懳募?zhí)行相關(guān)操作輸入操作命令開(kāi)始程序基于文件內(nèi)容的輸入基于文件內(nèi)容的輸出否否是是二、函數(shù)功能模塊函數(shù)1:基于文件內(nèi)容的輸入函數(shù):int output_file();函數(shù)2:基于文件內(nèi)容的輸出函數(shù):int input

4、_file();函數(shù)3:創(chuàng)建文件函數(shù):bool create_file(char* name);函數(shù)4:打開(kāi)文件函數(shù):int open_file(char name);函數(shù)5:順序讀寫(xiě)文件函數(shù):int order_file(char name);函數(shù)6:隨機(jī)讀寫(xiě)文件函數(shù):int random_file(char name);三、源代碼#include#include#includechar d=f:VC+TITLE4.txt;class Tinterfacepublic:int output_file();void input_file();bool create_file(char name

5、);int open_file(char name);int order_file(char name);int random_file(char name);/基于文件內(nèi)容的輸入,以f:VC+TITLE4.txt為例int Tinterface:output_file()ofstream out;out.open(d,ios:app);if(!out)coutCan not open;return 1;couta;outa;out.close();/基于文件內(nèi)容的輸出,以f:VC+TITLE4.txt為例void Tinterface:input_file()ifstream input;c

6、har ch;input.open(d,ios:app);while(input.get(ch)coutch;coutendl;/創(chuàng)建文件bool Tinterface:create_file(char name)ifstream fs;if(!name)return false;fs.open(name,ios:nocreate);if(!fs)fs.clear();fs.close();fs.open(name,ios:out);if(!fs.is_open()cout創(chuàng)建失敗!endl;fs.clear();fs.close();return 0;coutname 創(chuàng)建成功!endl;f

7、s.close();return 1;cout文件已存在!endl;return 0;/打開(kāi)文件int Tinterface:open_file(char name)ifstream fs;fs.open(name,ios:nocreate);if(!fs)cout文件不存在!endl;elsecout文件已打開(kāi)!endl;return 0;/順序讀寫(xiě)文件int Tinterface:order_file(char name)int choice;cout請(qǐng)選擇讀或?qū)懖僮鳎?.順序讀 2.順序?qū)懀ヽhoice;if(choice=1)ifstream in;in.open(name,ios:n

8、ocreate|ios:out);if(!in)cout文件不存在!endl;elsechar ch;while(in.get(ch)coutch;in.close();elseif(choice=2)ofstream fs;fs.open(name,ios:nocreate|ios:in);if(!fs)cout文件不存在!endl;elsecouta;fsa;fs.close();elsecout輸入錯(cuò)誤!endl;return 0;/隨機(jī)讀寫(xiě)文件int Tinterface:random_file(char name)int choice;cout請(qǐng)選擇讀或?qū)懖僮鳎?.隨機(jī)讀 2.隨機(jī)寫(xiě)

9、)choice;if(choice=1)ifstream in;in.open(name,ios:nocreate|ios:out);if(!in)cout文件不存在!endl;elseint i;cout請(qǐng)輸入文件開(kāi)始讀的位置i;in.seekg(i,ios:beg);char ch;while(in.get(ch)coutch;in.close();if(choice=2)ofstream out;out.open(name,ios:nocreate|ios:in);if(!out)cout文件不存在!endl;elseint i;cout請(qǐng)輸入要輸入的文字:a;cout請(qǐng)輸入文字插入的位

10、置:i;out.seekp(i,ios:beg);outa;out.close();return 0;int main()Tinterface file;int choice;cout*菜單*nn1、基于文件內(nèi)容的輸入n2、基于文件內(nèi)容的輸出n3、創(chuàng)建文件n4、打開(kāi)文件n5、順序讀寫(xiě)文件n6、隨機(jī)讀寫(xiě)文件n99、退出nn;while(true)cout請(qǐng)選擇功能choice;switch(choice)case 1:file.output_file();break;case 2:file.input_file();break;case 3:char name256;coutname;file.

11、create_file(name);coutendl;break;case 4:char fname256;coutfname;file.open_file(fname);coutendl;break;case 5:char fsname256;cout請(qǐng)輸入文件名:fsname;file.order_file(fsname);coutendl;break;case 6:char finame256;cout請(qǐng)輸入文件名:finame;file.random_file(finame);coutendl;break;case 99:return 0;四、程序運(yùn)行結(jié)果1、主界面2、基于文件的輸入輸

12、入前的TITLE4.txt 執(zhí)行后的TITLE4.txt 3、基于文件內(nèi)容的輸出4、創(chuàng)建文件執(zhí)行前F:VC+目錄 執(zhí)行后F:VC+目錄 5、打開(kāi)文件6、順序讀寫(xiě)文件執(zhí)行前FILE.txt的內(nèi)容為空?qǐng)?zhí)行后FILE.txt的內(nèi)容7、隨機(jī)讀寫(xiě)文件執(zhí)行前FILE.txt的內(nèi)容 執(zhí)行后FILE.txt的內(nèi)容 8、退出五、心得體會(huì)在這個(gè)課程設(shè)計(jì)中,我被分配到的任務(wù)是建立文件訪問(wèn)接口,剛好本學(xué)期我們學(xué)習(xí)了C+這門(mén)課程,里面就講了關(guān)于文件操作的文件流,所謂學(xué)以致用,所以這次的課程設(shè)計(jì)我是用C+的文件流來(lái)實(shí)現(xiàn)設(shè)計(jì)要求的。運(yùn)用了文件流的基本知識(shí)實(shí)現(xiàn)了文件的創(chuàng)建,輸入,輸出等等功能。從看到課程設(shè)計(jì)任務(wù)書(shū)之后,我就開(kāi)

13、始查找資料,從課本上還有網(wǎng)上,首先是將文件的打開(kāi)方式掌握了,明白了如何對(duì)文件進(jìn)行操作以及進(jìn)行怎樣的操作,準(zhǔn)備了兩三天之后才開(kāi)始編寫(xiě)程序,編寫(xiě)程序中主要遇到的困難的在進(jìn)行文件隨機(jī)讀寫(xiě)的時(shí)候seekp() 與seekg()使用過(guò)程中遇到許多的問(wèn)題,剛開(kāi)始對(duì)使用函數(shù)之后,文件當(dāng)前指針位置的理解不透徹,所以在隨機(jī)輸出與輸入的時(shí)候無(wú)法精確的按照想的位置開(kāi)始進(jìn)行讀寫(xiě),運(yùn)行結(jié)果與自己想象中的不一樣,最后通過(guò)咨詢老師,了解其本質(zhì)后才解決了這個(gè)問(wèn)題。總體來(lái)說(shuō),因?yàn)槲易龅倪@個(gè)程序?qū)崿F(xiàn)的功能很簡(jiǎn)單,程序相對(duì)來(lái)說(shuō)也不是很難,所以我很快就完成了,只是這個(gè)程序還是存在著一定的缺陷,比如說(shuō),在進(jìn)行順序?qū)懙臅r(shí)候,如果文件本身存在內(nèi)容的話,所寫(xiě)的內(nèi)容會(huì)覆蓋文件本身存在的內(nèi)容,隨機(jī)寫(xiě)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論