班级成绩管理系统C语言
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大理学院数学与计算学院
《C语言课程设计》设计报告题目名称:班级成绩管理系统
班级:2011级通信工程1班
学号:**********
姓名:***
一、功能介绍
1,本系统采用一个结构体数组,每个数据的结构包括:学号、姓名、M门课程名称。
2,本程序具有:(1)成绩录入(2)成绩显示(3)成绩删除(4)成绩排序、统计(5)退出系
统
二、总体设计
2.1功能模块设计
1、本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓名、M门课程名称。
2、本系统显示这样的菜单:
请选择系统功能项:
a、成绩录入
b、成绩显示
c、成绩排序(平均分排序)
d、成绩修改
e、成绩统计
(1)显示每门课程成绩最高的学生的基本信息
(2)显示每门课程的平均成绩
(3)显示超过某门课程平均成绩的学生人数
f、退出系统
3、执行一个具体的功能之后,程序将重新显示菜单。2.2 算法或流程图设计
(请见最后一页附图)
三、功能模块的实现
3.1 函数调用关系图
统模块图如下:
3.2 功能实现代码
#include"stdio.h"
#include"stdlib.h"
struct Student
{
char num[10]; /*学号*/
char name[15]; /*姓名*/
char xueyuan[15]; /*学院*/
char banji[15]; /*班级*/
int cgrade; /*C语言成绩*/
int mgrade; /*数学成绩*/
int egrade; /*英语成绩*/
int total; /*总分*/
float ave; /*平均分*/
};
//主菜单界面
=============================================================================================================== =======================
void menu()
{
// system("cls"); /*调用DOS命令,清屏*/
printf("\n 学生成绩管理系统\n\n\n");
printf(" *************************主菜单******************************\n");
printf(" * 1 创建学生信息 2 插入学生信息 *\n");
printf(" * 3 删除学生信息 4 修改学生信息 *\n");
printf(" * 5 按学号排序 6 查询学生信息 *\n");
printf(" * 7 按总分排序 8 学生信息整理 *\n");
printf(" * 9 保存学生信息 0 退出系统 *\n");
printf(" *************************************************************\n");
}
void input(Student s[])//成绩输入
{
int i,j;
for(i=0;i<3;i++)
{
printf("请输入学号:");
scanf("%s",s[i].num);
printf("\n"); printf("请输入姓名:");
scanf("%s",s[i].name);
printf("\n");
printf("请输入学院:");
scanf("%s",s[i].xueyuan);
printf("\n");
printf("请输入班级:");
scanf("%s",s[i].banji);
printf("\n");
printf("请输入C语言:");
scanf("%s",s[i].cgrade);
printf("\n");
printf("请输入数学:");
scanf("%s",s[i].mgrade);
printf("\n");
printf("请输入英语:");
scanf("%s",s[i].egrade);
printf("\n");
printf("请输入总分:");
scanf("%s",s[i].total);
printf("\n");
printf("请输入平均分:");
scanf("%s",s[i].ave);
printf("\n");
}
void xianshi(Student s[])//成绩显示{
int i,j;
for(i=0;i<3;i++)
{
printf("%s,",s[i].num);
printf("%s,",s[i].name);
printf("%s,",s[i].xueyuan );
printf("%s,",s[i].banji);
printf("%s,",s[i].cgrade);
printf("%s,",s[i].mgrade);
printf("%s,",s[i].egrade);
printf("%s,",s[i].total);
printf("%s,",s[i].ave);
printf("\n");
}
}
void paixu(Student s[])//成绩排序
{
float num;
int i,j=0,t;
for(i=0;i<2;i++)
{
for(j=0;j<3-i;j++)
{
num=student s[0].ave;
if(num<=student s[j].ave)
{
num=student s[j].ave;
T=j;
}
Student s[j]=student s[t];
}
}
}
}
void xiugai(Student s[])//成绩修改
{
int i,j,key;
printf("请输入需修改的学号:");
scanf("%s",j);
for(i=0;i<3;i++)
{
If(j==student s[i].num) k=i;
}
printf("你想修改的是什么1:姓名 2:学院 3班级 4:C成绩, 5数学成绩 6英语成绩 7总分 8平均分"); scanf("%d",key);
case(key)
1:printf("请输入需修改的姓名:")scanf("%s",s[k].name);
2:printf("请输入需修改的学院:")scanf("%s",s[k].xueyuan);
2:printf("请输入需修改的班级:")scanf("%s",s[k].banji);
2:printf("请输入需修改的c成绩:")scanf("%s",s[k].cgrade);
2:printf("请输入需修改的数学:")scanf("%s",s[k].mgrade);
2:printf("请输入需修改的英语:")scanf("%s",s[k].egrade);
2:printf("请输入需修改的总成绩:")scanf("%s",s[k].total);
2:printf("请输入需修改的平均分:")scanf("%s",s[k].ave); }
void tongji(Student s[])//成绩统计
{float k,pingjunfeng;
int i,t,d;
long int f;
printf("c语言成绩最高分的成绩单:")
k=student s[0].cgrade;
for(i=0,i<3,i++)
{
if(k<=student s[i].cgrade)
{
k=student s[i].cgrade;
T=j;
}
}
printf("%s,",s[t].num);
printf("%s,",s[t].name);
printf("%s,",s[t].xueyuan );
printf("%s,",s[t].banji);
printf("%s,",s[t].cgrade);
printf("%s,",s[t].mgrade);
printf("%s,",s[t].egrade);
printf("%s,",s[t].total);
printf("%s,",s[t].ave);
printf("\n");
printf("数学成绩最高分的成绩单:")
k=student s[0].mgrade;
for(i=0,i<3,i++)
{
if(k<=student s[i].mgrade)