资源描述:
《文件程序设计 实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验十一文件程序设计班级:学号:姓名:评分:一.【实验目的】1、掌握文件的基本概念。2、掌握文本文件的打开和关闭操作。3、掌握文本文件的顺序读、写方法。4、进一步掌握C程序的调试方法和技巧。二.【实验内容和步骤】1、程序调试题A.目标:进一步学习掌握程序调试的方法和技巧。B.内容:参照《实验指导》教材P107“1.调试示例”,从键盘输入一行字符,写入到文本文件a.txt中。改正程序中的错误,使其实现程序的功能。(注:程序文件保存在“调试示例”文件夹中,文件名为error11_1.cpp)①调试正确的源程序清单、#
2、include#includeintmain(void){charch;FILE*fp;if((fp=fopen("a.txt","w"))==NULL){printf("Con'tOpenFile!");exit(0);}while((ch=getchar())!='')fputc(ch,fp);fclose(fp);return0;}②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。2、完善程序,并调试运行程序题目(1)统计字母、数字和字符。程序功能:统计一个文本
3、文件中字母、数字及其他字符各有多少个。(注:程序文件保存在“第1题”文件夹中)打开proj1.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include#includeintmain(void){intletter=0,digit=0,other=0;charch;FILE*fp;if((fp=fopen("a.txt","r"))==NULL){printf("Con'tOpenFile!");exit(0);}//请在两条星线之间填
4、入相应的代码,统计文本文件a.txt中的字母、数字及其他字符数。/****************************************************************************/while(!feof(fp)){fscanf(fp,"%c",&ch);if(ch<='z'&&ch>='a'
5、
6、ch<='Z'&&ch>='A')letter++;elseif(ch<='9'&&ch>='0')digit++;elseother++;}/*******************
7、*********************************************************///输出统计结果printf("Thenumberofletteris%d.",letter);printf("Thenumberofdigitis%d.",digit);printf("Thenumberofotheris%d.",other);return0;}①运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。题目(2)比较文件。程序功能:编写一个程序,比较两个文本文件的内容是否
8、相同,若相同则输出“YES”,否则输出“NO”,并输出两个文件内容首次不同的行号和字符位置。(注:程序文件保存在“第2题”文件夹中)打开proj2.cpp文件,在两条星线之间填入相应的代码,使程序完成该功能。①调试正确的源程序清单#include#includeintmain(void){intline=1,position=1,flag=0;charch1,ch2;FILE*fp1,*fp2;if((fp1=fopen("a1.txt","r"))==NULL
9、
10、(fp2=
11、fopen("a2.txt","r"))==NULL){printf("Con'tOpenFile!");exit(0);}//请在两条星线之间填入相应的代码,比较两个文本文件的内容是否相同,并设置flag值。/*****************************************************************************/while(!feof(fp1)
12、
13、!feof(fp2)){ch1=fgetc(fp1);ch2=fgetc(fp2);position++;if(c
14、h1=='')line++;if(ch1!=ch2){flag=1;break;}}/*****************************************************************************///根据flag值,输出比较结果。if(flag==1)printf("NO,thedifferencepositionbetw