学生成绩管理系统设计与实现C语言版

上传人:m**** 文档编号:565011250 上传时间:2023-04-25 格式:DOC 页数:51 大小:293KB
返回 下载 相关 举报
学生成绩管理系统设计与实现C语言版_第1页
第1页 / 共51页
学生成绩管理系统设计与实现C语言版_第2页
第2页 / 共51页
学生成绩管理系统设计与实现C语言版_第3页
第3页 / 共51页
学生成绩管理系统设计与实现C语言版_第4页
第4页 / 共51页
学生成绩管理系统设计与实现C语言版_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《学生成绩管理系统设计与实现C语言版》由会员分享,可在线阅读,更多相关《学生成绩管理系统设计与实现C语言版(51页珍藏版)》请在金锄头文库上搜索。

1、学生成绩管理系统设计与实现学生姓名: 指导老师:摘 要 本系统采用C+语言来编写学生成绩管理系统。该系统主要由输入学生成绩、删除学生成绩、学生成绩排序、学生成绩查询和退出管理系统五个功能模块组成, 系统用户界面友好, 操作简便, 满足了学生成绩管理的需要。关键词 成绩;C+;管理系统1 引 言为方便对学生成绩的管理,编写该程序以学生成绩的管理效率。使用该程序之后,老师或学生可以查询每位学生的成绩,还可以按学号、姓名等信息来查询成绩,并且最后给出了按学生成绩的总分来排列的学生成绩清单。1.1 课题背景及意义一直以来人们使用传统的人工方式管理学生成绩,对于学生成绩的管理过程,想必大家都已很熟悉。在

2、计算机尚未在广泛使用之前,学生成绩的管理主要依靠手工。一个最典型的学生成绩管理过程就是:工作人员把每个同学的成绩先写下来,然后人工的按照学生的分数来进行各种操作,最后得到我们所需要的最终结果。以上所描述的手工过程的不足之处显而易见,首先各种排序工作非常困难,当学生人数比较多时会使工作的难度更大;并且在工作过程中,会经常出现成绩排错、记混等问题。 为提高学生成绩管理效率,减少老师的工作负担,有必要开发一个小型学生成绩管理软件来对学生的成绩实施有效管理。该系统必须具备以下功能:1)输入学生成绩;2)删除学生成绩;3)学生成绩排序;4)学生成绩查询;5)学生成绩清单。这样不仅能较好地帮助老师在最短的

3、时间内处理完学生的成绩,而且能让学生很好的查询自己的成绩。1.2 课题开发框架及技术选择本系统主要采用C+语言来编写程序,实现学生成绩的管理。我们利用软件Microsoft Visual C+来编译C+语言编写的程序,实现系统执行的每一步,并在电脑屏幕上显示出我们所要执行的步骤。2 系统需求分析2.1 功能需求分析1) 输入学生成绩:即输入学生的学号、姓名、成绩等。2) 删除学生成绩:当发现成绩出错时,用来删除成绩。3) 学生成绩排序:按单科成绩或总成绩排序。4) 学生成绩查询:按学号、姓名等查询成绩。5) 学生成绩清单:按学号把所有学生的成绩显示出来。6) 退出管理系统:退出程序所建立的管理

4、系统。2.2性能需求分析 1硬件环境l 处理器:Inter CR300或是更高。l 内存:128MB(建议 196MB)。l 硬盘空间:20MB。2软件环境l 操作系统: Windows 98 或是Windows 2000/Windows NT Server 4.0。2.3系统总体结构设计对学生成绩情况进行管理的系统,主要划分为一下五个模块:1) 输入学生成绩:实现学生的学号、姓名、成绩等的输入。2) 删除学生成绩:学生成绩出现错误时,实现学生成绩的删除。3) 学生成绩排序:实现按单科成绩排序或按总成绩排序。4) 学生成绩查询:按学号、姓名等实现学生成绩的查询。5) 学生成绩清单:实现按学号排

5、列的学生成绩的显示。根据需求分析的结果,总体结构如图2-1所示。图2-1系统总体结构 2.4系统管理流程图该学生成绩管理系统6个主流程及10个子流程,则系统的程序流程图如图2-2所示。图2-2 系统管理流程图3 学生成绩管理系统设计3.1 数据模型分析与设计该应用程序包含输入学生成绩、删除学生成绩、学生成绩排序、学生成绩查询、学生成绩清单五部分的功能。其中学生成绩的格式例子为:表3-1 学生成绩学号姓名数学成绩程序设计成绩 1张三8676 2李四8495 3王五7672 4赵六95863.2 系统功能模块分析系统功能模块如图3-1所示。图3-1 系统功能模块图4 系统详细设计4.1输入学生成绩

