C 语言课程设计实验报告 一 问题描述:学生成绩统计软件 二 基本要求: 1)每条记录由学号、姓名、若干门课程的成绩组成; 2)能计算每个学生的总分和平均分并显示; 3)能按平均分统计各分数段的人数,并以分布图显示,如图; 4)再此基础上能够进行文件操作
三 系统分析与设计: 由于程序要求对文件进行操作,所以需要建立一个文件存储学生信息并且能从文件中读取并输出
学生信息从键盘输入,根据提示并以 ENTER 结束每条信息的输入
1 总体设计: 程序通过 main()函数调用两个模块函数来实现要求
两个模块分别是输入和计算的getdata 函数和输出图表的 putsgraph 函数
2 详细设计: 1)文件建立:因为要求对文件进行操作,所以首先建立一个文件存放学生的信息,用到 FILE文件指针,fp1=fopen(“file1”,”w +”); 2)学生的信息存放在结构体数组中,struct student_score s[N];并且通过 for 循环,调用子函数 getdata,从键盘接受学生信息并且计算总分和平均分,用 return 返回主函数,并用 fprintf写入文件中,用 rew ind 返回文件头,用 fscanf 读出信息并显示在屏幕上,统计各平均分段的人数,通过调用 putsgraph 输出图表
四 结构图: 主函数 五 流程图 getdata pu tsgraph 调用 返回 返回 调用 fp1=fopen(“file1”,”w +”); 开始 define N 5 #include #include struct student_score s[N] i=0 i