1、13处理简单的数据文件沈 阳 航 空 工 业 学 院 课程设计 学 号200604021113 班 级 6402104 姓 名 赵玉菲 指导教师 刘成2007年 9 月 16 日沈阳航空工业学院课程设计任务书院系:电子 专业:电子信息工程 班级:6402104学号:200604021113 题目:处理简单的数据文件一、课程设计时间2007年9月10日至2007年9月14日,共计1周,20学时。二、课程设计内容用C语言编写软件完成以下任务:已知一个文件(file08.dat,由指导教师提供)中有10个整型数据(每个整型数据为2个字节),请把这些数据读入到数组中,按照由小到大的顺序排列后,再写入到
2、另外一个文件myfile.dat中.三、课程设计要求:1. 程序质量: 贯彻结构化程序设计思想。 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。 用户界面中的菜单至少应包括“显示file08dat数据”、“生成myfile.dat文件”、“显示myfile.dat数据”、“退出”4项 代码应适当缩进,并给出必要的注释,以增强程序的可读性。2、课程说设计说明书课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师: 学生签名: 五、成绩:六、教师评语:目录一、需求分析 1二、程序流程图 2三、核心技术的实现说明及相应程序段.5
3、四、个人总结 6五、参考文献 7六、源程序 7一、需求分析本题多处运用到了指针和文件。先调用指定文件file08.dat中的数据,然后用起泡法对数据排序,最后把排列好的数据写入到新建文件myfile.dat中。经过对程序设计题目的分析可知,整个程序的设计实现大致分为四个模块,其中每一个模块对应一个函数,他们的功能分别是:调用、读入、生成、排序、写入、显示 1、调用 调用file08.dat的数据2、读入 将file08.dat的数据读入到数组中3、生成 生成myfile.dat文件4、排序 将file08.dat中的数据按由小到大的顺序排序5、写入 将排好顺序的数据写入到文件myfile.da
4、t中6、显示 显示myfile.dat文件的数据二、程序流程图1、程序总体结构图图1 程序总体结构图2、具体功能函数流程图(1).void input1() Int i=0、*fp fp=fopen(c:file08.dat,rb) 当i10; 输出FILE08数据 fclose(fp) 图2 显示数据(2).void chang1() 图3 起泡法排序(3).void output3() Int i、*fp fp=fopen(myfile.dat,rb+) 当i10输出数据到 myfile.dat printf(%dn,numi.n) fclose(fp)图4 新建、写入、显示数据 三、核心
5、技术的实现说明及相应程序段本程序主要由三个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。三个自定义函数分别用来完成三个任务:打开文件file08.dat并显示其中的数据;将file08.dat中的数据用起泡法按由小到大的顺序排序; 新建文件myfile.dat,并将排列好的数据写入文件中,显示数据。1、打开文件file08.dat并显示其中的数据void input1() int i; FILE *fp; fp=fopen(c:file08.dat,rb); for(i=0;i10;i+) fread(&numi,2,1,fp); for(i=0;i10;
6、i+) printf(%dn,numi.n); fclose(fp);2、将file08.dat中的数据用起泡法按由小到大的顺序排列void chang1() int i=0,t,j; for(j=1;j10;j+) for(i=0;inumi+1.n) t=numi.n; numi.n=numi+1.n; numi+1.n=t; 3、新建myfile.dat文件并将排列好的数据写入文件中,显示数据void output3() int i; FILE *fp; fp=fopen(myfile.dat,rb+); for(i=0;i10;i+) fwrite(&numi,2,1,fp); for
7、(i=0;i10;i+) printf(%dn,numi.n); fclose(fp);四个人总结之前对C语言很不了解,总以为是我不能掌握的.经过上学期的学习,我觉得并不是不能掌握,通过这一段时间的认真研究,我了解到C语言真的很深奥,要很好的掌握真的不好似件容易的事.这次课程设计考察了多方面的知识,比如文件和指针。在刚看这道题时,不知怎么办。经过对题目的分析,也渐渐有了思路。由于对文件那一章的知识学得不太牢固,此程序又要用到文件的打开,读写数据,我又翻开课本,看得还不是太明白,又请教了别的同学,最终顺利完成了课程设计。这次课程任务设计,使我熟练掌握知识的同时还增强了我的实际动手的能力,检验了我
8、将所学知识应用于实践的能力,使我受益匪浅。五、参考文献1 谭浩强C程序设计北京:清华大学出版社,20052 刘成等C语言程序设计实验指导与习题集北京:中国铁道出版社,200六、源程序 #include stdio.h#include stdlib.h#include string.hstruct number int n; num10;void input1() int i; FILE *fp; fp=fopen(c:file08.dat,rb); for(i=0;i10;i+) fread(&numi,2,1,fp); for(i=0;i10;i+) printf(%dn,numi.n);
9、fclose(fp);void chang1() int i=0,t,j; for(j=1;j10;j+) for(i=0;inumi+1.n) t=numi.n; numi.n=numi+1.n; numi+1.n=t; void output3() int i; FILE *fp; fp=fopen(myfile.dat,rb+); for(i=0;i10;i+) fwrite(&num i,2,1,fp); for(i=0;i10;i+) printf(%dn,numi.n);fclose(fp); void main() int x; while(1) printf(1 xianshi file08.dat shujun); printf(2 shengcheng myfile.dat wenjiann); printf(3 xianshi myfile.dat wenjiann); printf(4 tuichun); printf(shuru xiang yao de shuzin); scanf(%d,&x); switch(x) case 1: input1();break; case 2: chang1();break; case 3: output3() ;break; case 4: exit(0);
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2