预览加载中,请您耐心等待几秒...
1/2
2/2
在线预览结束,喜欢就下载吧,查找使用更方便
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
程序设计基础实训-单元实验报告学号-姓名学号:13121228姓名:黄雯实验时间2013年10月19日诚信声明实验题目与实验目的实验题目:1.用随机函数产生1000个整数(或浮点数),保存在文件(intfile.dat)中,然后将文件中的数据读取出来显示。2.建立一个由5名学生信息组成的文件(studinfo.dat),其中,每个学生都有学号、姓名、性别和三门课程的成绩。实验目的:1.回顾C语言中文件相关的知识,如C程序中进行文件操作常用的函数原型,并且能够熟练的使用;2.掌握C语言中对于文件的使用,包括与文件相关的几个函数,学会使用文件以减少在程序中输入数据的时间;3.能够熟练地将文件和程序相结合。实验过程中遇到的主要问题1.没有掌握进行文件操作常用的函数原型的方法;2。分析问题不全面,编写代码出现逻辑上的错误;3.粗心,将基本的代码打错;4.调试程序时,程序对测试数据不满足。实验小结通过该实验,我对C语言程序中的文件操作更加熟练,在实验中遇到的问题已经学会如何找到解决的方案,在实验中学会更加细心,学会全面思考问题。数据结构(自定义数据类型)FILE*fp(文件指针),typedefstruct(结构体变量及数组){charname[3];charnum;intsex;intmath[3];intPE[3];intChinese[3];}STUDENT;STUDENTstudinfo[100];主要算法判断文件是否存在:fp=fopen("F:\\text\\intfile.dat","w(wb/rb)");if(fp==NULL){printf("openthefileerror");exit(0);}1.while(i<1000)(随机产生1000个整数并格式化写到文件中){a=rand();printf("%8d",a);fprintf(fp,"%8d",a);i++;}printf("\n");fclose(fp);while(!feof(in))(将文件的数据格式化读入){fscanf(in,"%8d",&a);}fclose(in);fseek(out,72L,SEEK_SET);(找到第五位整数)fseek(out,-40L,SEEK_END);(找到倒数第五个整数)2.for(i=0;i<3;i++)(fwrite函数将数据写入文件中){scanf("%5s%5s",studinfo[i].name,studinfo[i].num);scanf("%d%3d%3d%3d",&studinfo[i].sex,&studinfo[i].math,&studinfo[i].PE,&studinfo[i].Chinese);}fwrite(studinfo,sizeof(STUDENT),i,fp);fclose(fp);while(!feof(in))(fread函数从文件中将数据显示在屏幕中){if(fread(&studinfo[i],sizeof(STUDENT),1,in)!=1)break;printf("%s%s",studinfo[i].name,studinfo[i].num);printf("%3d%3d%8d%8d",studinfo[i].sex,studinfo[i].math,studinfo[i].PE,studinfo[i].Chinese);printf("\n");i++;}fclose(in);