版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、上機(jī)實(shí)驗(yàn)報(bào)告南京工程學(xué)院上機(jī)實(shí) 驗(yàn) 報(bào) 告 課 程 名 稱: 操作系統(tǒng) 實(shí)驗(yàn)項(xiàng)目名稱: 文件操作 學(xué)生班級: 學(xué)生學(xué)號: 學(xué)生姓名: 指導(dǎo)教師: 實(shí) 驗(yàn) 時(shí) 間: 實(shí) 驗(yàn) 地 點(diǎn): 信息樓專業(yè)機(jī)房 實(shí)驗(yàn)成績評定: 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é)號、姓名、操作系統(tǒng)課程成績,要求采用有格式的存儲格式;文件建立之后,能夠?qū)ξ募M(jìn)行插入、刪除、查找等操作。二、實(shí)驗(yàn)相關(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)文件,以準(zhǔn)備對該文件進(jìn)行訪問。(2)關(guān)閉(close)文件,結(jié)束對該文件的使用。(3)建立(create)文件,構(gòu)造一個(gè)新文件。(4)撤消(destroy)文件,刪去一個(gè)文件。(5)復(fù)制(copy)文件,產(chǎn)生一個(gè)文件副本。2對文件中的數(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é)號 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é)點(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("請輸入學(xué)號:"); 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("請輸入需要?jiǎng)h除學(xué)生的學(xué)號: "); scanf("%s",&n); p = search(head,n); if(p = NULL) getchar(); printf("您輸入的學(xué)號不存在,請重新輸入: "); 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("請輸入需要查找學(xué)生的學(xué)號:"); 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é)號不存在!"); 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全日制學(xué)術(shù)學(xué)位
- 健康家居的選擇
- 2024秋八年級語文上冊 第3單元 12與朱元思書說課稿 新人教版
- 2025年度個(gè)人汽車貸款擔(dān)保合同電子檔案管理范本4篇
- 2024秋八年級英語上冊 Unit 1 Me and My Class Lesson 4 Best Friends說課稿 (新版)冀教版
- 2025年銅材行業(yè)調(diào)研分析報(bào)告
- 2025年銅箔生產(chǎn)線安全環(huán)保風(fēng)險(xiǎn)評估合同范本3篇
- 2025年應(yīng)急充電器行業(yè)市場需求分析報(bào)告及未來五至十年行業(yè)預(yù)測報(bào)告
- 2025年中國云計(jì)算行業(yè)數(shù)據(jù)報(bào)告(純數(shù)據(jù)版)
- 10《牛郎織女(一)》說課稿-2024-2025學(xué)年語文五年級上冊統(tǒng)編版001
- 2024版塑料購銷合同范本買賣
- 【高一上】【期末話收獲 家校話未來】期末家長會
- JJF 2184-2025電子計(jì)價(jià)秤型式評價(jià)大綱(試行)
- GB/T 44890-2024行政許可工作規(guī)范
- 有毒有害氣體崗位操作規(guī)程(3篇)
- 兒童常見呼吸系統(tǒng)疾病免疫調(diào)節(jié)劑合理使用專家共識2024(全文)
- 2025屆山東省德州市物理高三第一學(xué)期期末調(diào)研模擬試題含解析
- 《華潤集團(tuán)全面預(yù)算管理案例研究》
- 2024-2025高考英語全國卷分類匯編之完型填空(含答案及解析)
- 二年級下冊加減混合豎式練習(xí)360題附答案
- 蘇教版五年級數(shù)學(xué)下冊解方程五種類型50題
評論
0/150
提交評論