




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈 阳 航 空 工 业 学 院 课程设计 学 号200704061252 班 级 7406108 姓 名 陈军 指导教师 李飞 2009年6月5日沈 阳 航 院 设 计 用 纸沈阳航空工业学院课程设计任务书院系:机电工程学院 专业:机械电子工程 班级:7406108学号:200704061252 题目:处理简单的数据文件一、课程设计时间2009年6月1日至2009年6月5日,共计1周,20学时。二、课程设计内容用C语言编写软件完成以下任务:已知一个文件(file08.dat,由指导教师提供)中有10个整型数据(每个整型数据为2个字节),请把这些数据读入到数组中,按照由小到大的顺序排列后,再写入
2、到另外一个文件myfile.dat中.三、课程设计要求:1. 程序质量:² 贯彻结构化程序设计思想。² 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。² 用户界面中的菜单至少应包括“显示file08dat数据”、“生成myfile.dat文件”、“显示myfile.dat数据”、“退出”4项² 代码应适当缩进,并给出必要的注释,以增强程序的可读性。2、课程说设计说明书课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师: 学生签名: 五、成绩:六、教师评语:目录一、需求分析1二、程序
3、流程图2三、核心技术的实现说明及相应程序段.5四、个人总结7五、参考文献8六、源程序8II沈 阳 航 院 设 计 用 纸一、需求分析本题多处运用到了指针和文件。先调用指定文件file08.dat中的数据,然后用起泡法对数据排序,最后把排列好的数据写入到新建文件myfile.dat中。经过对程序设计题目的分析可知,整个程序的设计实现大致分为四个模块,其中每一个模块对应一个函数,他们的功能分别是:调用、读入、生成、排序、写入、显示 1、调用 调用file08.dat的数据2、读入 将file08.dat的数据读入到数组中3、生成 生成myfile.dat文件4、排序 将file08.dat中的数据
4、按由小到大的顺序排序5、写入 将排好顺序的数据写入到文件myfile.dat中6、显示 显示myfile.dat文件的数据二、程序流程图1、 程序总体结构图: 图1.程序总体结构图2、具体功能函数流程图(1).void reads() FILE *fp int i=0 fp=fopen("d:file08.dat","rb") 当i<10; 输出FILE08数据 fclose(fp) 图2 显示数据(2).void chang() 图3 起泡法排序(3).void output3() Int i、*fp fp=fopen("myfile.
5、dat","rb+") 当i<10输出数据到 myfile.dat printf("%dn",numi.n) fclose(fp)图4 新建、写入、显示数据三、核心技术的实现说明及相应程序段本程序主要由三个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。三个自定义函数分别用来完成三个任务:打开文件file08.dat并显示其中的数据;将file08.dat中的数据用起泡法按由小到大的顺序排序; 新建文件myfile.dat,并将排列好的数据写入文件中,显示数据。1、打开文件file08.dat并显示其中
6、的数据void reads() FILE *fp; int i=0; if(fp=fopen("d:file08.dat","rb")=NULL) printf("文件打开失败!n"); return; else for(i=0;i<10;i+) fread(&datai,2,1,fp); for(i=0;i<10;i+)printf("%dn",datai); fclose(fp); 2、将file08.dat中的数据用起泡法按由小到大的顺序排列void change() int i=0,t,
7、j; for(j=1;j<10;j+) for(i=0;i<10-j;i+) if(datai>datai+1) t=datai; datai=datai+1; datai+1=t; 3、新建myfile.dat文件并将排列好的数据写入文件中,显示数据void output() /*显示myfile文件数据*/FILE *fp; int i; fp=fopen("myfile.dat","w+"); for(i=0;i<10;i+)fwrite(&data i,2,1,fp); for(i=0;i<10;i+)pri
8、ntf("%dn",datai);fclose(fp);四个人总结这次课程设计考察了多方面的知识,比如文件和指针。在刚看这道题时,不知怎么办。经过对题目的分析,也渐渐有了思路。由于对文件那一章的知识学得不太牢固,此程序又要用到文件的打开,读写数据,我又翻开课本,看得还不是太明白,又请教了别的同学,最终顺利完成了课程设计。之前对C语言很不了解,总以为是我不能掌握的.经过上学期的学习,我觉得并不是不能掌握,通过这一段时间的认真研究,我了解到C语言真的很深奥,要很好的掌握真的不好似件容易的事.这次课程任务设计,使我熟练掌握知识的同时还增强了我的实际动手的能力,检验了我将所学知识应
9、用于实践的能力,使我受益匪浅。五、参考文献1 谭浩强C程序设计北京:清华大学出版社,20052 刘成等C语言程序设计实验指导与习题集北京:中国铁道出版社,2007六、源程序 #include<stdio.h>#include<stdlib.h>#include<string.h> int data10; /*定义整型数组data*/void menu(); /*menu等函数的声明部分*/void reads();void change();void output();void main() /*定义主函数*/ int n; /*while循环执行*/ wh
10、ile(1) menu(); printf("n 请输入您要选择的操作序号,按回车键确认:"); scanf("%d",&n); switch(n) /*利用switch语句实现多分支选择语句并调用函数*/ case 1: reads();break; case 2: change();break; case 3: output();break; case 4: exit(0); default: printf("输入错误,请输入显示的序列号!n "); return;void menu() /*登陆界面的菜单及操作提示*/p
11、rintf(" * 欢*迎*使*用*数*据*文*件*处*理*程*序*"); printf("n 1 *显示file08.dat数据*"); printf("n 2 *生成myfile.dat文件*"); printf("n 3 *显示myfile.dat文件*"); printf("n 4 *退出*");void reads() /*读取文件数据函数*/ FILE *fp; /*定义指针变量*/ int i=0; if(fp=fopen("d:file08.dat",&quo
12、t;rb")=NULL)/*打开d盘下文件名为“file08”的文件,打开方式为只读*/ printf("文件打开失败!n"); return; else for(i=0;i<10;i+) /*for循环将文件中的数据存储到名为data的数组中*/fread(&datai,2,1,fp); for(i=0;i<10;i+)printf("%dn",datai); /*运用循环显示数组中的数据*/ fclose(fp); /*关闭文件*/void change() /*转换函数*/ int i=0,t,j; for(j=1;j<10;j+) /*利用冒泡法对数据进行有小到大的排序*/ for(i=0;i<10-j;i+) if(datai>datai+1) t=datai; /*利用中间变量进行数据的交换*/ datai=datai+1; datai+1=t; void outp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 路边砍树协议书范本
- 退房合同收据和订购协议
- 轻质砖合同协议
- 煤渣处理协议书
- 软件实施补充合同协议
- 木材合股协议书
- 进口水果批发合同协议
- 个人邮箱服务授权协议
- 技术专利权转让服务合同
- 建筑工程招投标与合同管理作业
- 企业生产计划与安全管理的协同策略研究
- 《哺乳动物尿酸酶重组构建筛选及Cys残基结构功能研究》
- 《货物运输实务》课件 7.2大件物品的运输组织
- 山东省烟台市2025届高三第二次模拟考试英语试卷含解析
- DB15T3644-2024 国有企业阳光采购规范
- 《中医经络学说》课件
- 2024年有偿服务协议书标准版
- 考点3 三角函数与解三角形 五年(2020-2024)高考数学真题专项分类汇编(含答案)
- 2019鲁教版高中地理选择性必修第二册《第二单元 不同类型区域的发展》大单元整体教学设计2020课标
- 2023年航空服务消费者调查报告
- 2024年国家图书馆招聘应届毕业生105人历年高频500题难、易错点模拟试题附带答案详解
评论
0/150
提交评论