6、这部分主要实现学生成绩的添加,把所需要输入的学生的成绩按照规定的格式输入到学生管理系统中去,该部分的程序代码为:num = num + 1;printf( 请输入学生的学生信息, 包括学号,姓名,数学成绩和程序设计成绩:n);scanf( %d %s %d %d, &stunum-1.no, &stunum-1.name, &stunum-1.math_score,&stunum-1.program_score);printf(你所输入的学生信息为:n);printf(学号:%4d 姓名:%10s 数学成绩:%4d 程序设计成绩:%4d, stunum-1.no, stunum-1.name,

7、 stunum-1.math_score, stunum-1.program_score);stunum-1.total_score = stunum-1.math_score + stunum-1.program_score;num=scan_no(num,stu);/ 判断没有重复的学号, 如果与原来的学号重复则需重新输入4.2删除学生成绩:这部分主要实现,当所输入的学生成绩出现问题时,用来在学生成绩管理系统中删除错误的学生成绩。该部分的程序代码为:int search(int no, int num, struct student *stu)int search_no;int i;for

8、(i=0; inum; i+)if(no = stui.no)search_no = i;break;return(search_no);void del(int no, int *num, struct student *stu)int i;int del_no;int number;number = *num;del_no = search(no, number, stu);for(i=del_no; i=number; i+)stui = stui+1;number = number - 1;*num = number;printf( 请输入要删除的学生的学号:n);scanf( %d,

9、 &no);del(no, &num, stu);4.3学生成绩排序这部分主要实现,在学生成绩管理系统中,按照学生的数学成绩、程序设计成绩或总分进行排序。该部分的程序代码为:void sort(int sort_no, int num, struct student *stu)int i, j, k;struct student t; if(sort_no = 1)/ 数学成绩排序for(i=0; inum-1; i+) k = i;for(j=i+1; jnum; j+)if(stuj.math_scorestuk.math_score) k = j;t = stuk;stuk = stui

10、;stui = t;for(i=0; inum; i+)printf(学号:%4d 姓名:%10s 数学成绩:%4d 程序设计成绩:%4d 总分:%4dn, stui.no, stui.name, stui.math_score,stui.program_score, stui.total_score);else if(sort_no = 2)/ 程序设计成绩排序for(i=0; inum-1; i+)k = i;for(j=i+1; jnum; j+)if(stuj.program_scorestuk.program_score) k= j;t= stuk;stuk = stui;stui

11、= t;for(i=0; inum; i+)printf(学号:%4d 姓名:%10s 数学成绩:%4d 程序设计成绩:%4d 总分:%4dn, stui.no, stui.name, stui.math_score,stui.program_score, stui.total_score);else if(sort_no = 3) / 总分排序for(i=0; inum-1; i+)k = i;for(j=i+1; jnum; j+)if(stuj.total_scorestuk.total_score) k=j;t= stuk;stuk = stui;stui = t;for(i=0; i

12、数学成绩排序n);printf( 2-程序设计成绩排序n);printf( 3-总分排序n);printf( 4-返回主菜单n);printf( 请选择要进行排序的方式的编号:n);scanf( %d, &sort_no);sort(sort_no, num, stu);4.4学生成绩查询这部分主要实现,在学生管理系统中,按照学号、姓名、数学成绩、程序设计成绩、总分等方式查询学生的成绩。该部分的程序代码为:printf( 请选择以下的方式对学生数据进行查询:n);printf( 1-学号查询n);printf( 2-姓名查询n);printf( 3-数学成绩查询n);printf( 4-程序设计成绩查询n);printf( 5-总分查询n);printf( 6-返回主菜单n);printf( 请选择要进行查询内容的编号:n);scanf( %d, &search_no);while(search_no 0)if(search_no =1)printf( 请输入要查询的学号n);scanf(%d, &no);for(i=0; inum; i+)if(no = stui.no)printf(学号:%4d 姓名:%10s 数学成绩:%4d 程序设计成绩:%4d

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 铁路工程

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