c++类和对象经典题目
1输入第一行表示要输入n个对象后续各行输入不同对象的各属性值每个对象一行属性值包括姓名、学号、学院、专业、性别、宿舍楼、手机号输出输出不同对象的各自属性每个对象占一行#includeiostream using namespace std; #includestring class Student { private: //姓名、学号、学院、专业、性别、宿舍楼、手机号 string name; int id; string school; string major; string sex; string dom; string phone; public: void input() { cinnameidschoolmajorsexdomphone; } void output() { coutname id school major sex dom phoneendl; } }; int main() { int t; cint; while(t--) { Student s; s.input(); s.output(); } return 0; }错手机号phone你用了int类型但手机号通常是11位数字可能超出int的表示范围最大约21亿11位手机号约100亿导致溢出。另外如果手机号以0开头int会丢失前导零。建议将phone改为string类型这样更安全通用2题目描述评估成年人身体健康有多个指标包括BMI、体脂率BFR等设计一个身体类Body包含私有成员姓名、身高(米)、体重(公斤)腰围(厘米)实现三个公有方法如下姓名get方法返回对象的姓名字符串类型BMI方法返回BMI数值(整数)计算公式BMI 体重 / 身高的平方体脂率方法返回体脂率数值(浮点数)计算过程如下1参数a腰围cm×0.742参数b体重kg×0.08234.893体脂肪重量kgab4体脂率 体脂肪重量÷体重其他公有方法根据需要自行设计主函数操作包括1、创建Body类对象并根据输入数据设置类对象属性2、根据输出结果的格式分别调用类对象的三个方法输出类对象的姓名、BMI值、体脂率输入第一行输入t表示有t个测试实例第二行起每行输入四个参数姓名、身高、体重腰围依次输入t行输出输出t行每行输入一个实例的BMI和体脂率小数数值精确到小数点后2位用空格隔开#includeiostream using namespace std; #includestring #includeiomanip class body { private: string name; double hei; double wei; double wl; public: string get() { return name; } int BMI() { int bmi(int)(wei/(hei*hei)0.5);//直接int转换不会四舍五入加个0.5就好了 return bmi; } double BFR() { double a,b,c,bfr; awl*0.74; bwei*0.08234.89; ca-b; bfrc/wei; return bfr; } void input() { cinnameheiweiwl; } }; int main() { int t; cint; while(t--) { body s; s.input(); couts.get()s BMI:s.BMI()fixed setprecision(2)--BFR:s.BFR()endl; } return 0; }