我正在创建一个程序,这些是要求:
如果有几种元素沸腾或融化,我们将编写一个程序来确定。
物质---熔点----沸点
锌(Zn)---(787.15°F)--------(1665°F)
钡(Ba) - (1341°F)----------(3353°F)
汞(Hg) - ( - 37.89°F F)-------(674.11°F)
铀(U) - (2070°F)----------(7468°F)
设计一个类,它将温度存储在温度成员变量中,并具有适当的访问器和增变器功能。
除了适当的构造函数之外,该类还应具有以下每个元素的成员函数:
•isZincMelting。如果温度场中存储的温度等于或高于熔点且低于锌的沸点,则此函数应返回bool值true。否则,该函数应返回false。
•isZincBoiling。如果温度场中存储的温度等于或高于锌的沸点,则此函数应返回bool值true。否则,该函数应返回false。
•同样你应该有isBariumMelting,isBariumBoiling
•同样,你应该拥有isMercuryMelting,isMercuryBoiling
•同样你应该有isUraniumMelting,isUraniumBoiling
编写一个演示该课程的程序。
程序应该要求用户输入温度,然后显示在该温度下将熔化的物质列表以及在该温度下沸腾的物质列表。
例如,如果温度是1764,那么班级应报告:
锌沸腾,钡熔化,汞沸腾和铀是固体
- 这是我到目前为止所得到的一些错误。 *在函数'int main()'中: 69:21:错误:没有匹配函数来调用'Elements :: isZincMelting()' 69:21:注意:候选人是: 51:6:注意:bool Elements :: isZincMelting(float) 51:6:注意:候选人需要1个参数,0提供 在成员函数'bool Elements :: isZincMelting(float)'中: 56:1:警告:控制到达非空函数的末尾[-Wreturn-type]
感谢任何帮助。谢谢
#include<iostream>
#include <cmath>
#include <algorithm>
#include <cstdio>
using namespace std;
class Elements
{
private:
float temp;
public:
//float getTemp() const; //Get user temp
void setTemp(float);
bool isZincMelting(float);
bool isZincBoiling(float);
bool isBariumMelting(float);
bool isBariumBoiling(float);
bool isMercuryMelting(float);
bool isMercuryBoiling(float);
bool isUraniumMelting(float);
bool isUraniumBoiling(float);
};
//setTemp
void Elements::setTemp(float temp)
{
float t;
getTemp = t;
}
bool Elements::isZincMelting( float t)
{
if (t >= 787.15 && t < 1665)
return true;
}
int main()
{
Elements info; //Define an instance of Element class
float getTemp;
cout << "Enter a temperature: " << endl;
cin >> getTemp;
//Store in temp of element info object
info.setTemp(getTemp);
info.isZincMelting();
return 0;
}
答案 0 :(得分:1)
isZincMelting期望一个float作为参数,你可以不带参数调用它。如果不满足条件,你的isZinMelting函数也会返回false:
bool Elements::isZincMelting( float t)
{
if (t >= 787.15 && t < 1665)
return true;
return false;
}