课程设计报告内容(源代码在另一个文章中)

原创 2015年07月10日 01:49:06

1目的与要求

1.1设计目的

通过实习,掌握程序设计的一般流程,掌握C++语言语法、语句、函数等重点知识。掌握面向对象的相关内容,学习面向设计综合程序过程和方法,掌握程序调试方法和技巧。

1.2课题提出

在学校的日常管理中,学生成绩管理系统有着十分重要的。学生成绩管理系统也是我们经常接触到的。但是学生成绩管理系统其中的功能是怎么实现的,通过C++编写的学生学籍管理系统可以让我们对学生学籍管理系统有一个大概的认识。

1.3功能要求

学生成绩管理系统的要求如下:

(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;

(2)要求在设计的过程中,设计必需使用类和对象。

(3)设计内容:设立程序管理学生信息:学生学号、姓名、班级,语文、数学、英语成绩。能够实现根据以下关键字查询:学生姓名、学号、班级、课程名称;按照单科成绩、总成绩、平均成绩、学号排序;学生信息的插入、删除和修改;查询每个课程的最高分、最低分及相应学生姓名、班级和学号;查询每个班级某门课程的优秀率、不及格率,并进行排序。

(4)要求独立完成,设计算法并编写代码,调试通过。

2系统详细分析

2.1需求分析

学生成绩管理系统是面向教师的信息整理平台,交互界面经过优化,希望使用该系统的老师可以容易掌握基本的操作。该系统选取了最常用的几个功能,展现出一个学生成绩管理系统的本质和雏形。学生成绩管理系统最重要的几个内容包括:学生信息和成绩的写入,学生成绩的统计和排序,学生学籍信息的保存,学生信息的读取及显示,学生学籍信息的查找,学生学籍信息的修改及删除这几大功能。该系统灵活性强,操作方便,程序稳定性强。

C++是一门比较复杂的语言,它是一门既有面向过程,又有面向对象的编程语言,同时有保留了一些C语言的机制,所以C++看起来会比Java复杂。面向对象中基本的单位是类和对象,我创建了一个Student的类,用于封装学生中的姓名,学号,班级,成绩,平均分,总分等信息。同时创建了一个Student stud[]的对象数组,用于存放每一个学生的信息,这个对象十分重要,以后的操作基本是基于对象数组来实现的。

本程序运行的平台是基于64位的Windows7操作系统的VS2013,程序在此平台上测试通过,能正常运行。

2.2功能分析

学生学生管理系统分为七个模块:

(一)资料写入模块  ;(二)信息读取模块 ;

(三)信息保存模块  ;(四)信息操作模块 ;

(五)信息统计模块  ;(六)信息查找模块 ;(七)用户界面模块  。

每一个模块都有一个或者几个函数实现这个模块的功能。

2.3系统模块分析

(一)资料写入模块:

函数原型:voidinfoWrite();

说明:这一个函数负责读取用户在窗口输入的数据,并且将这些数据保存在Student stud[]的对象数组里面。

(二)信息读取模块:

(1)函数原型:void infoRead();

说明:这一个函数负责读取保存在指定文件夹中的文件数据,并且将其数据显示。

(三)信息保存模块:

(2)函数原型:infoSave();

说明:这一个函数负责将Studentstud[]对象数组中的数据保存在文件中,文件名需要用户自己定义。

(3)函数原型:infoSaveAgain();

说明:这一个函数只用于删除模块中使用。将经过修改的Student stud[]再一次存储在文件中,避免数据的混乱出错。

(四)信息操作模块:

(1)函数原型:void del();

说明:这一个函数是用来删除Studentstud[]中的数据,原理是后一个元素对前一个元素的覆盖,来实现“删除”的功能。

(2)函数原型:void infoAdd();

说明:这一个函数是向Studentstud[]中添加新的元素,然后同样保存在指定文件中。信息添加与信息修改功能的实现原理和信息删除的原理大致相同,最重要的是对象数组中的元素取出,进行对比就可以找到该学生信息。

(3)函数原型:void infoRevise();

说明:这一个函数是通过姓名在stud[]中查找,然后修改指定学生的资料,修改的资料会调用保存模块进行更改信息的保存工作。

(五)信息统计模块:

(1)函数原型:voidorderTotalScore();

说明:利用冒泡排序法,依据总分排序,将stud[]中的元素进行排序,然后将其显示。

(2)函数原型:void orderAverage();

说明:利用冒泡排序法,依据平均分排序,将stud[]中的元素进行排序,然后将其显示。

(3)函数原型:voidmaxScore();

说明:将stud[]中的sum中的数据提取出来,进行高到低分的排序,显示总分最高。

(4)函数原型:voidminScore();

说明:将stud[]中的sum中的数据提取出来,进行低到高分的排序,显示总分最低。

(六)信息查找模块:

(1)函数原型:void accordingNum();

说明:依据学号进行学生资料的查找。

(2)函数原型:void accordingName();

说明:依据姓名进行学生资料的查找。

(3)函数原型:void accordingClassNum();

说明:依据班级进行学生资料的查找。

(七)用户使用界面:

(1)函数原型:void dataManagement();

说明:资料管理界面。

(2)函数原型:void statistics();

说明:统计工具界面。

(3)函数原型:void inquiry();

说明:查询工具界面。

(4)函数原型:int main();

说明:管理系统界面


3.总结与体会

这次的课程设计虽然安排在两周进行,但它能检验我们在于运用与学习成果。在这过程中找出学习中存在的不足,为我们的学习内容与方法提供实践依据。对我们来说,实际能力的培养十分重要,而这种实际能力的培养需要更多的实际践行。通过课程设计,让我们找到自身与实际需求的差距,在以后的学习中我们要补充相关知识,为我们的未来做好充分的知识、能力准备。

这次课程设计所设计的学生成绩管理系统是一个小型的人事信息管理系统,该系统实现了学生信息的添加、删除、修改、显示、查询等功能,并且运用了文件操作技术,可以实现数据的永久性保存。

在编写程序的过程中,我翻阅了这一学年的所有教科书,上网查阅了相关的知识丰富学习,找到知识层次较好的师兄作指导教学,在这样的综合学习中我得到了学习与能力的提高。

这次的课程设计用到的知识和经历的实践,让我学会延续上学期的基础知识,拓展了这学期的学习面,锻炼了自身的能力,综合素质得到较大提高。然而技术的不熟练导致了程序中一定程度的缺点和问题:1、程序在调用读取的模块时有时会出现错误,无法正常显示内容;2、没有优秀率、不合格率查询,虽然程序功能能满足基本需求,但特别的附加功能略显欠缺,没有太多创新。

在这次的经验与学习之后,我将总结本次的优缺点,在接下来的学习中发展优点,努力填补缺失点的知识内容,不断丰富C++的知识面。在学习书本内容的同时,我们不能只停留在理论知识层面,这不仅需要提高动手能力,还应该激发自己对专业知识的兴趣,并能够结合实际存在的问题更深入的学习,丰富自己的创新能力。学无止境,勤奋拼搏。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【压箱底】课程设计做的Android五子棋源代码,开源内核

似乎是某个课程,在整理电脑的时候发现了,从本地删了,放到云上吧,以后可能用不到了,入门级别的 1、源代码: 下载地址:http://download.csdn.net/detail/linghug...

C++/C课程设计(3)工资管理系统源代码说明

文章取自个人网站

网络课程设计 报告内容

  • 2011-04-09 20:32
  • 89KB
  • 下载

微机接口课程设计报告-模拟汽车控制系统

1. 课程论文题目    设计一个模拟汽车控制系统,用简单逻辑电平控制车的档位(前进1,前进2,前进3,后退),用步进电机的转速模拟车的速度(若步进电机不能用,也可以用流水灯的刷新方向和速度,或数码管...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)