标题:帮我改一下,并且说一下原因,对此表示衷心的感谢!
只看楼主
gnayluo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-12-11
结帖率:100%
 问题点数:0 回复次数:7 
帮我改一下,并且说一下原因,对此表示衷心的感谢!
题目:需要求3个长方柱的体积。请编写一个基于对象的程序。数据成员包括length(长)、width(宽)、height(高)。要求用成员函数实现以下功能。
(1)由键盘分别输入3个长方柱的长、宽、高。
(2)计算长方柱的体积。
(3)输入3个长方柱的体积。
代码:
#include<iostream>
#include<cmath>
using namespace std;
class Data
{ public:
  float length;
  float width;
  float height;
public:
   void set_Date();
   void show_Date();
   float volume();
void set_date(void)
{ cin>>length;
  cin>>width;
  cin>>height;
}
void show_date()
{cout<<volume()<<":"<<endl;
}
float Date::volume()
{ volume==length*width*height;
  return (volume);
}
int main()
{student t1;
  t1.set_date();
  t1.show_date();
 student t2;
  t2.set_date();
  t2.show_date();
student t3;
  t3.set_date();
  t3.show_date();
  t3.float volume();
  return 0;
}
搜索更多相关主题的帖子: 原因 表示 length float void 
2018-12-20 18:18
rohalloway
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:97
专家分:405
注 册:2018-9-28
得分:0 
student t1;

你并没有创建student类,改成Data t1;

程序代码:
float Date::volume()
{ volume==length*width*height;
  return (volume);
}

//改成

float Date::volume()
{ 
   return length*width*height;
}
2018-12-20 18:30
gnayluo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-12-11
得分:0 
2018-12-20 18:48
gnayluo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-12-11
得分:0 
还是有问题啊
2018-12-20 18:48
rohalloway
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:97
专家分:405
注 册:2018-9-28
得分:0 
DevC++的调试界面都给了你明确的提示,自己翻译一下吧,问题太多了
2018-12-20 19:15
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
程序代码:
#include <iostream>

class Cuboid
{
public:
    Cuboid() : length(), width(), height()
    {
    }
    Cuboid( double length, double width, double height ) : length(length), width(width), height(height)
    {
    }
    const double Volume( void ) const
    {
        return length * width * height;
    }

private:
    double length;
    double width;
    double height;

    friend std::istream& operator>>( std::istream& is, Cuboid& cbd );
    friend std::ostream& operator<<( std::ostream& os, const Cuboid& cbd );
};

std::istream& operator>>( std::istream& is, Cuboid& cbd )
{
    return is >> cbd.length >> cbd.width >> cbd.height;
}

std::ostream& operator<<( std::ostream& os, const Cuboid& cbd )
{
    return os << cbd.Volume();
}

using namespace std;

int main( void )
{
    Cuboid a, b, c;
    cin >> a >> b >> c;
    cout << a << '\n'
         << b << '\n'
         << c << endl;
}

输入
1 2 3
4 5 6
7 8 9
输出
6
120
504


2018-12-21 10:12
lyb661
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:47
专家分:83
注 册:2018-12-12
得分:0 
///看看我的解答
#include<iostream>
#include<cmath>
using namespace std;
class Data
{ public:
  float length;
  float width;
  float height;
public:
   void set_Date();
   void show_Date();
   float volume();
};               ///1.类Data定义结尾没有大括号
void Data::set_Date(void)   ///2.void可以去掉.操作类的函数隐含一个this指针,不是没有参数
{ cin>>length;///2.length,width,height都是类的成员只能对类的对象调用,最好不用void免得引起歧义
  cin>>width;
  cin>>height;
}
void Data::show_Date()    ///3.成员函数在类外要加上类的作用域运算符::
{cout<<volume()<<":"<<endl;
}
float Data::volume()
{ ///volume==length*width*height; ///4.volumn不是类的成员
  return length*width*height;       ///5.直截写结果
}
int main()
{///student t1;哪里来的student?
    Data t1;
  t1.set_Date();
  t1.show_Date();
 Data t2;
  t2.set_Date();
  t2.show_Date();      ///6.是Date不是date,C++对大小写很敏感的
Data t3;
  t3.set_Date();
  t3.show_Date();
  t3.volume();
  return 0;
}


///贵同学,刚刚学习类的知识,不怕!多学学,有很长的路要走。祝你一帆风顺!


[此贴子已经被作者于2019-1-9 15:05编辑过]

2019-01-09 10:06
lyb661
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:47
专家分:83
注 册:2018-12-12
得分:0 
对于新手,还是不提类的抽象与封装,私有与公有成员,类的构造函数之类的!
2019-01-09 10:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-492173-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.116439 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved