题目1
【问题描述】
请设计球类Sphere ,完成main函数对其进行的测试。以下是main函数,请依据其进行Sphere的设计,并拷贝该代码进行测试、不得修改:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
   | int main()
  {
  	Sphere s;
  	cout<<fixed<<setprecision(2);
  	s.SetRadiu(1);
  	cout<<"Radius:"<<s.GetRadius()
  		<<",Superficial area:"<<s.GetArea()
  		<<",Volume:"<<s.GetVolume()<<endl;
  	double r;
  	cin>>r;
  	s.SetRadiu(r);
  	cout<<"Radius:"<<s.GetRadius()<<",Superficial area:"<<s.GetArea()
  		<<",Volume:"<<s.GetVolume()<<endl;
  }
   | 
 
【代码】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
   | 
  #include <iostream> #include <iomanip> #define pi 3.1415926535 using namespace std;
  class Sphere { 	 	private: 		 	double	R,V,A; 	 	public: 		 	double  SetRadiu(double r){ 		 		R = r; 		return R; 	}	  	 	double  GetRadius(){ 		 		return R; 		 	} 	 	double  GetArea(){ 		A=pi*R*R*4; 		return A; 	} 	 	double  GetVolume(){ 		 		V=pi*4/3*R*R*R; 		return V; 	} 	 };
  int main()
  {
  	Sphere s;
  	cout<<fixed<<setprecision(2);
  	s.SetRadiu(1);
  	cout<<"Radius:"<<s.GetRadius()
  		<<",Superficial area:"<<s.GetArea()
  		<<",Volume:"<<s.GetVolume()<<endl;
  	double r;
  	cin>>r;
  	s.SetRadiu(r);
  	cout<<"Radius:"<<s.GetRadius()<<",Superficial area:"<<s.GetArea()
  		<<",Volume:"<<s.GetVolume()<<endl;
  }
 
 
  | 
 
题目2
【问题描述】
根据以下部分代码,请设计矩形类Rectangle,实现对矩形对象的长和宽进行读、写,并求矩形面积,完成所给代码(原样拷贝、不应修改)对其进行的测试。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
   | void PrintRectangle(Rectangle& r)
  {
  	cout<<"Length:"<<r.GetLength();
  	cout<<",Width:"<<r.GetWidth()<<endl;
  	cout<<"Area:"<<r.Area()<<endl;
  }
  int main()
  {
  	Rectangle r;
  	r.SetData(10,10);
  	PrintRectangle(r);
  	r.SetLength(20);
  	PrintRectangle(r);
  	r.SetWidth(20);
  	PrintRectangle(r);
  	return 0;
  }
   | 
 
【代码】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
   | #include<iostream> using namespace std; class Rectangle { private: 	double length; 	double width; public: 	void SetData(double a, double b) 	{ 		this->length = a; 		this->width = b; 	} 	void SetLength(double a) 	{ 		this->length = a; 	} 	void SetWidth(double b) 	{ 		this->width = b; 	} 	double GetLength() 	{ 		return this->length; 	} 	double GetWidth() 	{ 		return this->width; 	} 	double Area() 	{ 		return this->length * this->width; 	} };
 
  void PrintRectangle(Rectangle& r) { 	cout << "Length:" << r.GetLength(); 	cout << ",Width:" << r.GetWidth() << endl; 	cout << "Area:" << r.Area() << endl; }
  int main() { 	Rectangle r; 	r.SetData(10, 10); 	PrintRectangle(r); 	r.SetLength(20); 	PrintRectangle(r); 	r.SetWidth(20); 	PrintRectangle(r); 	return 0; }
   | 
 
题目3
【问题描述】
编写时间类,实现时间的显示和增加(输入超过60进行取余处理)
【样例输入/输出】
请输入当前时间:12 15 13
当前时间为:12:15:13
请输入要添加的时间:1 2 3
增加后的时间:13:17:16
请输入当前时间:13 65 13
当前时间为:13:5:13
请输入要添加的时间:1 63 20
增加后的时间:14:8:33
【代码】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
   | 
  #include <iostream> using namespace std;
  class cloc { 	 	private: 		 	double	H,M,S; 	 	public: 		 	void  SetTime(int h,int m,int s){ 		 		H = (h>=0&&h<24)?h:(h-60); 		M = (m>=0&&m<60)?m:(m-60); 		S = (s>=0&&s<60)?s:(s-60); 		 	}	  	 	void  ShowTime(){ 		 		cout<<H<<":"<<M<<":"<<S<<endl;  		 	} 	     void  AddTime(int h,int m,int s){     	     	H = ((H+h)>=0&&(H+h)<24)?(H+h):(H+h-60); 		M = ((M+m)>=0&&(M+m)<60)?(M+m):(M+m-60); 		S = ((S+s)>=0&&(S+s)<60)?(S+s):(S+s-60); 		 	} };
  int main()
  { int h,m,s; cloc t; cout<<"请输入当前时间:"; cin>>h>>m>>s; t.SetTime(h,m,s); cout<<"当前时间为:"; t.ShowTime(); cout<<"请输入要添加的时间:"; cin>>h>>m>>s; t.AddTime(h,m,s); cout<<"增加后的时间:"; t.ShowTime();
  }
 
 
 
  | 
 
代码可能略有不足,请大佬多多指教