成绩管理系统v6.0

上传人:n**** 文档编号:90218862 上传时间:2019-06-09 格式:DOC 页数:19 大小:221.97KB
返回 下载 相关 举报
成绩管理系统v6.0_第1页
第1页 / 共19页
成绩管理系统v6.0_第2页
第2页 / 共19页
成绩管理系统v6.0_第3页
第3页 / 共19页
成绩管理系统v6.0_第4页
第4页 / 共19页
成绩管理系统v6.0_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《成绩管理系统v6.0》由会员分享,可在线阅读,更多相关《成绩管理系统v6.0(19页珍藏版)》请在金锄头文库上搜索。

1、Harbin Institute of TechnologyC语言实验大作业课程名称: C语言程序设计 报告类型: 程序设计报告 实验题目: 学生成绩管理系统v6.0 实验类型: (综合设计型/创新研究型) 所在院系: 航天学院电子信息类 学生类别: 本科生 指导教师: 郭萍 学生姓名: 王福海 班级和学号: 电子信息五班 1162100527 实验时间: 2017.5.20 成绩评定: 哈尔滨工业大学1 实验目的将教材中所包含的内容系统化考察,考察一维、二维数组,函数的调用,排序、查找、统计分析等常用算法,指针,动态数组以及结构体的应用。2 实验内容和要求1.实验内容 学生成绩管理系统V6.

2、0。某班有最多不超过30人(具体人数由键盘输入)参加最多不超过六门的考试(具体门数由键盘输入),定义结构体类型,用结构体数组作函数参数,编程实现学生成绩的管理。2.实验要求采用自顶向下、逐步求精的模块化设计思想设计小型数据库管理系统,对学生成绩进行管理。要求按系统的需求分析、系统设计(总体设计、各个模块的设计)、系统实现(各个模块的实现)、系统测试等过程组织报告内容,说明采用了什么数据结构和算法,遇到哪些问题,这些问题是如何解决的,本设计的亮点和难点在哪里,实验结果如何,有哪些收获和学习体会。3.系统功能需求分析本系统主要实现下面的功能:(1)录入每个学生的学号和考试成绩;(2)计算每门课程的

3、总分和平均分; (3)计算每个学生的总分和平均分;(4) 按成绩由高到低排出名次表;(5) 按成绩由低到高排出名次表;(6) 按学号由小到大排出成绩表;(7) 按姓名字典的排序排出成绩表;(8) 按学号查询学生排名及其考试成绩;(9) 按姓名查询学生排名及其考试成绩;(10) 按优秀(90100)、良好(8089)、中等(7079)、及格(6069)、不及格(059)5个类别,统计每个类别的人数以及所占的百分比;(11) 输出每个学生学号姓名各科成绩及每门考试的总分平均分;(12) 将每个学生信息写入文件;(13) 从文件中读取每个学生信息并显示;4.实验环境采用win10操作系统,使用软件D

4、ev-c+。3 系统设计1. 系统功能模块划分学生成绩管理系统按姓名排序按学号排序录入成绩录入文件读取文件标准分析排名排序计算总分平均分按学生成绩排名每个学生每门课五个档次2. 主要算法排序:进行学生成绩的排序从而出现排名表查找:通过多种方式如学号,姓名查找特定学生的成绩3. 数据结构输出每个学生学号姓名各科成绩及每门考试的总分平均分 按成绩由高到低排出名次表计算每个学生的总分和平均分计算每门课程的总分和平均分录入每个学生的学号和考试成绩按成绩由低到高排出名次表按姓名字典的排序排出成绩表按学号查询学生排名及其考试成绩按姓名查询学生排名及其考试成绩5个类别,统计每个类别的人数以及所占的百分比按学

5、号由小到大排出成绩表将每个学生信息写入文件从文件中读取每个学生信息并显示 退出 用户输入指令4.各模块(函数)的功能和接口设计:序号函数名函数功能函数参数1Menu显示菜单获得输入的选项无2Readscore录入学生信息STU stu, m,n3Aversumofeverystudent计算每个学生总成绩平均值STU stu, m,n4Aversumofeverycourse计算每门课程总成绩平均成绩STU stu, m,n5Sortbyscore按成绩排序STU stu, m,n6Ascending升序float a,b7Descending降序float a,b8Assortbynum按学

6、号排序STU stu, m,n9Sortbyname按姓名排序STU stu, m,n10Searchbynum按学号查询学生信息STU stu, m,n11Searchbyname按姓名查询学生信息STU stu, m,n12StatisticAnlysis(STU stu, int n, int m)分析学生成绩五个分数段所占百分比STU stu, m,n13PrintScore打印输出学生成绩STU stu, m,n14WritetoFile写入程序 D盘student.txtSTU stu, m,n15ReadfromFile读取文件STU stu, m,n4 系统实现1.系统的总流程

7、图:显示菜单输入用户的选择根据用户的输入选择不同的操作 case 1: Readscore(stu,n,m); break; case 2: Aversumofeverystudent(stu ,n,m); break; case 3: Aversumofeverycourse(stu ,n,m); break; case 4: Sortbyscore(stu ,n,m,Descending); printf(n成绩降序排序n); Printscore( stu ,n, m); break; case 5: Sortbyscore(stu ,n,m,Ascending); printf(n成绩

8、升序排序n); Printscore( stu ,n, m); break; case 6: Assortbynum( stu , n, m); printf(n学号升序排序n); Printscore( stu ,n, m); break; case 7: Sortbyname( stu , n, m); printf(n姓名升序排序n); Printscore( stu ,n, m); break; case 8: Searchbynum( stu , n, m); break; case 9: Searchbyname( stu , n, m); break; case 10: Stat

9、isticAnlysis( stu , n, m); break; case 11: Printscore( stu ,n, m); break; case 12: Writetofile(stu,n,m); break; case 13: Readfromfile(stu,&n,&m); break; case 0: printf(End of program!n ); exit(0);2. 程序的全部源代码:1 #include 2 #include 3 #include 4 typedef struct student5 6 long num;7 char name10;8 float

10、score6;9 float sum;10 float aver;11 STU;12 int Menu(void);13 void ReadScore(STU stu,int n, int m);14 void AverSumofEveryStudent(STU stu,int n,int m);15 void AverSumofEveryCourse(STU stu,int n,int m);16 void SortbyScore(STU stu,int n,int m,int (*compare)(float a,float b);17 int Ascending(float a,floa

11、t b);18 int Descending(float a,float b);19 void SwapFloat(float *x,float *y);20 void SwapLong(long *x,long *y);21 void SwapChar (char x,char y);22 void AsSortbyNum(STU stu,int n,int m);23 void SortbyName(STU stu,int n,int m);24 void SearchbyNum(STU stu,int n,int m);25 void SearchbyName(STU stu,int n,int m);26 void StatisticAnalysis(STU stu,int n,int m);27 void PrintScore(STU stu,int n,int m);28 void WritetoFile(STU stu,int n,int m);29 void ReadfromFile(STU stu,int *n,int *m);30 int main()3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号