班级成绩管理系统C语言

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

相关文档
最新文档