C语言课程设计实习报告
班 级:
学生姓名:
学 号:
指导老师:
日 期:
目 录
一、程序分析与设计1
二、流程图1
三、源程序清单6
四、调试过程10
五、程序有待改进的地方10
六、本次实习的收获和建议11
附录11
程序分析与设计
1、先用记事本编辑文件stu.txt存储一个班学习成绩。然后在C环境下,建立一个学生信息的结构体,用r方式打开上述文件,再用fscanf读入、用printf在屏幕上显示文件内容。
2、利用循环使每个学生的三门功课的成绩相加,然后再把和除以三就得到了平均成绩。将每个学生的平均成绩与其他学生进行比较排出名次。最后用fprintf将每个学生的信息写入到stu1.txt文件。
3、用for循环使全班同学的英语成绩相加,然后再把和除以总人数,得到全班英语平均成绩,类似的可以求出全班同学的C语言和数学的平均成绩。
4、用if语句各for循环求出各分数段的人数,并统计结果写入文件中。用fprintf将各分数段的统计结果及各门的平均成绩写入stu1.txt文件中。
5、编写一个函数用for循环在屏幕上逐个打印出所有学生的成绩条。
6、用for循环对每个学生用if语句进行判断是否有不及格的科目,如果有就打打出该学生的学号和姓名,再用if语句判断各科是否不及格,如果不及格就打出该不及格科目的名称和分数。
7、用for循环对每个学生用if语句进行判断该学生的各科成绩、平均分以及排名是否满足优等生的条件,如果满足就打出该学生的学号、姓名、各科成绩、平均分及在班级的排名。
图1 程序结构层次图
二、流程图
void readFromTxtFile() void writeToTxtFile()
开始
定义文件
指针
Y N
判断
是否
为空
定义变量进行循环
N
Y
j 读取数据
关闭文件
图2 读文件函数流程图
void CalculateAverageScore();
图3 写文件函数流程图
定义变量进行循环
求出总分
总分除以总人数得平均分
图4 计算三科平均分的函数流程图
void CalculateAverageScoreOfEveryCourse();
打开文件
定义变量进行循环
求出每人的总分
总分除以3得平均分
平均分写入文件
图5 计算全班每科平均分并写入文件的函数流程图
void CalculateScoreOfBank();
打开文件
统计各分数段人数
结果写入文件中
图6 统计全班学生的各分数段的人数的函数流程图
void RankEveryStudent();
定义两个变量进行循环
将一个人的平均分与每一个人进行比较,得出排名
图7 按平均分对班级的每一位学生进行排名的函数流程图
void Print();
定义变量进行循环
逐个打印每个学生的成绩
图8 在屏幕上打印各学生的成绩条函数流程图
void PrintFailIformation();
定义变量进行循环
判断是否有不及格的课程
打出不及格学生的
信息
图9 在屏幕上打印不及格学生的信息流程图
void PrintExcellentStudent();
定义变量进行循环
判断是否满足优等生条件
并打出优等生
图10 打印优等生的信息的函数流程图
三、源程序清单
#include
#include
#define SIZE 1