文档详情

C++面向对象程序设计上机实践指导.doc

发布:2017-05-29约字共50页下载文档
文本预览下载声明
东华理工大学软件学院 面向对象程序设计 上机实践指导 2016-4-10 目 录 《C++语言基础》实践项目(一) 2 《C++语言基础》实践项目(二) 5 《C++语言基础》实践项目(三) 8 《C++语言基础》实践项目(四) 12 《C++语言基础》实践项目(五) 18 《C++语言基础》实践项目(六) 26 《C++语言基础》实践项目(七) 33 《C++语言基础》实践项目(八) 36 《C++语言基础》实践项目(九) 38 《C++语言基础》实践项目(十) 42 《C++语言基础》实践项目(十一) 44 《C++语言基础》实践项目(十二) 50 《C++语言基础》实践项目(一) ——初识对象 【项目1 - 旱冰场造价】   有一个圆形的旱冰场地,场地内抹水泥,造价为每平方米M元,围栏用木条围成,每米造价N元,输入旱冰场半径,用程序计算出其造价。 一级提示:   先定义类,确定其数据成员和成员函数。在这里要定义的旱冰场类,实际我们只关心其面积和周长,根据面积计算场地内抹水泥的造价,根据周长计算围栏的造价。有了类的定义,在main函数中定义该类对象,调用成员函数即可以完成求解。 二级提示:   实际上,对于旱冰场,我们只关心它就是一个圆。这就是设计中抓住了本质。于是,设计一个Circle(圆)类,数据成员为圆的半径,Circle类还提供计算圆的面积和边长的成员函数。在main函数中,定义一个Circle类的对象,调用成员函数求出旱冰场的造价。 三级提示:   请在下面提示的基础上完成程序,其中需要做的工作包括:(1)在类声明中声明相关的公共成员函数;(2)在类声明和main()函数之间,定义声明的成员函数。 const?int?M=20;???//水泥场地每平米造价?? const?int?N=35;???//围栏每米造价?? class?Circle?? {?? //下面声明需要的成员函数(从已经提供的main函数中可以找出需要哪些成员函数)?? public: private:?? ????double?radius;?? };?? //下面定义需要的成员函数?? ?? ?? int?main()?? {?? ????double?r;?? ????cout请输入旱冰场的半径:?;?? ????cinr;?? ????Circle?c;?? ????c.setRadius(r);?? ????cout旱冰场的造价为?M*c.area()+N*c.circumference()元。endl;?? ????return?0;?? }?? 【项目2 - 长方柱类】   编写基于对象的程序,求3个长方柱(Bulk)的体积。数据成员包括长(length)、宽(width)、高(heigth)、体积,要求设计成员函数实现下面的功能:   (1)由键盘输入3个长方柱的长、宽、高;   (2)计算长方柱的体积(volume)和表面积(areas);   (3)输出这3个长方柱的体积和表面积; 【项目3 - 时间类】阅读、运行程序后,按要求扩充类的功能 #include iostream using namespace std; class Time { public: void set_time( ); void show_time( ); private: bool is_time(int, int, int); //这个成员函数设置为私有的,是合适的,请品味 int hour; int minute; int sec; }; void Time::set_time( ) { char c1,c2; cout请输入时间(格式hh:mm:ss); while(1) { cinhourc1minutec2sec; if(c1!=:||c2!=:) cout格式不正确,请重新输入endl; else if (!is_time(hour,minute,sec)) cout时间非法,请重新输入endl; else break; } } void Time::show_time( ) { couthour:minute:secendl; } bool Time::is_time(int h,int m, int s) { if (h0 ||h24 || m0 ||m60 || s0 ||s60) return false; return true;
显示全部
相似文档