首页 > 编程语言 >[C++/PTA] 立方体类的实现

[C++/PTA] 立方体类的实现

时间:2023-06-14 21:57:36浏览次数:49  
标签:表面积 ab obj 函数 C++ 体积 PTA 立方体

题目要求

立方体类Box的实现,完成计算体积、计算表面积、输出结果等功能。其中给定的主函数为:

int  main( ){
    float ab;
    cin>>ab;
    Box  obj;
    obj.seta( ab );
    obj.getvolume( );
    obj.getarea( );
    obj.disp( );
    return 0;
}

输入格式:
立方体的边长,可以是float类型的数据。

输出格式:
立方体的体积和表面积,中间用一个空格隔开,末尾换行。

输入样例:
3

输出样例:
27 54

解题思路

这段代码实现了一个简单的立方体类,主要完成如下任务:

  1. 定义立方体类Box,包含以下成员变量和成员函数:
  • 成员变量:

    • 立方体边长ab
    • 立方体体积volume
    • 立方体表面积area
  • 成员函数:

    • 构造函数,将ab初始化为0
    • seta函数,设置立方体边长
    • getvolume函数,计算立方体体积
    • getarea函数,计算立方体表面积
    • disp函数,输出立方体体积和表面积
  1. 主函数中

首先在主函数中定义一个变量ab,用于保存用户输入的立方体边长;

然后创建一个立方体对象obj;

调用obj的seta函数,将ab作为参数进行传递,并将立方体边长ab设置为用户输入的值;

调用obj的getvolume函数,计算立方体体积,并将计算结果保存在obj.volume中;

调用obj的getarea函数,计算立方体表面积,并将计算结果保存在obj.area中;

调用obj的disp函数,将立方体体积和表面积输出到标准输出流中;

代码

#include <iostream>
#include <math.h>

using namespace std;

// 定义立方体类
class Box {
    private:
        float ab; // 立方体边长
        float volume; // 立方体体积
        float area; // 立方体表面积

    public: 
        // 构造函数,将边长初始化为0
        Box() {
            ab = 0;
        }

        // 设置立方体边长
        void seta(float a) {
            ab = a;
        }

        // 计算立方体体积
        void getvolume() {
            volume = pow(ab, 3);
        }

        // 计算立方体表面积
        void getarea() {
            area = 6.0 * ab * ab;
        }

        // 打印立方体体积和表面积
        void disp() {
            cout << volume << " " << area << endl; 
        }
};

int main() {
    float ab; // 立方体边长

    cin >> ab;

    Box obj; // 创建立方体对象
    obj.seta(ab); // 设置立方体边长
    obj.getvolume(); // 计算立方体体积
    obj.getarea(); // 计算立方体表面积
    obj.disp(); // 打印立方体体积和表面积

    return 0;
}

总结

该程序的实现过程比较简单,主要是对类和对象的使用进行了练习,并且涉及到了一些基本的输入输出操作和数学库函数的使用,读者可躬身实践。

我是秋说,我们下次见。

标签:表面积,ab,obj,函数,C++,体积,PTA,立方体
From: https://www.cnblogs.com/qiushuo/p/17481448.html

相关文章

  • [C++/PTA] 汽车收费
    题目要求现在要开发一个系统,管理对多种汽车的收费工作。给出下面的一个基类框架classVehicle{protected:stringNO;//编号public:virtualvoiddisplay()=0;//输出应收费用}以Vehicle为基类,构建出Car、Truck和Bus三个类。Car的收费公式为:载客数8+重量2Truck的收费......
  • [C语言/PTA] 学生成绩链表处理
    题目要求本题要求实现两个函数,一个将输入的学生成绩组织成单向链表;另一个将成绩低于某分数线的学生结点从链表中删除。函数接口定义:structstud_node*createlist();structstud_node*deletelist(structstud_node*head,intmin_score);函数createlist利用scanf从输入......
  • [C语言/PTA] 单链表结点删除
    题目要求本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:structListNode{intdata;ListNode*next;};函数接口定义:structListNode*readlist();structListNode*deletem(structListNode*L,intm);......
  • [C++/PTA] 计算时间相减
    题目要求题目描述:定义一个时间类,小时和分钟是其两个私有成员数据。输入一个起始时间和一个结束时间(起始时间早于结束时间),通过运算符重载-(减号),计算这两个时间相隔多少分钟。说明:这两个时间在同一天之内,且采用24小时计时分式,即从00:00-23:59。输入格式:测试输入包含若干测......
  • [C语言/PTA] 建立学生信息链表
    题目要求本题要求实现一个将输入的学生成绩组织成单向链表的简单函数。函数接口定义:voidinput();该函数利用scanf从输入中获取学生的信息,并将其组织成单向链表。链表节点结构定义如下:structstud_node{intnum;/*学号*/charnam......
  • [C++/PTA] 括号匹配
    题目要求给定仅包含()[]{}六种括号的字符串,请你判断该字符串中,括号的匹配是否是合法的,也就是对应括号的数量、嵌套顺序完全正确。输入格式:第一行一个整数T(T<=10)其后T行每行一个字符串只包含[{()}]六种字符(字符串长度2e5以内)输出格式:对于每个字符串,匹配输出Yes,否则输出No......
  • c++的常量折叠
    一,前言有关C++语言的const常量的考察点:肯定是const常量的内存不是分配在read-only的存储区的,const常量的内存分配区是很普通的栈或者全局区域。也就是说const常量只是编译器在编译的时候做检查,根本不存在什么read-only的区域。所以说C++的const常量和常量字符串是不同的,常量字符......
  • [C++/PTA] 办事大厅排队
    题目要求在郑州大学综合办事大厅,每天陆陆续续有很多人来排队办事。现在你能否写程序帮助老师时刻了解当前办理业务的情况。输入格式:第一行一个数字N,表示排队信息或者查询信息条目的数量。以下N行,每行的内容有以下3种情况(1)inname表示名字为name的人员新来到办事大厅,排在......
  • 从C++mutex到futex
    从std::mutex到futex机制我原本出发点是C++std::mutex的实现原理,但是经过一番查阅,发现C++std::mutex是对glibc-nptl库pthread_mutex的封装;而nptl库在用户态完成了futex机制的一部分;最后在以linux为内核的操作系统中,又提供了futex系统调用给glibc-nptl给与底层支撑。因此本文先......
  • C++ 中 Concept-Model 概念模型
    此文档参考自:https://gracicot.github.io/conceptmodel/2017/09/13/concept-model-part1.html,觉得很有趣,就翻译过来了一、Concept-Model:多态的新视角面向对象编程大家都很熟悉,只需实现一个接口Interface。但这种使用经典OOP实现的多态性是侵入性的,即使在真正不需要的地方......