设计实现校园信息管理系统,在该校园信息管理系统中同时对教师和学生的信息进行管理。
要求和提示如下,请认真看完:
(1)编写person类,student类,teacher类的声明和成员函数定义,注意进行文件的划分,即分别用一个.cpp和一个.h存放一个类的定义和声明
各个文件名称如下:
person.h, person.cpp, student.h, student.cpp, teacher.h, teacher.cpp, main.cpp
此处不允许将所有三个类的成员函数定义写到同一个.cpp中!!
(2)在编写主函数main的.cpp文件中有如下内容(注意:该.cpp文件并不仅仅包含下面内容,缺少的部分需要自己根据需要和实际情况添加)
//测试多态性
void ShowAll(person *p)
{
p->Show();
}
void main()
{
student s;
s.Read();
teacher t;
t.Read();
//下面是调用ShowAll函数显示学生信息,包括姓名性别家庭住址出生日期等
ShowAll(&s);
//请在下面调用ShowAll函数显示教师信息,包括姓名性别家庭住址出生日期等
}
提示:
(1)person类的声明如下(下面的声明有些问题,无法实现多态,需要自己修改好!!):
class person
{
public:
person();
void Show(void);
void Read(void);
private:
char name[10];//姓名
char sex[10];//性别
char address[50];//家庭住址
date birthday;//出生日期,date为自定义结构,见下面的提示
};
(2)类设计如下:
person类
定义 数据类型 描述
name char数组 姓名
sex char数组 性别
address char数组 家庭住址
birthday date(自定义结构) 出生日期
Show 虚成员函数 输出person实例信息(提示:cout)
Read 虚成员函数 输入person实例信息(提示:cin)
下面,由person类派生出学生类student和教师类teacher。类中成员名称及其功能说明如下表:
student类
定义 数据类型 描述
major char数组 所学专业
courses course数组(自定义结构) 所学课程(假设每名学生最多学20门课程)
sregister date(自定义结构) 入学日期
Show 成员函数 输出student实例信息(提示:cout)
Read 成员函数 输入student实例信息(提示:cin)
teacher类
定义 数据类型 描述
courses course数组(自定义结构) 所教课程(假设每名教师最多教10门课程)
tregister date(自定义结构) 到校日期
Show 成员函数 输出teacher实例信息(提示:cout)
Read 成员函数 输入teacher实例信息(提示:cin)
(3)自定义的结构体如下:
//日期:用于person出生日期,学生入学日期,教师入职日期
struct date
{
int year;
int month;
int day;
};
//课程:用于教师教授课程信息,学生学习的课程信息
struct course
{
int xueqi;//学期
int keshi;//课时
char name[50];
};
编程提示:
该程序本质是需要大家了解多态,虚函数,那么成员函数的编写其实非常简单,仅仅是一些输入输出。
(1)在C++中,如果要读入字符串
char str[10];//定义一个数组,里面存放字符类型的数据
cin>>str;//这样从键盘键入字符串,就可以读入str中
在C++中,如果输出字符串,接着上面的例子写
cout<<str;//这样,就将str中存放的字符串输出到屏幕上
(2)在C++中,读入输出整型数据
int keshi;//定义整型变量
cin>>keshi;//读入一个整型数据到keshi变量中
cout<<keshi;//输出keshi变量中存放的数据
在线等 急。。。。 事后追加分
面向对象程序设计C++复习题
C. 用户程序使用句柄时不需要定义。 D. 句柄仅仅是一个抽象的概念,程序中不能使用句柄。 9.下面关于动态链接库正确的说法是( B ) A. 动态链接库提供的函数,在编译阶段能够连接到应用程序中。 B. 动态链接库提供的函数,在运行阶段能够连接到应用程序中。 C. 动态链接库本身不能单独设计、编译和调试。 D. ...
关于C++的一些题目。
1、C++是从早期的C语言逐渐发展演变来的,与C语言相比,它在求解问题方法上最大的改进是( B )。A. 面向过程 B. 面向对象 C. 安全性 D. 复用性 2、下列关于this指针的叙述中,正确的是( )A.任何与类相关的函数都有this指针 B.类的成员函数都有this指针 C.类的友元函数都...
面向对象程序设计(C++语言描述)马石安 魏文平编著的 课后答案
ji
急急急 C++考试,老师说了题目·叫我们找答案,麻烦各位网友帮忙完成下...
DAACB CAA 四、看程序写结果 结果为 1 3 4 6 7 8 9 10 0 0 五、问答题 1、结构化:把完成某一个任务的复杂的过程分解为子过程,子过程再分解,一直到某些相对简单的过程。关键词:算法分解或过程分解。面向对象就是将一个复杂的系统分解为一些合适实体(对象),由这些实...
C++程序设计题,求解答,十万火急!!!各位帮忙啊!!!
1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(...
Java面向对象程序设计__哪位JAVA高手帮我做一下这些题目.
1 Smalltalk语言和C++语言 2 object 3 class 4 RuntimeException和Error 5 Third 6 (7)new Rectangle(2.5,8.7);(8)myRect.area();(9)this.width (10)this.length
用c++面向对象程序设计写一段求三角形周长和面积的代码?
return sqrt(t*(t-a)*(t-b)*(t-c));} else throw "不能构成三角形,无法求面积";} float getcircumference() const { if(valid)return a+b+c;else throw "不能构成三角形,无法求周长";} static void cal(triangle &tr,enum type t){ try { switch(t){ case area:cout<<"面积...
软件设计师中级下午题技巧
判断实体联系的类型。3. UML图:主要考察UML设计模式和UML图。4. 算法与数据结构:题目可能采用代码填空的形式,考察算法设计策略、算法的时间和空间复杂度等。5. 面向对象程序设计:该部分题目分为C++和Java两个题目,尽管编写代码的语法不同,但考察的内容是相同的。考生可以选择其中一个作答。
C++面向对象程序设计:定义一元二次方程类,求解。
){ if(delta()){ T y=sqr(b*b-4ac);x1=(-b+y)\/2;x2=(-b-y)\/2;return true;} return false;} template<class T> void equation<T>::show(){ if(result())std::cout<<"x1="<<x1<<" "<<"x2="<<x2<<std::endl;else std::cout<<"输入有错"<<std::endl;} ...
使用c++面向对象的程序设计方法,找出十个学生成绩中的最高者,并输出...
include<iostream>#include<cstring>using namespace std;class student{private:string name;int score;public:student(){}student(string _n,int _s){name=_n;score=_s;}friend student getMaxScore(student ss[],int n);void initStudent(string _n,int _s){score=_s;name=_n; }void ...