欢迎来到天天文库
浏览记录
ID:34252778
大小:582.00 KB
页数:19页
时间:2019-03-04
《课程设计(论文)-学生成绩管理系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、题目:学生成绩管理系统姓名学号:19目录一.问题的描述31.1问题描述31.2基本需求3二.需求分析3三.系统设计43.1主函数流程图43.2主程序结构及其声明53.3各个操作函数的流程图63.3.1添加学生信息函数63.3.2修改学生信息函数73.3.3删除学生信息函数83.3.4游历链表(输出数据)函数93.3.5比较函数(即成绩排名函数)93.3.6单科成绩录入函数103.3.7挂科超过两门名单统计函数10四.编码与调试分析114.1遇到过的错误114.11语法错误114.12运行错误124.13逻辑错误134.2系统仍存在的问题13五.系统使用说明14五.测试结果15六.
2、课程设计心得18八.参考文献1819一.问题的描述1.1问题描述随着数字信息的蓬勃发展,而今越来越多的行业要用到必要的软件来提高工作效率,尤其是对于学校学生成绩管理的现代化、科学化的要求逐渐迫切起来。越来越多的人认识到学生成绩管理计算机化的重要性和必要性。希望能够有一套提高管理效率、操作上简洁方便,并能满足各种必要功能的系统。本系统使用VisualC++6.0作为开发工具。编写操作台程序。编写简单的菜单,提供了一个可视化的操作界面,使用户可以对学生基本信息操作,可以实现各科成绩的基本操作,使用户能够方便地管理学生成绩信息。1.2基本需求《学生成绩管理系统》针对主要用户为教师,此系
3、统可以实现用户对学生基本信息的添加、修改、删除操作,也可以对学生成绩进行输入、管理、显示功能,还有对于不及格科目超过两科的学生名单统计,也可以对各科成绩进行排名。二.需求分析根据程序的功能划分,可划分为以下几个模块:1、学生基本信息设置模块用户在此模块中可以够添加,删除,修改学生的基本信息2、各科成绩录入模块用户在这个模块之中可以对各个学生的各科成绩进行录入3、成绩统计模块用户在此模块可以选择查看各科成绩的排名情况,或者不及格科目超过两门的学生名单统计4、信息查询模块用户在此模块可以查询全部的学生数据,也可以查询某个学生的信息19一.系统设计3.1主函数流程图根据用户需求,系统主
4、函数的流程图如下:193.2主程序结构及其声明本程序运用链表结构,将各数据联系起来,实现学生各个数据的添加、删除、修改等等功能。分别创建四个头文件,来实现主函数流程图中四个大的作用模块,其中学生基本信息管理的头文件命名为StuSet.h,各科成绩录入模块的头文件命名为RecordSet.h,学生成绩统计模块的头文件命名为RecordTongJi.h,学生信息查询模块的头文件命名为InformSeek.h。在StuSet头文件中,创立结构,并定义结构体链表,定义全局变量链表头指针、尾指针、New指针,定义学生数变量n(即节点数),其声明如下:193.3各个操作函数的流程图3.3.1
5、添加学生信息函数在添加学生基本信息函数中,运用链表的创建方法,其流程图如下:193.3.2修改学生信息函数学生信息修改函数是简单的链表结点数据修改,由于尚未输入信息之前没有数据,故无法修改,所以本函数加入了一个判断语句,其流程图如下:193.3.2删除学生信息函数删除学生数据的函数即删除结点的函数,其流程图如下:193.3.2游历链表(输出数据)函数输出全部数据的函数,即游历链表的函数,其函数流程图为:3.3.3比较函数(即成绩排名函数)成绩排名函数利用了冒泡法给学生各科成绩进行排序,交换所有数据,而后一一输出,其流程图为:193.3.2单科成绩录入函数若未添加学生基本信息,则无
6、法录入各科成绩,会提示请添加学生基本信息,该函数的流程图为:3.3.3挂科超过两门名单统计函数此函数我运用了一个计数变量q,来控制输出,当挂了一科(即一个科目的分数少于60分),q便自加1,q的初始值为0,即当q>=2时输出该生的名字以及学号,其流程图为:19一.编码与调试分析本系统编码过程中遇到过很多问题,现按其类别一一举出。4.1遇到过的错误4.11语法错误最初遇到的语法错误便是在主菜单中的语法错误,开始定义了选择项的变量为整型,选择时若是输入了一个字符,便会进行菜单的无限循环。后来改为数组类型,用了switch循环语句,改掉了这个bug并能提示输入错误,请重新选择。后来遇到
7、一个语法错误,是在编挂科超过两门学生名单统计时,计数变量q的语法错误,开始定义q是在循环外定义的,这样在每次执行循环之前q的初值都是执行完上一次的值,并不是0,所以程序会显示各个学生的信息,现代码改为如下:在每次循环之前q都为0,避免了出错。194.12运行错误编码时候遇到的运行错误,也是解决掉程序的一个重大的bug。开始本程序在调用过添加学生信息(即创建一个链表)之后,若再继续添加学生信息,则程序会出错,因为此时相当于创建了两个链表。为修改这个错误,我创建了一个“继续添加学生信
此文档下载收益归作者所有