是一些非电类C++的题目,打算自己用来研究学习,目前能够补充成员函数但是内容不太如意,希望有老师能帮忙看看。
学生成绩比较程序
【要求】按以下描述和要求建立基类Boy和派生类Study:
#include <iostream.h>
#include <string.h>
class Boy{
protected:
int bh; //编号
char xm[8]; //姓名
public:
Boy(){bh=0;xm[0]=NULL;} //缺省构造函数
Boy(int a,char *b){bh=a;strcpy(xm,b);} //带参构造函数
Boy(Boy & y){ } //拷贝构造函数
void set(int h,char *s) {bh=h;strcpy(xm,s);} //修改编号和姓名
void show(){cout<<"编号:"<<bh<<" 姓名:"<<xm<<endl;}//输出
};
class Study:public Boy{
private:
float cj[3]; //三门课成绩
public:
Study(){for(int i=0;i<3;i++) cj[i]=0;} //缺省构造函数
Study(Boy &b, float a[]):Boy(b) //带参构造函数
void print(); //输出学生信息(编号,姓名和成绩)
void modify(){ //从键盘输入3个数据修改成绩
cout<<"input:";
cin>> ;
}
float count(); //计算并返回三门课总分
int compare(Study& A,Study& B);//若存在学号为0者不进行任何比较并返回0,否则结束时返回1;调用count函数对this对象、A和B进行总分比较,输出比较结果
};
请完成以上未定义函数体的成员函数和有空缺的部分。
测试用主函数参考如下:
void main(){
float f1[3]={76,89,92}, f2[3]={86,90,64};
Boy m(228,"Mary"), w, z(m) ;
m.show(); w.show();
z.set(536,"Tom"); z.show();
w.set(319,"Tom"); w.show();
Study p(m,f1), q(z,f2), r(w,f1) ;
r.modify();
p.compare(q,r);
}
矩形类处理程序
【要求】按以下描述和要求建立矩形类Rectangle,成员函数功能见注释:
#include <math.h>
class Rectangle {
double x1, y1 ; //左下角的坐标
double x2, y2 ; //右上角的坐标
public:
Rectangle(double a=0, double b=0, double c=0, double d=0){//构造函数
x1=a, y1=b, x2=c, y2=d;}
Rectangle(Rectangle & B){
} //拷贝构造函数
~ Rectangle(){};
void fill(double *p){ //用p数组中的值依次修改4个数据成员
x1=p; y1=(p+1);
}
void Show(); //输出数据成员
double Area();//计算并输出矩形面积
};
void compare( ){…… }//比较两矩形的面积并输出比较结果。
请完成以上未定义函数体的成员函数和有空缺的部分。
测试用主函数参考如下:
void main(){
double data[12]={1,1,4,4,2.5,4,7,8.5,2,3,6,5};
Rectangle R,A[3];
cout<<"矩形R:"<<endl; R.Show();
R.fill(data);
cout<<"修改后:"<<endl; R.Show();
cout<<"矩形A[i]:"<<endl;
A[1].fill(data+4);
for(int i=0;i<3;i++) A[i].Show();
Rectangle T(A[1]);
cout<<"矩形T:"<<endl; T.Show();
compare(R,T);
}