收藏 分享(赏)

学生成绩管理系统课程设计报告书(C语言).doc

上传人:精品资料 文档编号:10738622 上传时间:2020-01-03 格式:DOC 页数:24 大小:801.50KB
下载 相关 举报
学生成绩管理系统课程设计报告书(C语言).doc_第1页
第1页 / 共24页
学生成绩管理系统课程设计报告书(C语言).doc_第2页
第2页 / 共24页
学生成绩管理系统课程设计报告书(C语言).doc_第3页
第3页 / 共24页
学生成绩管理系统课程设计报告书(C语言).doc_第4页
第4页 / 共24页
学生成绩管理系统课程设计报告书(C语言).doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、课程设计报告书课程名称: 学 院: 班 级: 学 号: 姓 名: 指导老师: 设计时间: 学生成绩管理课程设计1、设计题目用 C 语言编写程序完成以下任务:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的 平时成绩进行查询 (3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单二、设计要求(1)贯彻结构化的程序设计思想。(2)用户界面友好,功能明确,操作方便。 (3)用户界面中的菜单至少应包括“统计各班总分及平均分” 、 “平均成绩 排序” 、 “成绩单显示”和“退出”4 项。(4)代码应适当缩进,并给出必要的

2、注释,以增强程序的可读性。三、设计需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为十个模块,每一个模块对应一个函数。在这些函数当中,按学期对学生信息查询函数、按班级对学生信息查询函数、按平均成绩排序函数、按班级显示学生成绩单函数、统计全部学生总分及平均分函数、按总成绩排序函数、统计成绩不及格学生信息函数、显示全部学生信息并统计人数函数的实现严格按照题目的要求。读取文件函数对其它函数的实现起辅助作用,主函数及菜单函数控制程序的整体运行。1.显示全部学生信息并统计人数 这里要用到文件打开函数和文件读取数据函数,再加入人数的统计语句,以实现将文件内容显示到窗体并统计总人数。2.统计全

3、部学生总分及平均分 这一步在第一项功能的基础上稍加改动,添加求学生总分和平均分的函数就可以实现预期的功能。3.按学期对学生信息查询 实现的功能是按照学期对学生的成绩和数据进行查询,要求输入正确学期实现该功能。4.按班级对学生信息查询 实现的功能是按照班级对学生的成绩和数据进行查询,要求输入正确班级实现该功能。 5.按总成绩排序 该项为附加功能实现的是总成绩的递减排序以及名次显示,其中总成绩相同者名次相同。 6.按平均成绩排序 按照题目的具体要求实现的是平均成绩的递减排序以及名次显示,其中平均成绩相同者名次相同。7.统计成绩不及格学生信息 该项即统计所有学生中各科中至少有一科不及格的学生的所有信

4、息 。8.按班级显示学生成绩单 该项即显示所有学生的基本信息及在总体中成绩排序信息。 除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序,这使整个程序更加完善。每一个学生记录都包含学期、班级、学号、姓名,以及英语、计算机两门成绩,在程序当中将学生记录类型定义为结构体类型,函数每次对学生记录的访问,其数据来源都是 file.txt 文件,这样做保证学生数据的一致性,每次运行程序都可以采用原来的数据。4、程序流程图1. 程序总体结构图当 1输入值 n = 1 ?真假函数p r i n t l l ( )n = 2 ?真假函数 s o r t (

5、 )n = 3 ?真假函数 q u e r y ( )真假n = 4 ?函数 s o r t 1 ( )n = 5 ?真假函数 s o r t 2 ( )函数 e x c e l l e n t ()真 n = 7 ? 假函数 c j d a n退出n = 6 ?真 假图 1 程序总体结构图2. 具体功能框图(1)显示全部学生信息并统计学生人数函数以读方式打开 E 盘 s t u d e n t . t x t 文件成功 ?真 假输出文件打开失败返回循环变量 i = 0当文件未结束时i + +关闭文件读取学生信息到数组元素 s t u i 中返回学生人数 i图 2 读取学生数据 (2)按平均分

6、排序函数当 j =n) printf(“没有找到该学期信息!n“);return;else printf(“%st%st%st%st%3.1ft%3.1ft%3.1ft%3.1fn“,studi.xq,studi.cla,studi.num,studi.name,puter,studi.english,puter+studi.english,(puter+studi.english)/2); /*按班级对学生信息查询*/void query() struct student studN;char number20;int i,n;n=reads(stud);printf(“n 请输入待查询的学

7、生班级号,按回车键确认:n“,number);scanf(“%s“,number);printf(“*所查学生信息如下*n“);printf(“班级 学期 学号 姓名 计算机 英语 总分 平均分 n“);printf(“*n“);for(i=0;i=n) printf(“没有找到该班级信息!n“); return;elseprintf(“%st%st%st%st%3.1ft%3.1ft%3.1ft%3.1fn“,studi.cla,studi.xq,studi.num,studi.name,puter,studi.english,puter+studi.english,(puter+studi

8、.english)/2);2. 按平均成绩排序函数该函数的核心内容是求平均成绩并对所有人进行排序。采用冒泡法对平均分进行排序,并记录对于总分的排序采用的排序算法是冒泡法排序,其中平均分的求得是在排序的过程中实现的,这部分程序仍然调用了reads 函数,整个排序过程在结构体数组 stud 中实现,由于排序算法涉及到两个数组元素的信息交换,因此还需要定义一个中间变量来协助。对于学生排序后名次的确定在结果输出时予以显示。具体程序段如下:/*按平均成绩排序*/void sort2() struct student studN,temp;int i,j,n;n=reads(stud);for(i=0;i

9、#include #include#include #define N 25struct student char cla10;char xq10;char num20;char name10;float computer;float english;float sum,aver;studN;void menu();void sort();void printll();int reads(struct student stuN);void sort1() ;void sort2();void xueqi();void query();void bujige();void cjdan();voi

10、d main()int c;while(1) menu();printf(“n 请输入您要选择的操作序号,按回车键确认:“); scanf(“%d“,if(c8|c=n) printf(“没有找到该学期信息!n“);return;elseprintf(“%st%st%st%st%3.1ft%3.1ft%3.1ft%3.1fn“,studi.xq,studi.cla,studi.num,studi.name,puter,studi.english,puter+studi.english,(puter+studi.english)/2); void query() /*按班级对学生信息查询*/st

11、ruct student studN;char number20;int i,n;n=reads(stud);printf(“n 请输入待查询的学生班级号,按回车键确认:n“,number);scanf(“%s“,number);printf(“*所查学生信息如下*n“);printf(“班级 学期 学号 姓名 计算机 英语 总分 平均分 n“);printf(“*n“);for(i=0;i=n) printf(“没有找到该班级信息!n“); return;elseprintf(“%st%st%st%st%3.1ft%3.1ft%3.1ft%3.1fn“,studi.cla,studi.xq,

12、studi.num,studi.name,puter,studi.english,puter+studi.english,(puter+studi.english)/2);void sort1() /*按总成绩排序*/ struct student studN,temp;int i,j,n;n=reads(stud);for(i=0;i=n)printf(“没有找到该班级信息!n“);return;else if(studi.english+puter=studi+1.english+studi+puter)printf(“%dt%st%st%st%3.1ft%3.1ft%3.1fn“,j,s

13、tudi.cla,studi.num,studi.name,puter,studi.english,puter+studi.english);elseprintf(“%dt%st%st%st%3.1ft%3.1ft%3.1fn“,j+,studi.cla,studi.num,studi.name,puter,studi.english,puter+studi.english);getch();file.txt 文件内容2009 信工 1 班 101 杜永宁 92 792010 信工 2 班 102 段楠 91 802009 信工 1 班 103 冯红 61 752008 信工 3 班 104

14、郝苇 62 782009 信工 1 班 105 胡龙 63 652009 信工 1 班 106 金士鹏 12 532010 信工 1 班 107 李芳 87 702008 信工 2 班 108 刘朝阳 86 752010 信工 1 班 109 刘英玫 88 682009 信工 3 班 110 卢明 30 652008 信工 2 班 111 马立涛 86 612009 信工 2 班 112 孙林 92 802010 信工 3 班 113 田佳莉 88 722009 信工 3 班 114 王传华 73 602008 信工 3 班 115 王伟 36 602009 信工 2 班 116 王小萌 84 792009 信工 3 班 117 杨柳青 31 502010 信工 2 班 118 殷泳 84 752010 信工 2 班 119 英平 42 612008 信工 1 班 120 张力华 98 62

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报