C++上机练习第四章.docx_第1页
C++上机练习第四章.docx_第2页
C++上机练习第四章.docx_第3页
C++上机练习第四章.docx_第4页
C++上机练习第四章.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/*-【程序设计】-题目:设计并测试一个矩形类(Rectangle),属性为矩形的左上与右下角的坐标,矩形水平放置。操作为计算矩形周长与面积。输出如下:left-top point is (100,200)right-bottom point is (300,400)面积40000 周长800-*/#include #include using namespace std;/*Program*/class Rectangle double left, top ;double right, bottom;public:Rectangle(double l=0, double t=0, double r=0, double b=0); Rectangle(); /析构函数,在此函数体为空void Assign(double l,double t,double r,double b);double getLeft() return left; / 以下四个函数皆为内联成员函数double getRight() return right;double getTop()return top;double getBottom()return bottom;void Show();double Area();double Perimeter();/ 构造函数,带缺省参数,缺省值为全0,在声明中指定Rectangle:Rectangle(double l , double t, double r, double b) left = l; top = t;right = r; bottom = b; void Rectangle:Assign(double l, double t, double r, double b)/赋值left = l; top = t;right = r; bottom = b;void Rectangle:Show()/成员函数直接使用私有的数据成员coutleft-top point is (left,top)n;coutright-bottom point is (right,bottom)n;double Rectangle:Area()return fabs(right-left)*(bottom-top);double Rectangle:Perimeter()return 2*(fabs(right-left)+fabs(bottom-top);/* End */int main() Rectangle rect; rect.Show(); rect.Assign(100,200,300,400); rect.Show(); Rectangle rect1(0,0,200,200); rect1.Show(); Rectangle rect2(rect1); rect2.Show(); coutleft-top point is (rect.getLeft(),rect.getTop()n; coutright-bottom point is (rect.getRight(),rect.getBottom()n; cout面积rect.Area()t周长rect.Perimeter()endl; return 0;2/*-【程序设计】-题目:补充构造一个日期时间类(Timedate),数据成员包括年、月、日和时、分、秒,函数成员包括设置日期时间和输出时间,其中年、月请用整型,并完成测试。注意:自己写的代码中不能有cout-*/#include #include using namespace std;/*Program*/class Timedateint year,month,date;int hh,mm,ss;public:Timedate(int=0,int =0,int =0);void putdate(int y,int m,int d);void puttime(int h,int m,int s);void list();Timedate:Timedate(int y,int m,int d)year=y;month=m;date=d;hh=0;mm=0;ss=0;void Timedate:putdate(int y,int m,int d)year=y;month=m;date=d;void Timedate:puttime(int h,int m,int s)hh=h;mm=m;ss=s;/* End */void Timedate:list()/成员函数,直接访问私有的数据成员 coutyear/month/date :; switch(year) case 2000:cout2000;break; case 2001:cout2001;break; case 2002:cout2002;break; case 2003:cout2003;break; case 2004:cout2004;break; case 2005:cout2005;break; switch(month) case 1:cout/Jan;break; case 2:cout/Feb;break; case 3:cout/Mar;break; case 4:cout/Apr;break; case 5:cout/May;break; case 6:cout/Jun;break; case 7:cout/Jul;break; case 8:cout/Aug;break; case 9:cout/Sep;break; case 10:cout/Oct;break; case 11:cout/Nov;break; case 12:cout/Dec;break; cout/dateendl; couthour:minite:second :; couthh:mm:ssendl;int main() Timedate A(2004,3,3),B; A.list(); B.list(); B.putdate(2005,10,18); B.puttime(17,30,00); B.list(); return 0;3/*-【程序设计】-题目:定义一个圆类(Circle),属性为半径(radius)、圆周长和面积,操作为输入半径并计算周长、面积,输出半径、周长和面积。要求定义构造函数(以半径为参数,缺省值为0,周长和面积在构造函数中生成)和拷贝构造函数。注意:类中不能有cout-*/#include#includeusing namespace std;const double PI=3.14159265;/*Program*/class Circleprivate:double r,Area,Circumference;public:Circle(double a=0);Circle(Circle &);void SetR(double R); double GetR()return r; double GetAreaCircle()return Area;double GetCircumference()return Circumference;Circle:Circle(double a)r=a;Area=PI*r*r;Circumference=2*PI*r;Circle:Circle(Circle &cl)r=cl.r;Area=cl.Area;Circumference=cl.Circumference;void Circle:SetR(double R)r=R;Area=PI*r*r;Circumference=2*PI*r;4/*-【程序设计】-题目:设计一个学校在册人员类(Person)。数据成员包括:身份证号(IdPerson),姓名(Name),性别(Sex),生日(Birthday)和家庭住址(HomeAddress)。成员函数包括人员信息的录入和显示。还包括构造函数与拷贝构造函数。设计一个合适的初始值。-*/#include#includeusing namespace std;class Person char IdPerson19; /身份证号,18位数字 char Name20; /姓名 char Sex; /性别 int Birthday; /生日,格式1986年8月18日写作19860818 char HomeAddress50; /家庭地址public: Person(char *,char *,char,int,char *); Person(Person &); Person(); Person(); void PrintPersonInfo(); void inputPerson(); /其他接口函数;/*Program*/Person:Person(char *id,char *name,char sex,int birthday,char *homeadd)cout构造Personendl;strcpy(IdPerson,id);strcpy(Name,name);Sex=sex;Birthday=birthday;strcpy(HomeAddress,homeadd);Person:Person()cout缺省构造Personendl;IdPerson0=0;Name0=0;Sex=0;Birthday=0;HomeAddress0=0;Person:Person(Person & Ps)cout拷贝构造Personendl;strcpy(IdPerson,Ps.IdPerson);strcpy(Name,Ps.Name);Sex=Ps.Sex;Birthday=Ps.Birthday;strcpy(HomeAddress,Ps.HomeAddress);Person:Person()cout析构Personendl;/* End */void Person:inputPerson() cout请输入身份证号,18位数字:endl; cin.getline(IdPerson,19); cout请输入姓名:endl; cin.getline(Name,20); cout请输入性别m或w:Sex; cout请输入生日,格式1986年8月18日写作19860818:Birthday; cin.get(); /吸收回车符,否则地址输不进去 cout请输入地址:endl; cin.getline(HomeAddress,50);void Person:PrintPersonInfo() int i; cout身份证号:IdPersonn姓名:Namen性别:; if(Sex=m |Sex=M)cout男n; else if(Sex=w |Sex=M)cout女n; else cout n; cout出生年月日:; i=Bir

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论