操作系統(tǒng)文件操作實驗_第1頁
操作系統(tǒng)文件操作實驗_第2頁
操作系統(tǒng)文件操作實驗_第3頁
操作系統(tǒng)文件操作實驗_第4頁
操作系統(tǒng)文件操作實驗_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、本文檔如對你有幫助,請幫忙下載支持!南京工程學院1機實驗報告課程名稱:操作系統(tǒng)實驗項目名稱:文件操作學生班級: 學生學號: 學生姓名: 指導(dǎo)教師:間:實驗地占-八、信息樓專業(yè)機房實驗成績評定:2016-2017-1 學期一、實驗?zāi)康募皟?nèi)容 在掌握文件的概念和文件管理功能后, 通過實驗進一步了解文件的組織結(jié)構(gòu)以及常規(guī)操 作,從而了解文件的實際應(yīng)用,為大量信息處理問題提供一種實用有效的管理模式。 內(nèi)容:創(chuàng)建一個新文件,文件內(nèi)容為本班所有同學的學號、姓名、操作系統(tǒng)課程成績, 要求采用有格式的存儲格式;文件建立之后,能夠?qū)ξ募M行插入、刪除、查找等操作。二、實驗相關(guān)知識簡介 文件系統(tǒng)提供給用戶程序的一

2、組系統(tǒng)調(diào)用,如文件的建立、打開、關(guān)閉、撤消、讀、寫 和控制等, 通過這些系統(tǒng)調(diào)用用戶能獲得文件系統(tǒng)的各種服務(wù)。 不同的系統(tǒng)提供給用戶不同 的對文件的操作手段,但所有系統(tǒng)一般都提供以下關(guān)于文件的基本操作:打開(open)文件,以準備對該文件進行訪問。 關(guān)閉(close)文件,結(jié)束對該文件的使用。 建立(create)文件,構(gòu)造一個新文件。撤消(destroy)文件,刪去一個文件。 復(fù)制(copy)文件,產(chǎn)生一個文件副本。1對整體文件而言( 1)( 2)( 3)( 4)2對文件中的數(shù)據(jù)項而( 1)( 2)( 3)( 4)( 5)( 5)言讀(read)操作,把文件中的一個數(shù)據(jù)項輸入給進程。 寫(w

3、rite)操作,進程輸出一個數(shù)據(jù)項到文件中去。 修改(up date)操作,修改一個已經(jīng)存在的數(shù)據(jù)項。 插入(insert)操作,添加一個新數(shù)據(jù)項。刪除(delete)操作,從文件中移走一個數(shù)據(jù)項。、設(shè)計思路及關(guān)鍵程序代碼分析#include #include #include int NUM = 0;struct student學號姓名成績/char num20; char nam20;int score; struct student * next;typedef struct student Stu;typedef Stu * STU; void SaveConf(STU head);

4、void Menu(STU head); void Choose(STU head); void LoadConf(STU head); void Create(STU head); void Init(STU *head)/頭節(jié)點初始化(*head) = (STU)malloc(sizeof(Stu); (*head)-next = NULL;void LoadConf(STU head)/從文件加載信息至鏈表int i = 1;FILE *fp;STU newstu;STU p= head;fp = fopen(text.txt,r+);if(fp = NULL)printf( 文件不存在

5、!已為您創(chuàng)建新文件! n); fp = fopen(text.txt,a+);while(i 0)newstu = (STU)malloc(sizeof(Stu);i = fscanf(fp,%s %s %dn,newstu-num,newstu-nam,&newstu-score); if(i = -1)free(newstu); newstu = NULL; break;p = head;while(p-next != NULL)p = p-next;p-next = newstu; newstu-next = NULL;p = NULL;fclose(fp);void Create(ST

6、U head) /插入信息STU newstu;STU p = head;newstu = (STU)malloc(sizeof(Stu); printf( 請輸入學號: ); scanf(%s,newstu-num);printf( 請輸入姓名: );scanf(%s,newstu-nam); printf( 請輸入成績: ); scanf(%d,&newstu-score); while(p-next != NULL)p = p-next; p-next = newstu; newstu-next = NULL; char flag; getchar();printf( 是否繼續(xù)插入信息

7、(y or n) : ); scanf(%c,&flag);if(flag=y) Create(head); else Choose(head);void SaveConf(STU head) /保存信息到文件 FILE *fp;STU p = head-next;fp = fopen(text.txt,w); if(fp = NULL)printf( 打開文件失??! n);return;while(p != NULL)/寫入數(shù)據(jù)到文件中fprintf(fp,%s %s %dn,p-num,p-nam,p-score); p = p-next; fclose(fp);STU search(ST

8、U head,char *s)/刪除STU p;p = head-next;while(p != NULL)if(strcmp(s,p-num) = 0) return p;p = p-next;return p;void Delete(STU head)STU p;STU q = head;char flag;char n20;printf( 請輸入需要刪除學生的學號 : ); scanf(%s,&n);p = search(head,n);if(p = NULL) getchar();printf( 您輸入的學號不存在,請重新輸入 : ); scanf(%c,&flag);Delete(h

9、ead);else getchar(); printf(%s %s %dn,p-num,p-nam,p-score);q = head; while(q-next != p) q = q-next; q-next = p-next; p-next = NULL; free(p);p = NULL; printf(delete success!n); Choose(head);void Constant(STU head) /查找 STU p = head;char number20;int find=0;printf( 請輸入需要查找學生的學號: );scanf(%s,number);whil

10、e(p != NULL)if(strcmp(number,p-num) = 0)printf( 查找結(jié)果如下: n);printf(%s %s %dn,p-num,p-nam,p-score); find=1;p = p-next;if(find=0)printf( 您輸入的學號不存在! );getchar();Choose(head);void Menu(STU head)printf(t*文件管理*tn);printf(t*1.插入信息*tn);printf(t*2.刪除信息*tn);printf(t*3.查找信息*tn);printf(t*0.退出 *tn);void Choose(ST

11、U head)int choice = 0;printf(nplease input your choice: ); scanf(%d,&choice);switch(choice)case 1:Create(head);break;case 2:Delete(head);break;case 3:Constant(head);break;case 0:SaveConf(head);break; default:printf( 輸入有誤,請重新輸入! n); Choose(head);break;int mai n()STU head;In it(&head);LoadC on f(head); Me nu (head); Choose(head);

溫馨提示

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

評論

0/150

提交評論