问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++题目 面向对象程序设计b题目

发布网友 发布时间:2022-05-12 00:08

我来回答

3个回答

热心网友 时间:2023-10-28 03:11

//person.h
#include <iostream>
#include <string>

using namespace std;

class date
{
public:
date(){}
date(int y, int m, int d): year(y),month(m),day(d){}
void set_date(int y, int m, int d)
{
this->year = y;
this->day = d;
this->month = m;
}
void print_date()
{
cout << "birthday" << year << ":" << month << ":" << day << "\n";
}
~date(){};

private:
int year, month, day;
};

class person
{
public:
person();
//person(char*, char*, char*);
person(string, string, string);
virtual void Show();
virtual void Read();
virtual ~person(){};

private:
//char name[10];
//char sex[10];
//char address[50];
string name;
string sex;
string address;
date d;
};
/*
person::person()
{
;
}

person::person(string n, string s, string a):name(n), sex(s), address(a){}

void person::Read()
{
string name, sex, address;
int y, m, d;

cout << "input name, sex, address,date\n";
cin >> name >> sex >> address >> y >> m >> d;
this->name = name;
this->sex = sex;
this->address = address;
//person(name, sex, address);
//this->d.year = y;
//this->d.month = m;
//this->d.day = d;
this->d.set_date(y, m, d);

}

void person::Show()
{
cout << "name: " << this->name << "\tsex:"+sex << "\taddress:"+address << endl;
this->d.print_date();

}
*/

//student.h

class student:public person
{
public:
student(){};
void Show();
void Read();
~student(){};
private:
string major;
string course[20];
date stu_register_date;
};
/*
void student::Read()
{
//person.Read();
person::Read();
cout << "input major:\n" ;
cin >> major;
major = major;
cout << "input course less than 20 and 'q' to quite:\n";
string str_temp;
size_t st = 0;
while (cin >> str_temp && str_temp != "q")
{
course[st] = str_temp;
st++;
}
}

void student::Show()
{
person::Show();
cout << "major:"+major << endl;
}
*/

//teacher.h

struct course
{
int xueqi;
int keshi;
char name[50];
};

class teacher:public person
{
public:
teacher(){}
void Read();
void Show();
~teacher(){}
size_t course_point;
private:
course tea_courses [10];

};
/*
void teacher::Read()
{
person::Read();
cout << "input course:xueqi(int),keshi(int),name(char*) 'q' to complate" << endl;
int xueqi, keshi;
//char name[50];
cin >> xueqi >> keshi;
tea_courses[course_point].xueqi = xueqi;
tea_courses[course_point].keshi = keshi;
cin >> tea_courses[course_point].name;
course_point++;
}

void teacher::Show()
{
person::Show();
for(size_t st=0; st!=course_point;++st)
{
cout << "course:\n" << "xueqi:" + tea_courses[st].xueqi << "\tkeshi:" + tea_courses[st].keshi
<< "\tname:" << tea_courses[st].name << endl;
}

}

*/

//main.cpp
#include <iostream>
#include "person.h"
#include "student.h"
#include "teacher.h"

using namespace std;

int main()
{
person * p;
student stu;
p = &stu;
p->Read(); // read student
p->Show(); //show student

p = new teacher();
p->Read(); // read teacher
p->Show();// show teacher

cout << "hello world\n";
return 0;
}
//person.cpp
#include <iostream>
#include "person.h"
using namespace std;

person::person()
{
;
}

person::person(string n, string s, string a):name(n), sex(s), address(a){}

void person::Read()
{
string name, sex, address;
int y, m, d;

cout << "input name, sex, address,date\n";
cin >> name >> sex >> address >> y >> m >> d;
this->name = name;
this->sex = sex;
this->address = address;
//person(name, sex, address);
//this->d.year = y;
//this->d.month = m;
//this->d.day = d;
this->d.set_date(y, m, d);

}

void person::Show()
{
cout << "name: " << this->name << "\tsex:"+sex << "\taddress:"+address << endl;
this->d.print_date();

}
//student.cpp
#include <iostream>
#include "person.h"
#include "student.h"

using namespace std;

