河南科技大学C语言课程设计设计报告(含源代码)_第1页
河南科技大学C语言课程设计设计报告(含源代码)_第2页
河南科技大学C语言课程设计设计报告(含源代码)_第3页
河南科技大学C语言课程设计设计报告(含源代码)_第4页
河南科技大学C语言课程设计设计报告(含源代码)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

本文格式为Word版,下载可任意编辑——河南科技大学C语言课程设计设计报告(含源代码)设计报告

学院:电子信息工程学院班级:自动化101班姓名:高贤哲学号:10104010104

一、综合训练的任务及要求

任务:C语言综合训练是为了提高学生综合使用本学期我们所学的C语言知识编写大

型程序的能力,了解大型程序设计的开发步骤,以上机为主,每个学生依照要求使用C语言设计一个大型程序,并提供相关的设计文档和源程序,从网站提交。

要求:已知在磁盘上有一个文本文件(stuin.txt),此文件存放了一组学生的成绩信息,

依照如下格式存放:

1001stuname1891002stuname2781003stuname360??

1100stuname10087请依照如下要求编写程序:

a.定义一个结构体类型数组,结构体类型含有学号、姓名和成绩三个域;b.将文本文件的内容读入到结构体数组中;

c.显示成绩最高的人的学号、姓名和成绩(假使有一致的人要全部显示);d.显示平均成绩、高于、低于和等于平均成绩的人数;

e.显示成绩为优秀(90~100)、良好(80~89)、中等(70~79)、及格(60~

69)、不及格(0~59)的人数和所占百比分;f.将以上显示的信息存放到stuout.txt文件中。

二、程序实现的功能、算法描述和程序实现的流程图

程序的功能:

a.将指定文本文件的内容读入到程序定义的结构体数组中;

b.显示成绩最高的人的学号、姓名和成绩(假使有一致的人全部显示);c.显示平均成绩、高于、低于和等于平均成绩的人数;

d.显示成绩为优秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、

第1页,共16页

设计报告

不及格(0~59)的人数和所占百分比;e.将以上显示的信息存放到指定文件中。算法描述:

S1:定义一个结构体类型structstudent数组student[100],结构体类型struct

student含有intnum、charname[20]、floatscore三个域;定义全局整型变量i,score_max,sum,more_than,equal,less_than,A,B,C,D,E;定义全局浮点型变量aveS2:以〞r〞的方式开启文本文件stuin.txt

S3:将文本文件stuin.txt的内容读入到结构体数组student[100]中S4:score_max=student[0].scoreS5:i=1

S6:若student[i].score>score_max执行S7;否则,执行S8S7:score_max=student[i].scoreS8:i=i+1

S9:若iave执行S23;否则,执行S24S23:more_than=more_than+1,执行S27

S24:若student[i].score=ave执行S25;否则,执行S26S25:equal=equal+1,执行S27S26:less_than=less_than+1S27:i=i+1

S28:若iscore_max是score_max=student[i].scorei=i+1输出“取得最高成绩的学生的信息:〞到屏幕i=0否i

设计报告

三、程序的调试

调试过程中遇到fread函数使用错误,导致文件读取失败。后改用fscanf函数,解决了文件读取问题。

变量的运用出现了一些问题。最终把多个函数需要用到的需要保存原值的变量设为了全局变量。

四、课程设计总结与体会

通过这次课程设计,我对循环结构控制、函数调用、结构体、文件操作更加熟悉,对C语言程序设计有了更加深入的认识,锻炼了编写大型程序的能力,了解了大型程序设计的开发步骤。

C语言主体应是由函数调用构成的,应尽可能把相对独立的功能单独用一个函数来编写,这样可以提高程序的可读性,也能降低编写大型程序的难度,减少编程出错的可能性。

第11页,共16页

设计报告

源代码:#includestructstudent{

intnum;charname[11];intscore;

}student[100];

inti,score_max,sum,more_than,equal,less_than,A,B,C,D,E;floatave;

voidmax(){}

voidsave_max(){

第12页,共16页

voidsave_max();

score_max=student[0].score;for(i=0;iscore_max)

score_max=student[i].score;

printf(\取得最高成绩的学生的信息:\\n\for(i=0;iave)

more_than++;

elseif(student[i].score==ave)

equal++;

elseless_than++;

FILE*fp2;

fp2=fopen(\

fprintf(fp2,\高于平均成绩的学生人数:%d\\n\fprintf(fp2,\等于平均成绩的学生人数:%d\\n\fprintf(fp2,\低于平均成绩的学生人数:%d\\n\\n\fclose(fp2);

设计报告

voidrank(){}

voidsave_rank(){

voidsave_rank();A=B=C=D=E=0;for(i=0;i=90)

elseif((student[i].score>=80)

elseif((student[i].score>=70)

elseif((student[i].score>=60)

elseE++;

FILE*fp2;

fp2=fopen(\

fprintf(fp2,\取得“优秀〞的学生人数:%d\\t%.1f%%\\n\

第15页,共16页

设计报告

}

fprintf(fp2,\取得“良好〞的学生人数:%d\\t%.1f%%\\n\fprintf(fp2,\取得“中等〞的学生人数:%d\\t%.1f%%\\n\fprintf(fp2,\取得“及格〞的学生人数:%d\\t%.

温馨提示

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

评论

0/150

提交评论