1、c语言学生成绩管理系统含源代码c语言学生成绩管理系统(含源代码)C 语言程序设计作业一 设计项目:学生成绩管理系统二 总体设计:1 程序设计组成框图:2:模块功能说明:1 输入功能:输入学生姓名学号及成绩。2 查看功能:输出姓名学号及各科成绩。3 查询功能:通过学号查询学生姓名及各科成绩。 4 统计功能:统计班级学生及格率,优秀率,各个学生成绩方差等。5 修改功能:通过输入学号修改指定学生的错误信息。6添加功能:添加学生信息。7删除功能:通过输入学号输入指定学生信息。8保存功能:将学生信息保存。9 退出系统。 3:主要函数之间的调用关系及各自功能:主要函数的函数原型void inputscor
2、e(void);void savescore(void);void avergescore(void);void modifyscore(void);void lookscore(void);void searchscore(void);void statistic(void);void add(void);void modify(void);void delscore(void);void menu(void);i.在菜单界面输入1,调用函数inputscore( )实现输入学生成绩信息功能。ii.在菜单界面2,调用函数lookscore( )实现学生成绩按平均分高低排序输。出,同时look
3、score()函数调用avergescore()函数实现各个学生平均分的计算。iii.在菜单界面输入3,调用searchscore()函数实现通过学号查找学生成绩信息功能。iv.在菜单界面输入4,调用statistic()函数输出班级及格率,优秀率,学生成绩方差,不及格学生名单。v.在菜单界面输入5,调用modify()函数实现通过学号修改学生成绩的功能vi.在菜单界面输入6,调用add()函数实现添加学生成绩。vii.在菜单界面输入7,调用delscore()函数实现删除指定学生成绩。viii.在菜单界面输入8,调用savescore()函数将学生成绩信息保存。ix.在菜单界面输入9,退出成
4、绩管理系统。三 程序运行效果截图1 主菜单2 输入成绩3 查看成绩4 查询成绩5统计成绩6修改成绩7 添加成绩8 删除成绩9保存成绩四 个人总结整个程序主要运用了课本上的基础知识,并未有太大创新,通过for循环,循环输入学生成绩。在学生成绩排序中运用选择法,同时实现学生名次的确定。在删除指定学生成绩时,先确定信息存储位置即其在结构体数组中的序号,通过结构体变量的整体赋值将从指定位置以后的学生信息赋给前一个结构体变量,并将学生总数n减1,实现删除学生成绩信息。源代码#include#include#include#include#include#define N 30#define M 3typ
5、edef struct student char number10; char name20; float scoreM; float aver; float total;STU;STU stuN;int n;void inputscore(void);void savescore(void);void avergescore(void);void total(void);void modifyscore(void);void lookscore(void);void searchscore(void);void statistic(void);void add(void);void modi
6、fy(void);void delscore(void);void menu(void);void main() short int flag=0; menu(); do flag=1; switch(getch() case 1 : inputscore();break; /*输入成绩*/ case 2 : lookscore();break; /*查看成绩*/ case 3 : searchscore();break; /*查找成绩*/ case 4 : statistic();break; /*成绩统计*/ case 5 : modify();break; /*修改成绩*/ case 6
7、 : add();break; /*添加成绩*/ case 7 : delscore();break; /*删除成绩*/ case 8 : savescore();break; /*保存成绩*/ case 9 :exit(0); /*退出程序*/ default : printf(输入有误n); printf(按任意键继续n); getch(); menu(); while (flag=1); void menu(void) system(cls); printf(n); printf(*欢迎进入学生成绩管理系统*n); printf( 菜单 n); printf(输入成绩-1n); prin
8、tf(查看成绩及成绩排序-2n); printf(查询学生成绩-3n); printf(成绩统计-4n); printf(修改成绩-5n); printf(添加成绩-6n); printf(删除成绩-7n); printf(保存成绩-8n); printf(退出系统-9n); printf(*n); printf(请输入您的选择n); /*输入各个同学的学生信息(王超)*/void inputscore(void) int i,j; system(cls); printf(请输入学生总数:n); scanf(%d,&n); printf(提示:*输入学号时请输入由1位大写字母和8位数字组成的学
9、号,如P01214000*n); /*因二维表上下需对正故有此要求*/ for(i=0;in;i+) printf(请输入学生%d的学号 姓名:n,i+1); scanf(%s%s,stui.number,stui.name); printf(请输入学生成绩:n); printf(高数t物理tC语言n); for(j=0;jM;j+) scanf(%f,&stui.scorej); printf(成功输入n);/*计算各个同学的总分(孙友)*/void total(void) int i,j; for(i=0;in;i+) stui.total=0; for(j=0;jM;j+) stui.t
10、otal+=stui.scorej; /*计算各个同学的平均分*/void avergescore(void) int i,j; for(i=0;in;i+) stui.aver=0; for(j=0;jM;j+) stui.aver+=stui.scorej; stui.aver=stui.aver/M; /*查看学生成绩及根据平均分对学生进行排序*/void lookscore(void) int i,j,k; STU t; total(); avergescore(); system(cls); for(i=0;in-1;i+) for(k=i,j=i+1;jstuk.aver) k=j
11、; if(k!=j) t=stuk; stuk=stui; stui=t; printf(名次t学号tt姓名t高数t物理tC语言t总分t平均分n); for(i=0;in;i+) printf(%dt%st%st,i+1,stui.number,stui.name); for(j=0;jM;j+) printf(%4.2ft,stui.scorej); printf(%4.2ft,stui.total); printf(%4.2f,stui.aver); printf(n); /*通过输入学号查找学生成绩*/void searchscore(void) char a10; int i,j; system(cls); printf(请输入需查询的学生学号n); scanf(%s,a); for(i=0;in;i+) if(strcmp(a,stui.number)=0) printf(名次t学号tt姓名t高数t物理tC语言t总分t平均分n); printf(%dt%st%st,i+1,stui.number,stui.name); for(j=0;jM;j+) printf(%4.2ft,stui.scorej);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1