C语言课程设计大作业——学生成绩管理系统详细(含实验报告内容)
写在前面:欢迎来到「发奋的小张」的博客。我是小张,一名普通的在校大学生。在学习之余,用博客来记录我学习过程中的点点滴滴,也希望我的博客能够更给同样热爱学习热爱技术的你们带来收获!希望大家多多关照,我们一起成长一起进步。也希望大家多多支持我鸭,喜欢我就给我一个关注吧!
一、设计的目的
1在编辑应用程序过程中,逐步加深对高级语言编程的理解,全面掌握《高级语言程序设计》关键知识点,掌握高级语言中数组、结构体等方面的知识。
2培养学生查阅文献、手册的自学能力,通过独立思考深入研究有关问题,懂得自己分析,自己解决问题的方法。
3加强实践能力,动手能力,同时进一步对所学知识进行巩固。
4加强高级语言的编程能力。
二、需求与功能分析
1)需求分析
学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言。教师可以通过成绩管理系统查阅学生成绩信息
根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理。开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。目前,学校工作繁杂、资料重多。目前,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。
2)功能分析
学生成绩管理系统包括4个模块:输入学生资料,输出学生资料,查找学生资料,修改学生资料。这4个模块既相互联系又相互独立。
本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以方便对成绩的各项管理操作。本系统能对成绩进行输入和输出;能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的学号来查询该学生的成绩资料,并修改该学生信息;
三、软件运行环境及设计内容等
主要功能:
1、录入学生信息
主函数调用添加函数,系统提示输入学期、学生姓名、班级、四门课程成绩、学号。输入后将出现提示语是否继续添加学生信息,输入“N”或“n”取消添加并返回主菜单,输入其他任意值继续输入下一位同学。
2、查询学生的信息
选择此功能后。系统中已有学生信息,查找该学生资料.系统会提示你输入要查询的学号,输入完毕后系统就会显示该学生资料和各科成绩等信息。若查询无此人,则显示查找不到的提示信息。
2、输出不及格科目学生信息
选择此功能后,需要输入科目的编号,按学生科目输出班级内不及格学生的成绩及名单。
3、采用冒泡排序法进行排序
采用计算学生平均分来作排序因子,用冒泡法由大到小或者由小到大对学生信息进行排序。
4、打印全部学生信息
主菜单函数调用打印函数。主要功能用来对学生的成绩进行输出,此处可以选择按照成绩由大到小输出或者由小到大输出。可以显示所有学生的学号,姓名和各科成绩,平均成绩。
5、修改学生的信息
在系统已有学生信息的前提下,想要查找该学生资料,可以输入该学生姓名,系统就会显示该学生资料和各科成绩等信息,这样就可以修改该学生的资料,成绩等信息。
0.退出
四、系统模块结构图
一些程序测试数据:
1、输入学生信息
2、按班级输出学生的成绩
3、输出不及格学生名单及成绩
4、按照成绩高低输出学生的成绩
5、通过学号查询学生的成绩
6、通过学号修改一个学生的信息
部分c语言代码:
#include<stdio.h>
#define N 200//最大人数
//now记录当前存储的学生数量
int now=0;
struct student
{
int num;
int term;
int classe;
char name[10];
float score[4];
float sum;
float aver;
}stu[N];
void input();//学生信息录入
void sort();//按成绩排序
void update();//修改成绩
void search();//按学号查询成绩
void output();//按班级输出学生信息
void lofstudent();//不及格学生名单
void menu();//显示系统主菜单函数
//主函数
void main(void)
{
int op;//operation
menu();
scanf("%d",&op);
while(op!=0)
{
switch(op)
{
case 1:
input();
break;
case 2:
sort();
output();
break;
case 3:
update();
break;
case 4:
search();
break;
case 5:
lofstudent();
break;
default:printf("没有此选项,请重新输入!");
}
menu();
scanf("%d",&op);
}
}
//显示系统主菜单函数
void menu()
{
printf(" 学生信息管理系统 \n");
printf(" ************************************* \n");
printf(" * 0:退出 1 :输入学生信息 * \n");
printf(" * 2:输出信息 3 :修改信息 * \n");
printf(" * 4:查询成绩 5 :不及格科目及名单 * \n");
printf(" ************************************* \n");
}
//学生信息录入
void input()
{
char ch;
int i=0,j=0;
do
{
printf("请输入班级: ");
scanf("%d",&stu[i].classe);
printf("请输入学期: ");
scanf("%d",&stu[i].term);
printf("请输入学号: ");
scanf("%d",&stu[i].num);
printf("请输入姓名: ");
scanf("%s",&stu[i].name);
printf("请输入4门课程的分数(分别为语文,数学,英语,计算机):");
for(j=0;j<4;j++)
{
scanf("%f",&stu[i].score[j]);
//每个学生的总分
stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3];
//每个学生的平均分
stu[i].aver=stu[i].sum/(float)4.0;
}
//读取一个键盘回车
getchar();
printf("您还要继续输入吗?输入y/n(确认/取消)\n");
//读取当前的键盘输入,判断是否继续输入
ch=getchar();
now=++i;
}while(ch!='n');
}
此程序博主已经上传到csdn资源了,需要的小伙伴可以通过这个链接进去下载。
链接: 点我下载.
另外,如果有小伙伴想要实验报告的话,可以下载后私信我,我免费发你实验报告!!!