《面向对象程序设计》课程设计-学生成绩管理系统

《面向对象程序设计》课程设计-学生成绩管理系统

ID:18644381

大小:425.00 KB

页数:18页

时间:2018-09-20

《面向对象程序设计》课程设计-学生成绩管理系统_第1页
《面向对象程序设计》课程设计-学生成绩管理系统_第2页
《面向对象程序设计》课程设计-学生成绩管理系统_第3页
《面向对象程序设计》课程设计-学生成绩管理系统_第4页
《面向对象程序设计》课程设计-学生成绩管理系统_第5页
资源描述:

《《面向对象程序设计》课程设计-学生成绩管理系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《面向对象程序设计》课程设计09计应109821122谢燕清一.课题设计内容、具备的功能(一)设计内容1.性质本课程是学生在学习完《程序设计基础》、《面向对象程序设计》课程后,为提高学生使用面向对象的语言解决实际问题的能力设置的一门实践性课程,是计算机科学与技术专业计算机应用方向的必修课。2.目的本课程实验教学的目的是:1)使学生通过实践环节深入理解和掌握课堂教学内容,进一步加深理解面向对象的基本理论,掌握基本方法、基本技术。2)通过设计一个功能比较完整的,有实际应用价值的应用软件,使学生了解采用面向对象技术开发软件的全部过程,掌握采用面向对象技术开发软件的方法。提高学生

2、使用面向对象方法,和面向对象的语言解决实际问题的能力。3)通过本课程设计,为后续《数据库系统原理与应用》《数据结构》《编译原理》等课程打下扎实的专业基础。3.任务学生成绩管理系统,系统存储以下信息:1)学生基本信息和成绩;2)学生的人数。4.要求1)根据题目要求,对问题进行需求调查和分析,识别类和对象,合理设计类和对象;2)合理设计程序结构,系统各项功能要求在函数中实现。在主函数中设计菜单,通过菜单调用这个函数;3)输入输出要求由提取运算符和插入运算符的重载函数实现;公用过程尽可能设计成函数或函数模板;4)设计过程中必须考虑程序的健壮性,在关键的地方必须要有容错处理。(二

3、)具备的功能系统功能:1.系统初始化包括上述文件的创建和读取(二进制或ASCII文件);2.增加学生新增加学生信息和成绩;3.删除学生根据学号删除相应学生信息;4查询根据学号,查询相应学生信息;5.排序根据学生学号、姓名、成绩对学生信息排序,并显示;6.修改修改指定学号的学生数据。一.模块(函数)的划分、各模块(函数)的功能、采用的自定义的数据类型(一)模块(函数)的划分1.类的定义:student.h1)定义抽象类personprotected:intID;//学号charName[10];//姓名public:virtualbooloperator<(Person&)

4、=0;//>运算符重载virtualbooloperator>=(Person&)=0;//<=运算符重载2)定义派生数据类student,基类为person类。Private:intScore[4];//成绩voidSwapData(Student*);//交换数据public:Student(int=0,char*=NULL,int*=NULL);//构造函数booloperator<(Person&);//>运算符重载booloperator>=(Person&);//<=运算符重载friendofstream&operator<<(ofstream&,Studen

5、t*);//<<运算符重载输出到文件friendifstream&operator>>(ifstream&,Student*);//>>运算符重载从文件输入friendostream_withassign&operator<<(ostream_withassign&,Student*);//<<运算符重载输出到显示器friendistream_withassign&operator>>(istream_withassign&,Student*);//>>运算符重载从键盘输入friendclassList;//List为友元类3)定义设计结点类Nodeprivate:Stu

6、dent*Stup;//指向学生对象指针Node*Prev,*Next;//指向前后结点指针public:Node();//构造函数Node(Student*);//构造函数Node(Node&);//复制构造函数~Node();//析构函数friendclassList;//List为友元类4)定义带有头结点链表类List,私有数据成员为Node*Head,*Tail分别,指向链表头尾:private:voidInitList();//初始化函数public:List();//构造函数~List();//析构函数voidClearList();//清空链表Node*Fi

7、ndID(int&);//根据学号寻找学生所在结点voidInsert(Node*);//插入一个学生Node*CreateNode(Student*);//建立一个学生结点voidAdd();//增加一个学生voidUpdate();//修改学生成绩voidDelete();//删除一个学生voidQuery();//查找一个学生voidSortID();//按学号排序voidSortScore();//按学生总成绩排序voidSaveBin();//以二进制形式保存数据voidPrintList();//显示链表voidP

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。