c++控制台应用程序
2011-09-30 10:19
288 查看
c++控制台应用程序
悬赏分:50 - 解决时间:2009-9-19 12:38
设计一个控制台应用程序XXXPersion,其中包含一个描述人的抽象类PersionClass,利用继承的方式派生学生类StudentClass,教师类TeacherClass和歌手类SingerClass等,在PersionClass类中要有必要的数据如:姓名、性别、年龄等,在派生类StudentClass中要有所在学校等与学生有关的数据的描述;在TeacherClass类中要有职称等与教师有关的相关数据的描述,在SingerClass中要有住址、身高等与歌手有关的数据的描述。总的要求:要有必要的获得数据的手段,如获得学生、教师或歌手的姓名、性别、年龄,学生所在的学校、教师的职称、歌手的住址等,尽量将题目设计完整,功能完善,同时设计测试类对所设计的类及包含的功能进行测试。
评分标准:
1. 正确合理设计PersionClass类 10分
2. 正确使用继承设计StudentClass类 10分
3. 正确使用继承设计TeacherClass类 10分
4. 正确使用继承设计SingerClass类 10分
5. 能够正确设计测试类并进行合理测试 10分
6. 程序整体效果及运行 10分
问题补充:学校的一次模拟,大家帮帮忙,对了,后面的题目的分数!!
提问者: 村里有点穷 - 试用期 二级 最佳答案#include <stdio.h>
#include <iostream>
using namespace std;
class XXXPerson{
public:
char name[20]; //姓名
char sex[2]; //性别
int age; //年龄
public:
XXXPerson(){
memset(name, 0, 20);
memset(sex, 0,2);
age = 0;
}
XXXPerson(char n[], char s[], int i){
strcpy(name, n);
strcpy(sex, s);
age = i;
}
virtual void displayInfo(){
cout << "Person--> name: "<<name << "\t sex: " << sex << "\t age: " << age <<"." << endl;
}
};
class StudentClass:public XXXPerson{
public:
char school[50]; //所在学校
char otherinfo[200]; //其它信息
public:
StudentClass(char n[], char s[], int age, char sch[], char oi[]){
strcpy(name, n);
strcpy(sex, s);
this->age = age;
strcpy(school, sch);
strcpy(otherinfo, oi);
}
virtual void displayInfo(){
cout << "学生 "<<name << " 的信息:" << endl;
cout<< "\t性别:\t\t" << sex << endl;
cout << "\t年龄:\t\t" << age << endl;
cout << "\t所在学校:\t" << school << endl;
cout << "\t附加信息:\t" << otherinfo << endl;
}
};
class TeacherClass:public XXXPerson{
public:
char tlevel[50]; //职称
char otherinfo[200]; //其它信息
public:
TeacherClass(char n[], char s[], int age, char sch[], char oi[]){
strcpy(name, n);
strcpy(sex, s);
this->age = age;
strcpy(tlevel, sch);
strcpy(otherinfo, oi);
}
virtual void displayInfo(){
cout << "老师 "<<name << " 的信息:" << endl;
cout<< "\t性别:\t\t" << sex << endl;
cout << "\t年龄:\t\t" << age << endl;
cout << "\t职称:\t\t" << tlevel << endl;
cout << "\t附加信息:\t" << otherinfo << endl;
}
};
class SingerClass:public XXXPerson{
public:
int stature; //身高
char address[200]; //住址
char otherinfo[200]; //其它信息
public:
SingerClass(char n[], char s[], int age,int t, char sch[], char oi[]){
stature = t;
strcpy(name, n);
strcpy(sex, s);
this->age = age;
strcpy(address, sch);
strcpy(otherinfo, oi);
}
virtual void displayInfo(){
cout << "歌手 "<<name << " 的信息:" << endl;
cout<< "\t性别:\t\t" << sex << endl;
cout << "\t年龄:\t\t" << age << endl;
cout << "\t身高:\t\t" << stature << endl;
cout << "\t住址:\t\t" << address << endl;
cout << "\t附加信息:\t" << otherinfo << endl;
}
};
int main(void){
StudentClass p1("小明", "男", 19, "XX大学", "学生测试。");
SingerClass p2("刘德华", "男", 40, 180,"保密不公开。", "歌手测试。");
TeacherClass p3("李老师", "女", 39, "高级教师", "老师测试");
XXXPerson *p[3] = {&p1, &p2, &p3};
for(int i=0; i<3; i++)
p[i]->displayInfo();
}
悬赏分:50 - 解决时间:2009-9-19 12:38
设计一个控制台应用程序XXXPersion,其中包含一个描述人的抽象类PersionClass,利用继承的方式派生学生类StudentClass,教师类TeacherClass和歌手类SingerClass等,在PersionClass类中要有必要的数据如:姓名、性别、年龄等,在派生类StudentClass中要有所在学校等与学生有关的数据的描述;在TeacherClass类中要有职称等与教师有关的相关数据的描述,在SingerClass中要有住址、身高等与歌手有关的数据的描述。总的要求:要有必要的获得数据的手段,如获得学生、教师或歌手的姓名、性别、年龄,学生所在的学校、教师的职称、歌手的住址等,尽量将题目设计完整,功能完善,同时设计测试类对所设计的类及包含的功能进行测试。
评分标准:
1. 正确合理设计PersionClass类 10分
2. 正确使用继承设计StudentClass类 10分
3. 正确使用继承设计TeacherClass类 10分
4. 正确使用继承设计SingerClass类 10分
5. 能够正确设计测试类并进行合理测试 10分
6. 程序整体效果及运行 10分
问题补充:学校的一次模拟,大家帮帮忙,对了,后面的题目的分数!!
提问者: 村里有点穷 - 试用期 二级 最佳答案#include <stdio.h>
#include <iostream>
using namespace std;
class XXXPerson{
public:
char name[20]; //姓名
char sex[2]; //性别
int age; //年龄
public:
XXXPerson(){
memset(name, 0, 20);
memset(sex, 0,2);
age = 0;
}
XXXPerson(char n[], char s[], int i){
strcpy(name, n);
strcpy(sex, s);
age = i;
}
virtual void displayInfo(){
cout << "Person--> name: "<<name << "\t sex: " << sex << "\t age: " << age <<"." << endl;
}
};
class StudentClass:public XXXPerson{
public:
char school[50]; //所在学校
char otherinfo[200]; //其它信息
public:
StudentClass(char n[], char s[], int age, char sch[], char oi[]){
strcpy(name, n);
strcpy(sex, s);
this->age = age;
strcpy(school, sch);
strcpy(otherinfo, oi);
}
virtual void displayInfo(){
cout << "学生 "<<name << " 的信息:" << endl;
cout<< "\t性别:\t\t" << sex << endl;
cout << "\t年龄:\t\t" << age << endl;
cout << "\t所在学校:\t" << school << endl;
cout << "\t附加信息:\t" << otherinfo << endl;
}
};
class TeacherClass:public XXXPerson{
public:
char tlevel[50]; //职称
char otherinfo[200]; //其它信息
public:
TeacherClass(char n[], char s[], int age, char sch[], char oi[]){
strcpy(name, n);
strcpy(sex, s);
this->age = age;
strcpy(tlevel, sch);
strcpy(otherinfo, oi);
}
virtual void displayInfo(){
cout << "老师 "<<name << " 的信息:" << endl;
cout<< "\t性别:\t\t" << sex << endl;
cout << "\t年龄:\t\t" << age << endl;
cout << "\t职称:\t\t" << tlevel << endl;
cout << "\t附加信息:\t" << otherinfo << endl;
}
};
class SingerClass:public XXXPerson{
public:
int stature; //身高
char address[200]; //住址
char otherinfo[200]; //其它信息
public:
SingerClass(char n[], char s[], int age,int t, char sch[], char oi[]){
stature = t;
strcpy(name, n);
strcpy(sex, s);
this->age = age;
strcpy(address, sch);
strcpy(otherinfo, oi);
}
virtual void displayInfo(){
cout << "歌手 "<<name << " 的信息:" << endl;
cout<< "\t性别:\t\t" << sex << endl;
cout << "\t年龄:\t\t" << age << endl;
cout << "\t身高:\t\t" << stature << endl;
cout << "\t住址:\t\t" << address << endl;
cout << "\t附加信息:\t" << otherinfo << endl;
}
};
int main(void){
StudentClass p1("小明", "男", 19, "XX大学", "学生测试。");
SingerClass p2("刘德华", "男", 40, 180,"保密不公开。", "歌手测试。");
TeacherClass p3("李老师", "女", 39, "高级教师", "老师测试");
XXXPerson *p[3] = {&p1, &p2, &p3};
for(int i=0; i<3; i++)
p[i]->displayInfo();
}
相关文章推荐
- c++控制台应用程序如何不显示dos窗口
- C++ Win32控制台应用程序捕捉关闭事件
- win32 c++控制台应用程序内存泄露检测
- C++中开发带参数的控制台应用程序
- 如何在win32控制台应用程序中使用C++类库
- C++控制台应用程序 无法右键粘贴 解决方法
- win32 c++控制台应用程序捕获ctrl+c程序关闭事件
- C++回顾 控制台应用程序窗口暂停
- 【C++】第1章 在VS2015中用C++编写控制台应用程序
- c++ 控制台应用程序不显示dos界面
- 控制台应用程序C++输出菱形
- C++捕捉关闭控制台应用程序事件
- Visual Studio 2015专业版创建Win32控制台应用程序,C,C++源文件
- c++学习笔记,控制台应用程序问题
- c\c++ 控制台应用程序开发 gdi++
- vs2013创建c++控制台应用程序
- Visual Studio C++ Win32控制台应用程序,Win32项目,MFC的区别
- 学生成绩管理系统(c++)控制台应用程序
- C++控制台应用程序之贪吃蛇(改进版)
- 创建基于kinect的c++控制台应用程序