计算机科学与技术实验报告
实验二类和对象(1)
姓名:易XX 班级:计科二班学号:2015110121
实验目的:深入理解类和对象,学会定义类,申明私有、公有变量,学会定义对象,并调用成员函数,解决实际问题。
实验内容:
(一)、题目要求:
定义一个描述角度的类CAngle,包含的内容如下:
(1)私有成员变量value,表示角度,类型为double;
(2)公有成员变量SetValue,实现功能是使用形参为value赋值。
声明为:viod SetValue(double);
(3)公有成员函数GetCos,实现功能计算余弦值,并作为返回值返回。
声明为 double GetCos();
编程实现如下功能:定义一个Cangle类的对象deg,调用成员函数设置deg的角度为30度,调用成员函数计算并输出deg的余弦值。
代码:
#include<iostream>
#include<cmath>
using namespace std;
#define PI 3.1415 //定义宏常量PI
class CAngle{
double value; //定义角度
public:
void Setvalue(double x){
value =x/180*PI; //把角度转化为弧度
}
double Getcos(){
return ( cos(value) ); //计算cos值
}
};
int main(){
CAngle deg; //定义一个Cangle类的对象deg
deg.Setvalue(30);
cout<<deg.Getcos()<<endl;
return 0;
}
运行结果:
(二)、题目要求:
定义一个网上购书订单类BookOrder,包含的内容:
(1)私有成员变量BookID,表示图书编号,类型为char[6];
(2)私有成员变量Quantity,表示图书的数量,类型为int;
(3)公有成员变量Price,表示图书的单价,类型为double;
(4)公有函数成员BookInit,实现使用参数为成员变量赋值,声明为viod BookInit(char*,int,double);
(5)公有成员函数BookInfo,实现显示订单信息,包括图书编号、单价、数量、总价。
声明为void BookInfo();
编程实现如下功能:
(1)创建图书订单类的一个对象bkorder;
(2)交互地由用户输入订单信息,包括图书编号、数量、单价;
(3)调用成员函数BookInit设置bkorder的成员变量的值;
(4)调用成员函数BookInfo显示图书订单的内容;
(5)修改图书的单价为现有单价的80%;
(6)再次调用成员函数BookInfo显示图书订单的内容。
代码:
#include<iostream>
using namespace std;
class BookOrder{
char *BookID; //图书编号
int Quantity; //数量
public:
double price; //价格
void BookInit(char *s,int num,double p){
BookID = s;
Quantity = num;
price = p;
}
void BookIofo(){
cout<<"请输入图书编号 : "<<BookID<<endl;
cout<<"请需要的数量数量为 : "<<Quantity<<endl;
cout<<"请输入单价 : "<<price<<endl;
}
};
int main(){
BookOrder bkorder;
char s[10];
int num;
double p;
cout<<("请输入图书编号:");
cin>>s;
cout<<("请输入数量和单价:");
cin>>num>>p;
bkorder.BookInit(s,num,p);
bkorder.BookIofo();
bkorder.price *=0.8; //改价
cout<<endl<<("单价调整后:")<<endl;
bkorder.BookIofo();
return 0;
}
运行结果:
总结:
通过该实验程序,基本上掌握了类和对象的使用,类的应用能方便地定义一个新的对象,并且能通过调用函数,修改对象信息。
注意事项:
1、计算余弦值的时候要把角度转化成弧度,注意使用宏变量代替π
2、输入的图书编号不能超过六位。