void student::Read()
{
//person.Read();
cout << "input a student\n";
person::Read();
cout << "input major:\n" ;
cin >> major;
major = major;
cout << "input course less than 20 and 'q' to quite:\n";
string str_temp;
size_t st = 0;
while (cin >> str_temp && str_temp != "q")
{
course[st] = str_temp;
st++;
}
}

void student::Show()
{
cout << "cout a student\n";
person::Show();
cout << "major:"+major << endl;
for(size_t st=0; st!=20; ++st)
{
cout <<"\t" << course[st] << endl;
}

}
//teacher.cpp
#include <iostream>
#include "person.h"
#include "teacher.h"

using namespace std;

void teacher::Read()
{
cout << "cin a teacher\n";
person::Read();
cout << "input course:xueqi(int),keshi(int),name(char*) 'q' to complate" << endl;
int xueqi, keshi;
//char name[50];
cin >> xueqi >> keshi;
tea_courses[course_point].xueqi = xueqi;
tea_courses[course_point].keshi = keshi;
cin >> tea_courses[course_point].name;
course_point++;
}

void teacher::Show()
{
cout <<"cout a teacher\n";
person::Show();
for(size_t st=0; st!=course_point;++st)
{
cout << "course:\n" << "xueqi:" + tea_courses[st].xueqi << "\tkeshi:" + tea_courses[st].keshi
<< "\tname:" << tea_courses[st].name << endl;
}

}

你可以仔细测试一下。。

热心网友 时间:2023-10-28 03:12

设计实现校园信息管理系统,在该校园信息管理系统中同时对教师和学生的信息进行管理。
要求和提示如下,请认真看完:
(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变量中存放的数据
问题补充:在线等 急。。。。 事后追加分

热心网友 时间:2023-10-28 03:12

我大概看了下,建议你一步步操作。
其实很容易的。从创建类开始,然后逐个添加成员变量和函数。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
人类如何才能悬浮在空中? - 知乎 人体悬浮术是真的存在吗 人体怎样才能真正的在空中悬浮 小孩c蛋白反应高是什么原因 (2014?南海区二模)如图所示,物重G为2000N,小红用800N的拉力花2s的时间... 苹果13系列升级iOS15.5好吗? 出生2o12年11月20日2点姓石光字辈取名 求龙凤胎名字:2012年6月21日(农历5月初3)凌晨0点40分出生,大的为龙,小... by和take有什么区别 takeby后面跟交通工具的区别 十代思域音响失灵 面向对象程序设计习题!高分求助啊 今年长治幼儿园为什么不放暑假? 面向对象程序设计试题102? 面向对象程序设计 基础题 具有中国特色的可持续发展的农业生产模式是 编程题 面向对象程序设计 面向对象程序设计题 面向对象程序设计试题82? 促进农业可持续发展要发展哪些类型的农业 面向对象程序设计试题 【高分】面向对象的程序设计题 面向对象程序设计试题10? C++面向对象程序设计试题 寻找一些面向对象程序设计的经典例题(C++) 面向对象程序设计题目 为什么会梦到前男友,他对我不好,在一起也不久。醒来就觉得很可怕。 iPhone Home键在哪 感冒咳嗽能吃洋葱头吗 感冒能吃洋葱吗 地理必修三第二章第四节区域农业的可持续发展 思域显示音响关闭,放歌没声音 给我加女儿免费取个名字 我想知道2020年幼儿园通知不放暑假了,是国家定的吗? 白颜色是咋么调配出来的 海鸥的上弦的手表进水了,怎么办 民生逾期协商个性化分期同意可以变更吗? 没有凹槽的圆形手表后盖怎么打开? 谁知道这种手表的后盖怎么打开? 这样的手表后盖怎么打开? 父亲去世房屋遗产该如何分配? 父母房产(遗产)子女协商约定文书不经过公证是否具有法律效应? 父母遗产房屋继承分配,产权证是父亲名,拆迁怎么分配 玄门大师张陵扮演者是谁 玄门大师张陵谁演的 玄门大师云奇扮演者是谁 玄门大师云奇谁演的 玄门大师东皇菲菲扮演者是谁 玄门大师东皇菲菲谁演的 电视剧玄门大师夜空女王是谁扮演的 玄门大师鲍天琦演的谁 玄门大师小玉是谁演的 玄门大师小玉扮演者张雅卓个人 《玄门大师》云奇是谁演的 扮演者王佑硕资料背景经历