




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一、試驗(yàn)內(nèi)容完成《C〔第四版〕12文件操作(P267)。二、試驗(yàn)?zāi)康膶W(xué)習(xí)對(duì)文件的輸入輸出三、試驗(yàn)過(guò)程與步驟VisualC++建立一個(gè)把握臺(tái)工程在工程中建立源文件并編寫(xiě)程序編程后編譯,假設(shè)消滅編譯錯(cuò)誤則應(yīng)當(dāng)檢查錯(cuò)誤并改正運(yùn)行程序并觀看結(jié)果并記錄四、程序分析
10-1從鍵盤(pán)輸入一些字符,逐個(gè)把它們送到磁盤(pán)上去,直到用戶輸入一個(gè)“#”為止#include<stdio.h>intmain{FILE*fp;請(qǐng)輸入所用的文件名:“);scanf(“%s“,filename);if((fp=fopen(filename,“w“))==NULL) //fp指向此文件{假設(shè)翻開(kāi)時(shí)出錯(cuò),就輸入“打不開(kāi)”的信息exit(0); 終止程序}ch=getchar; printf(請(qǐng)輸入一個(gè)預(yù)備存儲(chǔ)到磁盤(pán)的字符串(以#完畢):“);ch=getchar; 接收從鍵盤(pán)輸入的第一個(gè)字符while(ch!=”#”) //當(dāng)輸入‘#’時(shí)完畢循環(huán){fputc(ch,fp); //向磁盤(pán)文件輸出一個(gè)字符putchar(ch); 將輸出的字符顯示在屏幕上ch=getchar; 再接收從鍵盤(pán)輸入的一個(gè)字符}fclose(fp);putchar(10); //關(guān)閉文件return0; 向屏幕輸出一個(gè)換行符}試驗(yàn)結(jié)果:10-2file1.dat文件中的file2.dat中。#include<stdio.h>#include<stdlib.h>intmain{FILE*in,*out; //FILEcharch,infile[10],outfile[10]; //定義兩個(gè)字符數(shù)組,分別存放兩個(gè)數(shù)據(jù)文件名printf(“輸入讀入文件的名字:“);scanf(“%s“,infile); //輸入一個(gè)輸入文件的名字printf(“輸入輸出文件的名字:“);scanf(“%s“,outfile); //輸入一個(gè)輸出文件的名字if((in=fopen(infile,“r“))==NULL) //翻開(kāi)輸入文件{printf(“無(wú)法翻開(kāi)此文件\n“);exit(0);}if((out=fopen(outfile,“w“))==NULL) //翻開(kāi)輸出文件{printf(“無(wú)法翻開(kāi)此文件\n“);exit(0);}while(!feof(in)) //假設(shè)未遇到輸入文件的完畢標(biāo)志{ch=fgetc(in); //chfputc(ch,out); //chputchar(ch); //ch}putchar(10); //顯示完全部字符后換行fclose(in); //關(guān)閉輸入文件fclose(out); //關(guān)閉輸出文件return0;}試驗(yàn)結(jié)果:10-5#include<stdio.h>intmain{FILE*fp1,*fp2;fp2=fopen(“file2.dat“,“w“);putchar(getc(fp1));putchar(10);rewind(fp1);putc(getc(fp1),fp2);fclose(fp1);fclose(fp2);return0;}試驗(yàn)結(jié)果10-6#include<stdio.h>#include<stdlib.h>structstduent_type{charname[10];intnum;intage;charaddr[15];}stud[10];intmain{inti;FILE*fp;if((fp=fopen(“stu.dat“,“rb“))==NULL){printf(“cannotopenfile\n“);exit(0);}for(i=0;i<10;i+=2){fseek(fp,i*sizeof(structstduent_type),0);stduent_type),1,fp);printf(“%-10%4d%4d%-15\n“,stud[i].name,stud[i].num,stud[i].age,stud[i].addr);}fclose(fp);return0;}試驗(yàn)結(jié)果試驗(yàn)12-2〔1〕源代碼:#include<stdio.h>structstudent{charnum[10];charname[8];intscore[3];floatave;}stu[5];intmain{inti,j,sum;FILE*fp;for(i=0;i<5;i++){printf(“\ninputscoreofstudent%d:\n“,i+1);printf(“NO.:“);scanf(“%s“,stu[i].num);printf(“name:“);scanf(“%s“,stu[i].name);sum=0;for(j=0;j<3;j++){printf(“score%d:“,j+1);scanf(“%d“,&stu[i].score[j]);sum+=stu[i].score[j];}stu[i].ave=sum/3.0;}//將數(shù)據(jù)寫(xiě)入文件fp=fopen(“stud“,“w“);for(i=0;i<5;i++)if(fwrite(&stu[i],sizeof(structstudent),1,fp)!=1)printf(“filewriteerror\n“);fclose(fp);fp=fopen(“stud“,“r“);for(i=0;i<5;i++){fread(&stu[i],sizeof(structstudent),1,fp);printf(“\n%s,%s,%d,%d,%d,%6.2f\n“,stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].ave);}return0;}試驗(yàn)結(jié)果:inputscoreofstudent1:NO.:101name:Liscore1:90score2:89score3:88inputscoreofstudent2:NO.:120name:Wangscore1:80score2:79score3:78inputscoreofstudent3:NO.:130name:Chenscore1:70score2:69score3:68inputscoreNO.:140ofstudent4:name:Mascore1:100score2:99score3:98inputscoreofstudent5:NO.:150name:Weiscore1:60score2:59score3:58101,Li,90,89,88,89.00120,Wang,80,79,78,79.00130,Chen,70,69,68,69.00140,Ma,100,99,98,99.00150,Wei,60,59,58,59.00Pressanykeytocontinue試驗(yàn)?zāi)康模?/p>
試驗(yàn)12-2〔3〕已排序的學(xué)生成績(jī)文件進(jìn)展插入處理,插3門(mén)課成績(jī)。程序先計(jì)算插入學(xué)生的平均成績(jī),的學(xué)生數(shù)據(jù):10108 Xin 90,95,60試驗(yàn)內(nèi)容:輸入待插入的學(xué)生的數(shù)據(jù)輸入待插入的學(xué)生的數(shù)據(jù)計(jì)算其平均分stu_sort文件從該文件讀入數(shù)據(jù)并顯示出來(lái)ttt個(gè)學(xué)生的數(shù)據(jù)并顯示向文件輸出待輸入的學(xué)生數(shù)據(jù)并顯示t后面的學(xué)生數(shù)據(jù)并顯示關(guān)閉文件源代碼:#include<stdio.h>#include<stdlib.h>structstudent{charnum[10];charname[8];intscore[3];floatave;}st[10],s;intmain{FILE*fp,*fp1;inti,j,t,n;scanf(“%s“,s.num);printf(“name:“);scanf(“%s“,);scanf(“%d,%d,%d“,&s.score[0],&s.score[1],&s.score[2]);s.ave=(s.score[0]+s.score[1]+s.score[2])/3.0;//從文件讀數(shù)據(jù)if((fp=fopen(“stu_sort“,“r“))==NULL){printf(“cannotopenfile.“);exit(0);}printf(“originaldata:\n“);for(i=0;fread(&st[i],sizeof(structstudent),1,fp)!=0;i++){printf(“\n%8s%8s“,st[i].num,st[i].name);for(j=0;j<3;j++)printf(“%8d“,st[i].score[j]);printf(“%10.2f“,st[i].ave);}n=i;for(t=0;st[t].ave>s.ave&&t<n;t++);//向文件寫(xiě)數(shù)據(jù)printf(“\nNow:\n“);fp1=fopen(“sort1.dat“,“w“);for(i=0i<ti++){fwrite(&st[i],sizeof(structstudent),1,fp1);printf(“\n%8s%8s“,st[i].num,st[i].name);for(j=0;j<3;j++)printf(“%8d“,st[i].score[j]);printf(“%10.2f“,st[i].ave);}fwrite(&s,sizeof(structstudent),1,fp1);printf(“\n%8s%7s%7d%7d%7d%10.2f“,s.num,,s.score[0],s.score[1],s.score[2],s.ave);for(i=t;i<n;i++){fwrite(&st[i],sizeof(structstudent),1,fp1);printf(“\n%8s%8s“,st[i].num,st[i].name);for(j=0;j<3;j++)printf(“%8d“,st[i].score[j]);printf(“%10.2f“,st[i].ave
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文具企業(yè)競(jìng)爭(zhēng)力分析與提升策略考核試卷
- 搬家行業(yè)節(jié)能減排與綠色物流考核試卷
- 期貨市場(chǎng)交易風(fēng)險(xiǎn)監(jiān)測(cè)與預(yù)警考核試卷
- 小學(xué)生抗旱主題班會(huì)課件
- 客廳家具批發(fā)考核試卷
- 工業(yè)氣體批發(fā)考核試卷
- 2023視頻監(jiān)控及火災(zāi)報(bào)警系統(tǒng)施工作業(yè)指導(dǎo)書(shū)
- 上海建房合同范本
- 空調(diào)技術(shù)入股合同范本
- 汽修門(mén)頭合作合同范本
- 中石化YC分公司易捷便利店市場(chǎng)營(yíng)銷(xiāo)策略研究
- 2023年江蘇省泰州市高職單招數(shù)學(xué)摸底卷五(含答案)
- 醫(yī)院護(hù)理培訓(xùn)課件:《病區(qū)環(huán)境管理查房》
- 《小羊和蝴蝶》繪本故事
- 鋼筋工理論考試題庫(kù)及答案
- 歷史文獻(xiàn)學(xué)之文獻(xiàn)??苯o09歷史開(kāi)第二章
- 大數(shù)據(jù)技術(shù)基礎(chǔ)及應(yīng)用教程(Linux+Hadoop+Spark) 習(xí)題答案
- 鑄造廠重要危險(xiǎn)源清單
- 旅游法概述課件
- 高等數(shù)學(xué)(新標(biāo)準(zhǔn)教材)高職PPT完整全套教學(xué)課件
- 人教A版選擇性6.2.1排列6.2.2排列數(shù)課件(20張)
評(píng)論
0/150
提交評(píng)論