大一下c + +上机实验总目录:大一下c + +上机实验总结目录
1、定义三角形类,完成:为三边置值、取三边的值并输出、求三角形周长、求三角形面积、输出三角形周长和面积。要求使用构造函数为三边赋值。提示:可以定义一个无参的构造函数,在此构造函数中通过键盘输入的方法输入三边的值。
#include<iostream.h>
#include<math.h>
class triangle
{private:
int a;
int b;
int c;
public:
triangle(){cin>>a>>b>>c;}
int length();
float area();
void print();
};
int triangle::length()
{return a+b+c;}
float triangle::area()
{float d;
d=(a+b+c)/2.0;
return(sqrt(d*(d-a)*(d-b)*(d-c)));
}
void triangle::print(){cout<<length()<<endl<<area()<<endl;}
void main()
{triangle s;
s.print();
}
2、定义计数器类Counter。要求具有以下成员:计数器值;可进行增值和减值记数;可提供记数值。要求使用有参构造函数为计数器赋初值。编写主函数对这个类进行测试。
#include<iostream>
using namespace std;
class Counter {
public:
Counter(int init_count);
void Increase();
void Decrease();
int getCurrentCount();
private:
int count;
};
Counter::Counter(int init_count)
{ count=init_count;}
void Counter::Increase()
{
++count;
}
void Counter::Decrease()
{
--count;
}
int Counter::getCurrentCount()
{
return count;
}
int main()
{int num;
cout<<"请输入计数器初值:"<<endl;
cin>>num;
Counter a(num);
a.Increase();
a.Decrease();
a.Decrease();
cout<<"当前计数器的值:"<<a.getCurrentCount()<<endl;
return 0;
}
3、定义一个阶乘类Cfactorial实现阶乘的计算和显示。
参考程序:c
#include<iostream>
using namespace std;
class Cfactorial {
public:
Cfactorial(int init_count) ;
void Count();
long int Get();
private:
long int number;
};
Cfactorial::Cfactorial(int init_count)
{ number=init_count;}
void Cfactorial::Count()
{int i;
long int n=1;
for(i=1;i<=number;i++)
n=n*i;
number=n;
}
long int Cfactorial::Get()
{return number;}
int main()
{Cfactorial a(5);
a.Count();
cout<<"阶乘的值:"<<a.Get()<<endl;
return 0;
}
4、设计一个时间类,其中数据成员:年 月 日;成员函数有三个:
(1)设置年月日的具体值;
(2)判断该年是否为闰年;
(3)将年月日输出。编写主函数,实现并测试这个类。
#include<iostream>
using namespace std;
class Tdate
{
public:
Tdate(int x,int y,int z);
void Set(int m, int d, int y) ;
int IsLeapYear() ;
void Print() ;
private:
int month; int day; int year;
};
Tdate::Tdate(int x,int y,int z)
{month=x;
day=y;
year=z;
}
void Tdate::Set(int m,int d,int y){
month=m;
day=d;
year=y;
}
int Tdate::IsLeapYear(){
return(year%4==0&&year%100!=0)||(year%400==0);
}
void Tdate::Print(){
cout<<month<<"/"<<day<<"/"<<year<<endl;
}
int main()
{
int x,y,z;
cout<<"请输入年月日的值:\n";
cin>>x>>y>>z;
Tdate a(x,y,z);
//a.Set(y,z,x);
cout<<"输入的日期为:";
a.Print();
if(a.IsLeapYear()==1)
cout<<x<<"是闰年"<<endl;
else
cout<<x<<"不是闰年"<<endl;
return 0;
}
5、定义一个dog类,包含age、weight属性,以及对这些属性的操作方法。实现并测试这个类。
#include<iostream>
using namespace std;
class Dog
{int age;
int weight;
public:
void set(int x,int y);
int get_age();
int get_weight();
};
void Dog::set(int x,int y)
{age=x;
weight=y;
}
int Dog::get_age(){return age;}
int Dog::get_weight(){return weight;}
int main()
{Dog a;
a.set(3,50);//或使用构造函数初始化
cout<<"age="<<a.get_age()<<endl;
cout<<"weight="<<a.get_weight()<<endl;
return 0;
}