C++编程题目
建立一个名为CStudent的类,该类有以下几个私有成员变量:学生姓名、学号、性别、年龄和成绩。还有以下几个函数成员:(1)一个带函数参数默认值的构造函数,用于初始化学生...
建立一个名为CStudent的类,该类有以下几个私有成员变量:学生姓名、学号、性别、年龄和成绩。还有以下几个函数成员:
(1)一个带函数参数默认值的构造函数,用于初始化学生姓名、学号、性别、年龄和成绩;
(2)一个输入函数,用于键盘输入学生的信息;
(3)一个输出函数,用于屏幕输出学生的所有信息。
编写主函数:不带参数调用构造函数声明一个学生对象,调用输入函数输入该学生的信息;带参数调用构造函数声明另一个学生对象。
最后调用输出函数在屏幕上输出两个学生的信息。
定义一个CShape抽象类,再利用CShape类分别定义两个派生类CRectangle(表示矩形)和CCirle(表示圆)。三个类都有计算对象面积的成员函数GetArea()和计算对象周长的成员函数GetPerimeter(),在主函数中声明基类指针和派生类对象,并通过基类指针调用不同对象的计算面积和周长的成员函数。 展开
(1)一个带函数参数默认值的构造函数,用于初始化学生姓名、学号、性别、年龄和成绩;
(2)一个输入函数,用于键盘输入学生的信息;
(3)一个输出函数,用于屏幕输出学生的所有信息。
编写主函数:不带参数调用构造函数声明一个学生对象,调用输入函数输入该学生的信息;带参数调用构造函数声明另一个学生对象。
最后调用输出函数在屏幕上输出两个学生的信息。
定义一个CShape抽象类,再利用CShape类分别定义两个派生类CRectangle(表示矩形)和CCirle(表示圆)。三个类都有计算对象面积的成员函数GetArea()和计算对象周长的成员函数GetPerimeter(),在主函数中声明基类指针和派生类对象,并通过基类指针调用不同对象的计算面积和周长的成员函数。 展开
4个回答
展开全部
// 先做第一题:
class CStudent //基类在校人员的声明
{
string Name; //学生姓名
int Id; //学号
string Male; //性别
int Age; //年龄
int Score; //成绩
public:
CStudent(const string name="", int id=0, const string male="", int age=0, int score=0) //(1)一个带函数参数默认值的构造函数,用于初始化学生姓名、学号、性别、年龄和成绩;
: Name(name), Id(id), Male(male),Age(age),Score(score)
{
}
void Input() // (2)一个输入函数,用于键盘输入学生的信息;
{
cout << "输入姓名" << endl;
cin >> Name;
cout << "输入学号" << endl;
cin >> Id;
cout << "输入性别" << endl;
cin >> Male;
cout << "输入年龄" << endl;
cin >> Age;
cout << "输入成绩" << endl;
cin >> Score;
}
void Output( ) //输出数据成员的函数(不含编号)
{
cout << "姓名:" << Name << endl;
cout << "学号:" << Id << endl;
cout << "性别:" << Male << endl;
cout << "年龄:" << Age << endl;
cout << "成绩:" << Score << endl;
}
};
void main()
{
CStudent s1; //不带参数调用构造函数声明一个学生对象
s1.Input(); //调用输入函数输入该学生的信息
CStudent s2("xs2", 10, "fmale", 20, 100); //带参数调用构造函数声明另一个学生对象
s1.Output(); //调用输出函数在屏幕上输出两个学生的信息
s2.Output();
}
=================================================================
/// 第二题
class CShape
{
public:
virtual float GetArea() = 0;
virtual float GetPerimeter() = 0;
};
class CRectangle : public CShape
{
float W,H;
public:
CRectangle(float w, float h):W(w),H(h) {};
virtual float GetArea() { return W*H; };
virtual float GetPerimeter() { return 2*(W+H);};
};
#define PI 3.14
class CCirle : public CShape
{
float R;
public:
CCirle(float r):R(r) {};
virtual float GetArea() { return PI*R*R; };
virtual float GetPerimeter() { return 2*PI*R; };
};
void main()
{
CShape *p1 = new CRectangle(3,4);
CShape *p2 = new CCirle(3);
p1->GetArea();
p1->GetPerimeter();
p2->GetArea();
p2->GetPerimeter();
delete p1;
delete p2;
}
class CStudent //基类在校人员的声明
{
string Name; //学生姓名
int Id; //学号
string Male; //性别
int Age; //年龄
int Score; //成绩
public:
CStudent(const string name="", int id=0, const string male="", int age=0, int score=0) //(1)一个带函数参数默认值的构造函数,用于初始化学生姓名、学号、性别、年龄和成绩;
: Name(name), Id(id), Male(male),Age(age),Score(score)
{
}
void Input() // (2)一个输入函数,用于键盘输入学生的信息;
{
cout << "输入姓名" << endl;
cin >> Name;
cout << "输入学号" << endl;
cin >> Id;
cout << "输入性别" << endl;
cin >> Male;
cout << "输入年龄" << endl;
cin >> Age;
cout << "输入成绩" << endl;
cin >> Score;
}
void Output( ) //输出数据成员的函数(不含编号)
{
cout << "姓名:" << Name << endl;
cout << "学号:" << Id << endl;
cout << "性别:" << Male << endl;
cout << "年龄:" << Age << endl;
cout << "成绩:" << Score << endl;
}
};
void main()
{
CStudent s1; //不带参数调用构造函数声明一个学生对象
s1.Input(); //调用输入函数输入该学生的信息
CStudent s2("xs2", 10, "fmale", 20, 100); //带参数调用构造函数声明另一个学生对象
s1.Output(); //调用输出函数在屏幕上输出两个学生的信息
s2.Output();
}
=================================================================
/// 第二题
class CShape
{
public:
virtual float GetArea() = 0;
virtual float GetPerimeter() = 0;
};
class CRectangle : public CShape
{
float W,H;
public:
CRectangle(float w, float h):W(w),H(h) {};
virtual float GetArea() { return W*H; };
virtual float GetPerimeter() { return 2*(W+H);};
};
#define PI 3.14
class CCirle : public CShape
{
float R;
public:
CCirle(float r):R(r) {};
virtual float GetArea() { return PI*R*R; };
virtual float GetPerimeter() { return 2*PI*R; };
};
void main()
{
CShape *p1 = new CRectangle(3,4);
CShape *p2 = new CCirle(3);
p1->GetArea();
p1->GetPerimeter();
p2->GetArea();
p2->GetPerimeter();
delete p1;
delete p2;
}
展开全部
#include<cstring>
using namespace std;
//这是我改的程序 希望对你有所帮助
#include<iostream>
using namespace std;
int palin(char *a)
{
int n=0;
char *b=NULL;
for(int i=0;*(a+i)!='\0';i++)
if((*(a+i)>=65&&*(a+i)<=90)||(*(a+i)>=97&&*(a+i)<=122))
n++;
b=new char[n+1]; //在c++中
//如果有指针 并且希望她象动态数组一样使用 请先申请空间 不过字符串长量
//不用申请
b[n]='\0';
for(i=0;*(a+i)!='\0';i++)
if((*(a+i)>=65&&*(a+i)<=90)||(*(a+i)>=97&&*(a+i)<=122)) //这里的条件语句有点问题 请你仔细思考下
*(b+n)=*(a+i),n++;
int yesno=1;
for(int x=0,y=n-1;x<y;x++,y--)
if(*(b+x)-*(b+y)!=0&&*(b+x)-*(b+y)!=32&&*(b+x)-*(b+y)!=-32)
yesno=-1;
return yesno;
}
int main()
{
char*a="MAdam";
int x=palin(a);
cout<<x;
return 0;
}
using namespace std;
//这是我改的程序 希望对你有所帮助
#include<iostream>
using namespace std;
int palin(char *a)
{
int n=0;
char *b=NULL;
for(int i=0;*(a+i)!='\0';i++)
if((*(a+i)>=65&&*(a+i)<=90)||(*(a+i)>=97&&*(a+i)<=122))
n++;
b=new char[n+1]; //在c++中
//如果有指针 并且希望她象动态数组一样使用 请先申请空间 不过字符串长量
//不用申请
b[n]='\0';
for(i=0;*(a+i)!='\0';i++)
if((*(a+i)>=65&&*(a+i)<=90)||(*(a+i)>=97&&*(a+i)<=122)) //这里的条件语句有点问题 请你仔细思考下
*(b+n)=*(a+i),n++;
int yesno=1;
for(int x=0,y=n-1;x<y;x++,y--)
if(*(b+x)-*(b+y)!=0&&*(b+x)-*(b+y)!=32&&*(b+x)-*(b+y)!=-32)
yesno=-1;
return yesno;
}
int main()
{
char*a="MAdam";
int x=palin(a);
cout<<x;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只做一题吧 #include <iostream>
#include <string>
using namespace std;
class CStudent{ //基类在校人员的声明
int Id;
char Name[20];
char Sex[4];
int Age;
int CJ;
public:
CStudent(int i, char *n, char *s,int a,int c)
{ //基类构造函数
Id=i;
strcpy(Name,n);
strcpy(Sex,s);
Age=a;
CJ=c;
}
int GetId()// 获取编号的函数
{return Id;}
void Print( )//输出数据成员的函数(不含编号)
{
cout<<"姓名:"<<Name<<"\t性别:"<<Sex<<"\t年龄:"<<Age<<"\t成绩:"<<CJ;
}
};
void main( )
{ CStudent S1(9900101,"张三","男",20,90); //调用派生类构造函数
S1.Print();
}输入还没做
#include <string>
using namespace std;
class CStudent{ //基类在校人员的声明
int Id;
char Name[20];
char Sex[4];
int Age;
int CJ;
public:
CStudent(int i, char *n, char *s,int a,int c)
{ //基类构造函数
Id=i;
strcpy(Name,n);
strcpy(Sex,s);
Age=a;
CJ=c;
}
int GetId()// 获取编号的函数
{return Id;}
void Print( )//输出数据成员的函数(不含编号)
{
cout<<"姓名:"<<Name<<"\t性别:"<<Sex<<"\t年龄:"<<Age<<"\t成绩:"<<CJ;
}
};
void main( )
{ CStudent S1(9900101,"张三","男",20,90); //调用派生类构造函数
S1.Print();
}输入还没做
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
t;iostream>
using namespace std;
class Riqi
{
private:
long nian,yue,ri;
public:
Riqi();
Riqi(long Snian,long Syue,long Sri);
void Set(long Snian,long Syue,long Sri);
void Output();
};
Riqi::Riqi()
{
nian=yue=ri=0;
};
Riqi::Riqi(long Snian,long Syue,long Sri)
{
Set(Snian,Syue,Sri);
};
void Riqi::Set(long Snian,long Syue,long Sri)
{
nian=Snian;
yue=Syue;
ri=Sri;
};
void Riqi::Output()
{
cout<<nian<<"年"<<yue<<"月"<<ri<<"日"<<endl;
};
17.这里是代码。假设成员变量a,b为长整形。
class A
{
protected:
long b;
private:
long a;
};
class B:public A
{
};
using namespace std;
class Riqi
{
private:
long nian,yue,ri;
public:
Riqi();
Riqi(long Snian,long Syue,long Sri);
void Set(long Snian,long Syue,long Sri);
void Output();
};
Riqi::Riqi()
{
nian=yue=ri=0;
};
Riqi::Riqi(long Snian,long Syue,long Sri)
{
Set(Snian,Syue,Sri);
};
void Riqi::Set(long Snian,long Syue,long Sri)
{
nian=Snian;
yue=Syue;
ri=Sri;
};
void Riqi::Output()
{
cout<<nian<<"年"<<yue<<"月"<<ri<<"日"<<endl;
};
17.这里是代码。假设成员变量a,b为长整形。
class A
{
protected:
long b;
private:
long a;
};
class B:public A
{
};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询