1、 一一目的与要求目的与要求 通过本课程设计的实践,全面总结 C+课程学习中的的数据类型、程序结构、数组、函数、 指针、 结构体、 链表等基本概念, 掌握其使用方法。 掌握面向对象程序设计中有关类、 对象、 继承、重载、多态性、输入输出流类体系、文件操作的基本概念,初步学会用类与对象这种 面向对象的程序设计方法编写应用程序。 培养使用面向对象的程序设计方法编写计算机程序 的能力。 通过设计一个学生成绩统计管理 ,进一步熟悉 C+中类的概念、类的封装、继承的实现 方式。了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试 的全过程,加深对 C+的理解与 Visual C+环境
2、的使用;逐步熟悉程序设计的方法,并养成 良好的编程习惯。程序设计是一门实践性很强的课程,必须十分重视实践环节。许多实际的 知识不是靠听课和看书学到的,而是通过长时间的实践积累的。 一、一、 设计设计内容内容 学生成绩管理系统学生成绩管理系统 1基本功能: 这个程序的主要功能是输入学生姓名、成绩,学号,并可以对学生的成 绩按学号进行查询。 该系统具有存贮学生数据, 按学号按需要修改学生成绩, 列出学生成绩和统计功能。 2扩展功能: 学生数据的添加、修改、与删除 2.ER 1 二、二、 过程与结果过程与结果 主要内容如下:主要内容如下: 1. 关键类的设计,继承层次关系,代码关键类的设计,继承层次
3、关系,代码: 首先,创建了一个 student 类. Student 类的声明如下: class Student public: int Class,num; char name8; float cpp,math,eng,ave; int order; Student *next; public: Student() Student(int c1,int n1,char*n,float e1,float c2,float m,float e2,float s,float p,float a, int o,Student *next=NULL) Class=c1;num=n1; strcpy(n
4、ame,n); 修改数据 删除数据 查询数据 显示数据 平均数据 添加数据 学 生 成 绩 管理系统 2 cpp=c2;math=m;eng=e2;ave=a; order=o; this-next=next; 主要功能函数的设计主要功能函数的设计: 1. 创建学生数据,对学生的成绩的录入。 代码:friend Student *Create(Student *head,istream Student *p; int Class,num; char name8; float cpp,math,eng; if( /coutClass; coutname; coutnum; coutcpp; co
5、utmath; couteng; /*while(V alid(elec) p-Class=Class;p-num=num;strcpy(p-name,name); p-cpp=cpp;p-math=math; p-eng=eng; p-ave=(cpp+math+eng)/6; head=Insert(head,p); /inClassnamenumeleccppmathengpolitysport; couty; if(y=2) ShowMenu(); elsehead=Create(head,cin); SetOrder(head); /设置排名 return head; 2. 此函数为
6、查找函数的实现过程 主要代码:主要代码:friend const Student * Lookup(const Student *head,int num) /查查 找指定学号为找指定学号为 num的结点的结点 while(head return head; friend void OutputOne(const Student* head) /输出一个学生数据输出一个学生数据 coutnext; if(p2) if(p2=p1) 4 head=head-next;delete p1; else p1-next=p2-next;delete p2; coutnext; 5修改学生的信息修改学生的信息 friend Student *Modify(Student *head,int num) /修改学号为学生的数据 Student *p1=head,*p2=p1; while(p2 if(p2) /修改指定结点数据 /*coutp2-Clas