关联两个中的数据.doc_第1页
关联两个中的数据.doc_第2页
关联两个中的数据.doc_第3页
关联两个中的数据.doc_第4页
关联两个中的数据.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沈 阳 航 空 工 业 学 院 课程设计学 号200704072018班 级 7407201姓 名 孙九峰指导教师 刘 成2008年 6 月 26 日沈阳航空工业学院课程设计任务书系:自动化学院 专业:自动化 班级:7407201学号:200704072018题目:关联两个文件中的数据一、课程设计时间200708第2学期第17周,即6月2327日,共计1周,20学时。二、课程设计内容用C语言编写软件完成以下任务:设有两个文件(教师提供):file07_1.txt,file07_2.txt。file07_1.txt中存储着学生名单,每位学生有学号、姓名2项内容;file07_2.txt存储着学生成绩,每位学生有学号、数学成绩、英语成绩3项内容。可见,学号是2个文件的共有的数据。请按照一定顺序在用户屏幕显示所有同学的学号、姓名、数学成绩、英语成绩4项内容。三、课程设计要求程序质量: 贯彻结构化的程序设计思想。 用户界面友好,功能明确,操作方便。 用户界面中的菜单至少应包括“显示file07_1.txt”、“file07_2.txt”、“全部显示”、 “退出”4项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书: 课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩六、教师评语沈 阳 航 院 设 计 用 纸目录一、需求分析1二、程序流程图2三、核心技术的实现说明及相应程序段4四、个人总结6五、运行截图6五、参考文献8六、源程序9一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为三个模块,其中每一个模块对应一个函数,他们的功能分别是:显示文件file07_1.txt函数,显示文件file07_2.txt函数,全部显示函数。其中我认为最主要的是对文件的读取,以及将文件内的数据按要求显示在界面上。文件中包括学生的姓名,学号,数学成绩,英语成绩,因此在读取文件时要建立结构体,将所要显示的内容定义为结构体,而在读取文件时要用到fopen和fscanf这两个函数,掌握了以上两点我认为写出这个程序就简单了。除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。二、程序流程图1、程序总体结构图:询问界面,选择操作 退出程序执行 part 1执行 part 2执行 part 3执行 part 4( 退出程序)用FILE* fp=fopen()语句完成读取.2、具体功能框图:(1)显示文件file07_1函数part1():是 是否能打开 否打开文件退出读取文件中的数据显示在界面上关闭文件(2)显示文件file07_2函数part2() (同上)(3)全部显示函数part3():是 文件1是否能打开 否是 文件2是否能打开 否退出打开两个文件退出分别读取两个文件除去相同的部分,将其余部分都显示在截面上关闭文件三、核心技术的实现说明及相应程序段本程序主要由三个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其它函数来实现要求的所有功能。在这些函数当中,对文件中数据的读取是核心内容。尤其要注意文件中的数据格式为结构体,因此定义时要注意,还有就是文件的读取,要将文件先打开,再读出数据,并显示在屏幕上。下面分别进行说明。1显示文件file07_1函数 先判断文件能否打开,将所要显示的内容定义为结构体,读取再打印,具体程序如下:void part1() FILE *fp; int i;system(cls); if(fp=fopen(E:file07_1.txt,rb)=NULL) printf(无 法 打 开 文 件n); for(i=0;i8;i+) fscanf(fp,%s%s,&stui.size,&); printf(n %s %sn,stui.size,&); if(feof(fp) break;2显示文件file07_2函数(同上)3全部显示函数判断两个文件是否能打开,将所要显示的内容定义为结构体,分别读取,除去相同的部分打印,具体程序如下:void part3()system(cls);menu(); FILE *fp1,*fp2; int i; system(cls); if(fp1=fopen(E:file07_1.txt,rb)=NULL)printf(无 法 打 开 文 件n); if(fp2=fopen(E:file07_2.txt,rb)=NULL)printf(无 法 打 开 文 件n); for(i=0;i8;i+) fscanf(fp1,%s%s,&stui.size,&); fscanf(fp2,%s%d%d,&stui.size,&stui.math,&stui.english); printf(n %10s %10s%5d%5dn,,stui.size,stui.math,stui.english); if(feof(fp1)|feof(fp2) break;四、个人总结在课程设计过程中,我懂得怎幺样去制定计划,怎幺样去实现这个计划,不断地克服制作中的种种困难,并掌握了在执行过程中怎幺样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明。在本次实践中,给我印象最为深刻的是在关联两个文件中数据程序的编译过程中,先前我的各个子程序都已经编辑成功,那幺这最后的程序就将是我成功的关键。在未来的日子里我们还要继续与C语言这个我们刚刚接触到的新事物打交道,我知道未来的路还很漫长。以后我们还要接触更多的计算机语言,知识的海洋是无边无际的,我相信在老师的引导下我定会自由遨游,事物是向前发展的,不久的将来期望也希望我能成为中国IT业的精英,而我所学的专业也正是与计算机息息相关的,深知他的重要性,也希望在未来的日子里老师这个引路人能带我走向更加灿烂的远方。五、运行截图1开始菜单2显示file07_13. 显示file07_24.全部显示五、参考文献1 谭浩强 着 C语言程序设计 清华大学出版社, 20052 刘成等 着C语言程序设计实验指导与习题集中国铁道出版社,2006六、源程序#include stdio.h #include conio.h#include stdlib.hstruct student char size20; char name10; int math; int english;stu8;void menu() printf( n n);printf(n - ); printf(n - n); puts( n 1.显示 file07_1.txt);puts( n 2.显示 file07_2.txt);puts( n 3.显示 file07_1.txt, file07_2.txt);puts( n 4.退出n); printf(n - ); printf(n - n);printf(n 程序功能:关联两个文件中的数据n );void part1() FILE *fp; int i;system(cls); if(fp=fopen(E:file07_1.txt,rb)=NULL) printf(无 法 打 开 文 件n); for(i=0;i8;i+) fscanf(fp,%s%s,&stui.size,&); printf(n %s %sn,stui.size,&); if(feof(fp) break;void part2() system(cls); menu(); FILE *fp; int i; system(cls);if(fp=fopen(E:file07_2.txt,rb)=NULL) printf(无 法 打 开 文 件n); for(i=0;i8;i+) fscanf(fp,%s%d%d,&stui.size,&stui.math,&stui.english); printf(n %s %d %dn,stui.size,stui.math,stui.english); if(feof(fp) break; void part3()system(cls);menu(); FILE *fp1,*fp2; int i; system(cls); if(fp1=fopen(E:file07_1.txt,rb)=NULL)printf(无 法 打 开 文 件n); if(fp2=fopen(E:file07_2.txt,rb)=NULL)printf(无 法 打 开 文 件n); for(i=0;i8;i+) fscanf(fp1,%s%s,&stui.size,&); fscanf(fp2,%s%d%d,&stui.size,&stui.math,&stui.english); printf(n %10s %10s%5d%5dn,,stui.size,stui.math,stui.english); if(feof(fp1)|feof(fp2) break;void part4()s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论