没有合适的资源?快使用搜索试试~ 我知道了~
西安交大C++程序的设计第七章作业.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 124 浏览量
2021-10-12
20:38:43
上传
评论
收藏 683KB DOC 举报
温馨提示
试读
22页
西安交大C++程序的设计第七章作业.doc
资源推荐
资源详情
资源评论
. . . .
交通大学实验报告
课程__计算机程序设计__实验名称_类与对象 _ _ _第 1 页 共 18 页
系 别___________ 实 验 日 期 2014 年 5 月 2 日
专业班级_____组别_____________ 实 验 报 告 日 期 2014 年 5 月 2 日
姓 名_________学号_ 2130405034 _ 报 告 退 发 ( 订正 、 重做 )
同 组 人_________________________________ 教 师 审 批 签 字
一、 实验目的
理解类与对象的概念,掌握类的定义方法和使用方法。
二、实验容
( 一 ) 第 一 题 : 定 义 一 个 Dog 类 , 包 含
name、age、sex、weight 等属性以与对这些属性操作的方法。
实现并测试这个类。
1.源程序代码:
#include<iostream>
usingnamespace std;
class Dog//狗类
{
private://私有成员
char name[20];//字符型数组用于存储名字
int age;//年龄,整型数
char sex;//性别
double weight;//体重,定义为双精度型
public://公有成员
void Register(char *Name,int Age,char Sex,double Weight);//输入函数
void print();//输出函数
};
void Dog::Register(char *Name, int Age, char Sex, double Weight)//
输入函数,将各个参数导入到定义的类中相应元素
1 / 22
. . . .
{
strcpy(name,Name);
age=Age;
sex=(Sex=='m'?'m':'f');
weight=Weight;
}
void Dog::print()//输出函数
{
cout<<"名字:"<<name<<"\t年龄:"<<age<<"\t性
别:"<<sex<<"\t体重:"<<weight<<endl;
}
int main()
{
Dog dog1,dog2,dog;
char Name1[20],Sex1,Name2[20],Sex2;
int Age1,Age2;
double Weight1,Weight2;
cout<<"请输入第一只小狗的名字、年龄、性别、体重:\n";//信息录入
cin>>Name1>>Age1>>Sex1>>Weight1;
dog1.Register(Name1,Age1,Sex1,Weight1);
cout<<"请输入第二只小狗的名字、年龄、性别、体重:\n";
cin>>Name2>>Age2>>Sex2>>Weight2;
dog2.Register(Name2,Age2,Sex2,Weight2);
cout<<"第一条狗的信息如下:\n";//信息显示
dog1.print();
cout<<"第二条狗的信息如下:\n";
dog2.print();
dog=dog1;//交换dog1和dog2的容
dog1=dog2;
dog2=dog;
cout<<"二者交换以后信息为:\n";//通过输出交换结果检验类的定义有作
用
cout<<"第一条狗:\n";
dog1.print();
cout<<"第二条狗:\n";
dog2.print();
return 0;
}
2.实验结果:
2 / 22
. . . .
3.问题分析:
设计思路:
首先输入两个狗的信息,然后显示输入的信息,然后交换二者再次
输出,通过再次输出的结果说明对其操作有效,从而说明类的定义
是有效的。
(二)第二题:设计并测试一个名为 Ellipse 的椭圆类,其属性为外
接矩形的左上角与右下角两个点的坐标,并能计算出椭圆的面积。
1.源程序代码:
#include<iostream>
#include<cmath>
usingnamespace std;
class Ellipse//定义椭圆类
{
private:
double x1,x2,y1,y2,S;
3 / 22
. . . .
public:
void Register(double a,double b,double c,double d);//输入函数
double area();//面积计算函数
void feedback();//输出函数
};
void Ellipse::Register(double a,double b,double c,double d)//输入函数
{
x1=a;
x2=c;
y1=b;
y2=d;
}
double Ellipse::area()//面积计算函数,用公式:S=pi*a*b(a、b为半长轴、
半短轴长)
{
S=3.1415*fabs(x1-x2)*fabs(y1-y2)/4;
return S;//返回面积值
}
void Ellipse::feedback()//输出函数,反馈输入值
{
cout<<"您输入的点的坐标为:("<<x1<<","<<y1<<")和
("<<x2<<","<<y2<<")\n";
}
void main()
{
double a,b,c,d;
cout<<"请依次输入外接矩形的两对角顶点的横纵坐标:\n";
cin>>a>>b>>c>>d;
Ellipse ellipse;
ellipse.Register(a,b,c,d);
ellipse.feedback();
cout<<"椭圆面积为:"<<ellipse.area()<<endl;
}
2.实验结果:
(1)中心在原点:
4 / 22
. . . .
(2)中心不在原点:
(三)第三题:仿照 Date 类设计一个 Time 类,按照各种可能的
格式输出时间。
1.源程序代码:
#include<iostream>
usingnamespace std;
class Time
{
int h,m,s;
public:
void init(int,int,int);//输入函数
void print_hms();//时分秒
void print_hsm();//时秒分
void print_msh();//分秒时
void print_mhs();//分时秒
void print_shm();//秒时分
void print_smh();//秒分时
5 / 22
剩余21页未读,继续阅读
资源评论
beibeidzh
- 粉丝: 8
- 资源: 24万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功