学生成绩管理系统设计.docx
- 文档编号:28237192
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:18
- 大小:321.40KB
学生成绩管理系统设计.docx
《学生成绩管理系统设计.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统设计.docx(18页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统设计
沈阳师范大学科信软件学院
小学期课程设计报告
课题名称:
学生成绩管理系统设计
姓名:
杨先勇
学号:
12008065
专业年级:
2012级软件工程2班
指导教师:
张丽娜
2014年6月26日
课程设计报告:
学生成绩管理系统设计编程语言:
C
一、系统需求
学生成绩信息包括:
学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。
主要功能:
(1)能按学期、按班级完成对学生成绩的录入、修改
(2)能按班级统计学生的成绩,求学生的总分及平均分
(3)能查询学生成绩,不及格科目及学生名单
(4)能按班级输出学生的成绩单
二、要求
使用二进制文件方式存储数据,系统以菜单方式工作
三、设计目的
(1)能完成对学生成绩的录入
(2)能按班级统计学生的成绩,求学生的总分及平均分,排序
(3)能按班级,学期输出学生的成绩单和不及格科目及学生名单
(4)能查询单个学生成绩
(5)能修改单个学生信息
四、结构图
五、程序代码
#include
#include
#include
#defineNUM100
structstudent
{intterm;
intnum;
intclasses;
charname[10];
intscore[4];
intsum;
doubleaverage;
}stu[NUM];
voidprint1();
voidprint2();
voidzcd();
voidinput()/*输入信息函数*/
{
system("cls");
inti;
chara;
for(i=0;i {printf("\n请输入学生的学期: "); scanf("%d",&stu[i].term); printf("\n请输入学生的学号: "); fflush(stdin); scanf("%d",&stu[i].num); printf("\n请输入学生的班级: "); scanf("%d",&stu[i].classes); printf("\n请输入学生的姓名: "); scanf("%s",stu[i].name); printf("\n请输入学生的语文成绩: "); scanf("%d",&stu[i].score[0]); printf("\n请输入学生的数学成绩: "); scanf("%d",&stu[i].score[1]); printf("\n请输入学生的英语成绩: "); scanf("%d",&stu[i].score[2]); printf("\n请输入学生的计算机成绩: "); scanf("%d",&stu[i].score[3]); stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3];//算总分和平均 stu[i].average=(float)stu[i].sum/4.0; printf("是否要继续添加(按N&n退出)"); fflush(stdin); a=getchar(); if(a=='n'||a=='N') break; } } voidsearch()/*查找并显示一个记录*/ { system("cls");/*清屏*/ intnumber=0,i; printf("\t\t\t请输入要查找学生的学号: "); scanf("%d",&number); printf("学号\t姓名\t班级语文数学英语计算机总分平均分\n"); for(i=0;i if(number==stu[i].num)break;/*查找判断*/ if(i {printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes, stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average);/*输出学生信息*/ } else printf("没找到该学生的信息\n"); system("pause"); } voidprint()/*按学期、按班级输出成绩函数*/ { system("cls"); chara; printf("1、按学期输出\n"); printf("2、按班级输出\n"); printf("3、返回\n"); fflush(stdin); a=getchar(); switch(a) { case'1': print1(); case'2': print2(); case'3': zcd(); default: print(); } } voidprint1()//按学期 { inti,m; printf("请输入学期: \n"); scanf("%d",&m); printf("学号\t姓名\t班级语文数学英语计算机总分平均分\n"); for(i=0;i { if(m==stu[i].term) printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes, stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average);/*输出学生信息*/ } system("pause");system("cls");print(); } voidprint2()//按班级 { inti,j,k; printf("请输入班级: \n"); scanf("%d",&k); printf("学号\t姓名\t班级语文数学英语计算机总分平均分\n"); for(i=0;i { if(k==stu[i].classes) { stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3]; stu[i].average=stu[i].sum/4.0; printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes, stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average);/*输出学生信息*/ } } printf("输出不及格学生名单及成绩: \n"); printf("学号\t姓名\t班级语文数学英语计算机\n"); for(i=0;i {for(j=0;j<4;j++) { if(stu[i].score[j]<60&&k==stu[i].classes)/*输出不及格学生名单及成绩*/ printf("%d\t%s\t%d%5d%5d%5d%6d\n",stu[i].num,stu[i].name,stu[i].classes, stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3]); break; } } system("pause");system("cls");print(); } voidmodify()/*修改成绩函数*/ { system("cls"); intnumber,i; printf("\t\t\t请输入要修改信息的学生学号: "); scanf("\t\t\t%d",&number); for(i=0;i if(number=stu[i].num)break;/*查找判断*/ if(i { printf("请输入修改后的学生的信息: "); printf("\n请输入学生的学期: "); scanf("%d",&stu[i].term); printf("\n请输入学生的学号: "); fflush(stdin); scanf("%d",&stu[i].num); printf("\n请输入学生的班级: "); scanf("%d",&stu[i].classes); printf("\n请输入学生的姓名: "); scanf("%s",stu[i].name); printf("\n请输入学生的语文成绩: "); scanf("%d",&stu[i].score[0]); printf("\n请输入学生的数学成绩: "); scanf("%d",&stu[i].score[1]); printf("\n请输入学生的英语成绩: "); scanf("%d",&stu[i].score[2]); printf("\n请输入学生的计算机成绩: "); scanf("%d",&stu[i].score[3]); } else printf("没找到该学生的信息\n"); system("paues");system("cls");zcd(); } voidsort()/*排序并显示函数*/ { inti,j=0; inttemp; for(i=0;i { stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]+stu[i].score[3]; stu[i].average=(float)stu[i].sum/4.0; } for(i=0;i { for(j=i+1;j { if(stu[i].sum { temp=stu[i].sum; stu[i].sum=stu[j].sum; stu[j].sum=temp; } } } printf("学号\t姓名\t班级语文数学英语计算机总分平均分\n"); for(i=0;i printf("%d\t%s\t%d%5d%5d%5d%6d%7d%8.2f\n",stu[i].num,stu[i].name,stu[i].classes, stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].score[3],stu[i].sum,stu[i].average); /*输出学生信息*/ system("pause");system("cls");print(); } voidzcd() { intn=0; charm; system("cls");/*清屏*/ printf("按任一键进入主菜单\n");/*按任意键进入主菜单*/ printf("********************************************************************************\n"); printf("\t\t沈阳师范大学软件学院欢迎您\n"); printf("\n\t\t\t---------欢迎您使用学生管理系统\n\n\t\t\t\t\t-----------\n"); printf("*************************************MENU***************************************\n"); printf("\t\t\t1.输入学生成绩记录Inputtherecord\n");/*输入学生成绩记录*/ printf("\t\t\t2.排序并显示Sorttomakenewafile\n");/*排序*/ printf("\t\t\t3.按班级显示成绩单Printtherecord\n");/*显示*/ printf("\t\t\t4.查找个人成绩Searchrecordonname\n");/*查找*/ printf("\t\t\t5.修改Modifyarecord\n");/*修改*/ printf("\t\t\t6.退出Quit\n");/*退出*/ printf("********************************************************************************\n"); printf("\n\t\t\t输入你的选择Enteryourchoice(1~7): "); fflush(stdin); m=getchar(); do {switch(m) { case'1': input();zcd();break; case'2': sort();system("pause");zcd();break; case'3': print();system("pause");break; case'4': search();zcd();break; case'5': modify();system("pause");zcd();break; case'6': exit(0);/*如菜单返回值为7则程序结束*/ default: printf("错误命令");getchar();zcd(); } }while (1); } voidmain() { zcd(); } 六、调试与运行 主菜单 成绩录入 统计排序输出成绩 学号姓名班级语文数学英语计算机总分平均分 22222222226817 8888999358.75 000000000.00 000000000.00 000000000.00 000000000.00 000000000.00 000000000.00 000000000.00 000000000.00 000000000.00 000000000.00 查找 修改 请输入要修改信息的学生学号: 02 请输入修改后的学生的信息 请输入学生的学期: 2 请输入学生的学号: 34 请输入学生的班级: 3 请输入学生的姓名: yangyong 请输入学生的语文成绩: 45 请输入学生的数学成绩: 56 请输入学生的英语成绩: 78 请输入学生的计算机成绩: 66 七、设计总结 经过几周的课程设计,我学到了很多东西: ①巩固和加深了对编程的理解,提高综合运用本课程所学知识的能力。 ②培养了我选用参考书,查阅手册及文献资料的能力。 培养独立思考,深入研究,分析问题、解决问题的能力。 ③经过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。 ④能够按要求编写课程设计报告书,能正确阐述设计和实验结果,正确绘制系统和程序框图。 课程设计是把我们所学的理论知识进行系统的总结并应用于实践的良好机会,有利于加强我们用知识理论来分析实际问题的能力,进而加强了我们对知识认识的实践度,巩固了我们的理论知识,深化了对知识的认识,并为走向社会打下一个良好的基础。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 设计