




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、上機(jī)實(shí)驗(yàn)報(bào)告南京工程學(xué)院上機(jī)實(shí) 驗(yàn) 報(bào) 告 課 程 名 稱: 操作系統(tǒng) 實(shí)驗(yàn)項(xiàng)目名稱: 文件操作 學(xué)生班級(jí): 學(xué)生學(xué)號(hào): 學(xué)生姓名: 指導(dǎo)教師: 實(shí) 驗(yàn) 時(shí) 間: 實(shí) 驗(yàn) 地 點(diǎn): 信息樓專業(yè)機(jī)房 實(shí)驗(yàn)成績(jī)?cè)u(píng)定: 2016-2017-1學(xué)期1- 3 -一、實(shí)驗(yàn)?zāi)康募皟?nèi)容在掌握文件的概念和文件管理功能后,通過實(shí)驗(yàn)進(jìn)一步了解文件的組織結(jié)構(gòu)以及常規(guī)操作,從而了解文件的實(shí)際應(yīng)用,為大量信息處理問題提供一種實(shí)用有效的管理模式。內(nèi)容:創(chuàng)建一個(gè)新文件,文件內(nèi)容為本班所有同學(xué)的學(xué)號(hào)、姓名、操作系統(tǒng)課程成績(jī),要求采用有格式的存儲(chǔ)格式;文件建立之后,能夠?qū)ξ募M(jìn)行插入、刪除、查找等操作。二、實(shí)驗(yàn)相關(guān)知識(shí)簡(jiǎn)介文件系
2、統(tǒng)提供給用戶程序的一組系統(tǒng)調(diào)用,如文件的建立、打開、關(guān)閉、撤消、讀、寫和控制等,通過這些系統(tǒng)調(diào)用用戶能獲得文件系統(tǒng)的各種服務(wù)。不同的系統(tǒng)提供給用戶不同的對(duì)文件的操作手段,但所有系統(tǒng)一般都提供以下關(guān)于文件的基本操作:1對(duì)整體文件而言(1)打開(open)文件,以準(zhǔn)備對(duì)該文件進(jìn)行訪問。(2)關(guān)閉(close)文件,結(jié)束對(duì)該文件的使用。(3)建立(create)文件,構(gòu)造一個(gè)新文件。(4)撤消(destroy)文件,刪去一個(gè)文件。(5)復(fù)制(copy)文件,產(chǎn)生一個(gè)文件副本。2對(duì)文件中的數(shù)據(jù)項(xiàng)而言(1)讀(read)操作,把文件中的一個(gè)數(shù)據(jù)項(xiàng)輸入給進(jìn)程。(2)寫(write)操作,進(jìn)程輸出一個(gè)數(shù)據(jù)項(xiàng)
3、到文件中去。(3)修改(update)操作,修改一個(gè)已經(jīng)存在的數(shù)據(jù)項(xiàng)。(4)插入(insert)操作,添加一個(gè)新數(shù)據(jù)項(xiàng)。(5)刪除(delete)操作,從文件中移走一個(gè)數(shù)據(jù)項(xiàng)。 三、設(shè)計(jì)思路及關(guān)鍵程序代碼分析#include <stdio.h> #include <string.h> #include <stdlib.h> int NUM = 0; struct student char num20; / 學(xué)號(hào) char nam20; / 姓名 int score; / 成績(jī) struct student * next; ; typedef struct s
4、tudent Stu; typedef Stu * STU; void SaveConf(STU head); void Menu(STU head); void Choose(STU head); void LoadConf(STU head); void Create(STU head); void Init(STU *head) /頭節(jié)點(diǎn)初始化 (*head) = (STU)malloc(sizeof(Stu); (*head)->next = NULL; void LoadConf(STU head) /從文件加載信息至鏈表 int i = 1; FILE *fp; STU ne
5、wstu; STU p= head; fp = fopen("text.txt","r+"); if(fp = NULL) printf("文件不存在!已為您創(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->
6、;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(STU head) /插入信息 STU newstu; STU p = head; newstu = (STU)malloc(sizeof(Stu); printf("請(qǐng)輸入學(xué)號(hào):"); scanf(&qu
7、ot;%s",newstu->num); printf("請(qǐng)輸入姓名:"); scanf("%s",newstu->nam); printf("請(qǐng)輸入成績(jī):"); scanf("%d",&newstu->score); while(p->next != NULL) p = p->next; p->next = newstu; newstu->next = NULL; char flag; getchar(); printf("是否繼續(xù)插入信息(y
8、 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) fprintf(fp,&qu
9、ot;%s %s %dn",p->num,p->nam,p->score); /寫入數(shù)據(jù)到文件中 p = p->next; fclose(fp); STU search(STU 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; print
10、f("請(qǐng)輸入需要?jiǎng)h除學(xué)生的學(xué)號(hào): "); scanf("%s",&n); p = search(head,n); if(p = NULL) getchar(); printf("您輸入的學(xué)號(hào)不存在,請(qǐng)重新輸入: "); scanf("%c",&flag); Delete(head); else getchar(); printf("%s %s %dn",p->num,p->nam,p->score); q = head; while(q->next !=
11、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("請(qǐng)輸入需要查找學(xué)生的學(xué)號(hào):"); scanf("%s",number); while(p != NULL) if(strcmp(number
12、,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("您輸入的學(xué)號(hào)不存在!"); getchar(); Choose(head); void Menu(STU head) printf("t*文件管理*tn"); printf("t*1.插入信息*tn"); printf("t*
13、2.刪除信息*tn"); printf("t*3.查找信息*tn"); printf("t*0.退出*tn"); void Choose(STU 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("輸入有誤,請(qǐng)重新輸入!n"); Choose(head); break; int main() STU head; Init(&head); Lo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省朝陽市三校協(xié)作體2025年高三3月“陽光校園空中黔課”階段性檢測(cè)試題英語試題含解析
- 太原學(xué)院《日語測(cè)試(一)》2023-2024學(xué)年第一學(xué)期期末試卷
- 遼寧省遼陽市2025屆高三下學(xué)期期末考試語文試題理試題含解析
- 2025年中考化學(xué)【熱點(diǎn)·重點(diǎn)·難點(diǎn)】重難點(diǎn)05 金屬與金屬礦物(原卷版)
- 《2025店鋪買賣簡(jiǎn)易合同》
- 2025牛買賣合同范本
- 項(xiàng)目投資協(xié)議解除合同
- 防水勞務(wù)合同協(xié)議
- 門面招租轉(zhuǎn)讓合同協(xié)議
- 門店銷售招聘合同協(xié)議
- (四調(diào))武漢市2025屆高中畢業(yè)生四月調(diào)研考試 物理試卷(含答案)
- 數(shù)學(xué)建模與系統(tǒng)仿真智慧樹知到期末考試答案2024年
- GB/T 24483-2009鋁土礦石
- 三菱電梯LEHY-II、LEGY緊急救援的盤車裝置切換說明
- 化工靜設(shè)備基礎(chǔ)知識(shí)共課件
- 新概念英語青少版入門級(jí)Starter A 結(jié)業(yè)測(cè)試 含答案
- 煙草原料學(xué)-煙草的品質(zhì)課件
- 非法行醫(yī)和非法采供血信息報(bào)告課件
- DG-TJ 08-2362-2021 綜合桿設(shè)施技術(shù)標(biāo)準(zhǔn)
- 計(jì)算機(jī)集成制造技術(shù)(CIMT)(PPT 53)第三講柔性制造系統(tǒng)(FMS)
- TSG11-2020 鍋爐安全技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論