长江大学c语言课程设计
分析设计与说明
分别建立三个数据文件
文件1(lailong1.txt) 将本班30名学生在本学期的5门课程成绩录入到这个文件;
文件2(lailong2.txt)将学生的基本信息按如下形式存入这个文件中;
文件3(lailong3.txt)将本学期的5门课程及学分输入到这个文件中。
程序设计思想
(1)学生成绩管理系统
1、读入原始数据并显示;
2、编写函数用于计算平均分及名次;
每个学生各科分数乘以相应的学分并相加除以学分总和;先令每个学生的名次都
是1,在把一个学生的加权平均分与其他的所有学生的进行比较,遇到一个比
该学生平均分高的,该学生的名次加1。循环依次得出全班人的名次;并将这种结果输出到文本文件lailong4.txt;
3、编写函数计算课程平均分和分数段人数;
先令每一个分数段(>=90;>=80;>=70;>=60;<60)的人数都是0,然后利用循环结
构,遇到一个在某个分数段的成绩,那个分数段的计数变量加1,最后可得每门
科目每个分数段人数;最后存在文本文件lailong5.txt;
4、编写函数计算男生和女生课程平均成绩;
分别将男生女生的各科平均分加,然后除以人数即可;最后存在文本文件lailong6.txt;
5、编写函数加入统计不及格情况;包括:学号、姓名、性别、不及格课程名称、课程学分及成绩,结果存放在文件lailong7.txt;
6、编写函数输出优秀学生;
1.平均分≥90;2.名次在本班前三名;3.平均分≥85,并且至少有一门课的成绩为95分;4平均分≥85,并且至少有二门课的成绩为≥90分。将上述条件作为逻辑或的判别式,找到符合条件的所有学生,输出并同时存放到lailong8.txt中;
7.编写函数输出优秀学生干部;
1.平均分≥85 2. 名次在本班前20%名
3.平均分≥80,并且至少有一门课的成绩为≥95分
4.平均分≥80,并且至少有二门课的成绩为≥90分
将上述条件作为逻辑或的判别式,找到符合条件的所有学生,输出并同时存放到lailong9.txt中;
(3)组成大字符
编程实现如下功能:从键盘上输入一个0~99的数字,则屏幕上显示由数字组成的大字符;
程序实现功能
1)学生成绩管理系统
1.原始数据查看见文件(lailong1.txt&& lailong2.txt&& lailong3.txt);
2.平均分及名次查看文件(lailong4.txt);
3.课程平均分和分数段人数查看文件(lailong5.txt);
4.男生和女生课程平均成绩查看文件(lailong6.txt);
5.统计不及格情况查看文件(lailong7.txt);
6.输出优秀学生情况查看文件(lailong8.txt);
7.输出优秀学生情况查看文件(lailong9.txt);
8.退出;
2) 组成大字符
1.运行
2.返回上级菜单
(3).程序框图
主菜单功能模块图
一级菜单结构图
四.源程序清单
#include
#include
#include
#include
# define SIZE1 33
# define SIZE2 7
# define PI 3.14159
struct student_grade //学生成绩
{
int num; //学号
char name[10]; //姓名
float grd[7]; //成绩
float ave;//加权平均分
int mc; //名次
}gd[SIZE1],k; //结构体数组长度为全班人数
struct student_info //学生信息
{
int num; //学号
char name[10];