C语言课程设计实验报告-学生成绩统计软件 .pdf
第1页共8页
C语言课程设计实验报告
一问题描述:
编辑一个学生成绩统计软件
二基本要求:
I
II
1)每条记录由学号、姓名、若干门课程的成绩组成;IIII
2)能计算每个学生的总分和平均分并显示;IIIII
IIIII
3)能按平均分统计各分数段的人数,并以分布图显示,如右
60708090≤100
图所示。
4)在此基础上,可进行文件操作。
三系统分析和设计
函数的设计,其最终目的是要实现所需要的功能。本例中,是用main函
数调用两个子函数来实现的!
1)文件的建立:
要想实现对学生成绩的统计,首先要建立一个文件用来存放学生信息,要用
到FILE文件指针。fp1=fopen(c:\\turboc2\\file1.rec,w+);
2)程序的设计:
学生的信息放在结构体数组structstudent_scores[N]中。
通过for循环,调用子函数getdata,从键盘接收学生信息(num,name,
score[0],score[1],score[2],score[3]),并计算总分与平均分,返回学生信息returnst
到调用处。用fprintf函数向文件中逐一写入学生的信息,通过rewend(fp1)函数
使文件指针回到文件头,用fscanf读学生信息,并显示在屏幕上。同时根据所读
学生信息,统计各分数段的人数s1++,s2++,s3++,s4++,s5++,然后调用一个子函
数putsgraph用来输出图表!
四结构图
主函数
调用调用
返回返回
structstudent_scoregetdata(structintputsgraph(intsa,intsb,int
student_scorest,intx)sc,intsd,intse)
五流程图:
(背面)
第2页共8页
#defineN5fp1=fopen(,
开始#include”stdio.h”w+);c:\\turboc2\\file1.rec
#include”stdlib.h
structstudent_scores[N]
i=0
真
iNs[i]=getdata(s[i],i);
从键盘输入学生信息并计算总分与平均分
假