




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、上機實驗報告南京工程學院上機實 驗 報 告 課 程 名 稱: 操作系統(tǒng) 實驗項目名稱: 文件操作 學生班級: 學生學號: 學生姓名: 指導(dǎo)教師: 實 驗 時 間: 實 驗 地 點: 信息樓專業(yè)機房 實驗成績評定: 2016-2017-1學期1- 3 -一、實驗?zāi)康募皟?nèi)容在掌握文件的概念和文件管理功能后,通過實驗進一步了解文件的組織結(jié)構(gòu)以及常規(guī)操作,從而了解文件的實際應(yīng)用,為大量信息處理問題提供一種實用有效的管理模式。內(nèi)容:創(chuàng)建一個新文件,文件內(nèi)容為本班所有同學的學號、姓名、操作系統(tǒng)課程成績,要求采用有格式的存儲格式;文件建立之后,能夠?qū)ξ募M行插入、刪除、查找等操作。二、實驗相關(guān)知識簡介文件系
2、統(tǒng)提供給用戶程序的一組系統(tǒng)調(diào)用,如文件的建立、打開、關(guān)閉、撤消、讀、寫和控制等,通過這些系統(tǒng)調(diào)用用戶能獲得文件系統(tǒng)的各種服務(wù)。不同的系統(tǒng)提供給用戶不同的對文件的操作手段,但所有系統(tǒng)一般都提供以下關(guān)于文件的基本操作:1對整體文件而言(1)打開(open)文件,以準備對該文件進行訪問。(2)關(guān)閉(close)文件,結(jié)束對該文件的使用。(3)建立(create)文件,構(gòu)造一個新文件。(4)撤消(destroy)文件,刪去一個文件。(5)復(fù)制(copy)文件,產(chǎn)生一個文件副本。2對文件中的數(shù)據(jù)項而言(1)讀(read)操作,把文件中的一個數(shù)據(jù)項輸入給進程。(2)寫(write)操作,進程輸出一個數(shù)據(jù)項
3、到文件中去。(3)修改(update)操作,修改一個已經(jīng)存在的數(shù)據(jù)項。(4)插入(insert)操作,添加一個新數(shù)據(jù)項。(5)刪除(delete)操作,從文件中移走一個數(shù)據(jù)項。 三、設(shè)計思路及關(guān)鍵程序代碼分析#include <stdio.h> #include <string.h> #include <stdlib.h> int NUM = 0; struct student char num20; / 學號 char nam20; / 姓名 int score; / 成績 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é)點初始化 (*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("請輸入學號:"); scanf(&qu
7、ot;%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ù)插入信息(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("請輸入需要刪除學生的學號: "); scanf("%s",&n); p = search(head,n); if(p = NULL) getchar(); printf("您輸入的學號不存在,請重新輸入: "); 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("請輸入需要查找學生的學號:"); 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("您輸入的學號不存在!"); 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("輸入有誤,請重新輸入!n"); Choose(head); break; int main() STU head; Init(&head); Lo
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建農(nóng)業(yè)職業(yè)技術(shù)學院《ERP原理及其應(yīng)用》2023-2024學年第一學期期末試卷
- 蘭州工商學院《臨床檢驗基礎(chǔ)B》2023-2024學年第一學期期末試卷
- 重慶化工職業(yè)學院《職業(yè)發(fā)展與擇業(yè)指導(dǎo)》2023-2024學年第一學期期末試卷
- 服務(wù)客戶流程標準化體系
- 阿壩職業(yè)學院《數(shù)字影像設(shè)計基礎(chǔ)》2023-2024學年第一學期期末試卷
- 2025年醫(yī)療健康產(chǎn)業(yè)投資風險分析與防范策略研究報告
- 食品生產(chǎn)培訓(xùn)課件
- 腮腺炎預(yù)防教育
- 職業(yè)中專品德教育體系構(gòu)建與實施
- 增強防范意識做健康第一責任人
- 第23課+和平發(fā)展合作共贏的時代潮流+課件高一歷史下學期統(tǒng)編版(2019)必修中外歷史綱要下
- 小說閱讀-2025年中考語文一模試題分項匯編解析版
- 缺血性卒中腦保護中國專家共識(2025)解讀
- T/CAPE 11005-2023光伏電站光伏組件清洗技術(shù)規(guī)范
- 中國創(chuàng)傷骨科患者圍手術(shù)期靜脈血栓栓塞癥預(yù)防指南(2025)解讀
- 財產(chǎn)獨立性專項審計報告模板3(清算審計報告模板)
- 腫瘤診療下鄉(xiāng)宣傳實施方案
- 物業(yè)員工保密意識培訓(xùn)
- 斷層解剖學知到智慧樹期末考試答案題庫2025年內(nèi)蒙古醫(yī)科大學
- 2025年康復(fù)治療師職業(yè)考試試卷及答案
- 2025-2030中國MEMS設(shè)計服務(wù)行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
評論
0/150
提交評論