我刚刚开始学习信息学。现在我接到了第一个任务,我充满了疑问。有人给我一些建议吗?
任务是创建一个数学公式,允许在 3 个不同的公式之间做出决定,而无需任何类型的“switch、if-else 或其他运算符”
Sooo的目标就是
cin 一个数字;
使用 cin 1、2 或 3 在摄氏度到华氏度、米(英尺)或欧元(美元)之间进行选择,然后得到结果。我很新,只是问了我大约 2 个小时这样的公式会是什么样子 D:
任何想法?
我的实际代码如下所示。 (我们不允许使用我们在讲座中尚未使用的任何类型的代码。允许的只是:赋值、变量、简单的数据类型、基本微积分、cins 和 couts..
我只是对那个没有进入我脑海的公式以及如何编码它感到好奇......
#include <iostream>
using namespace std;
int main()
{
double eingabe;
int auswahl = 0;
double ergebnis;
//zahleneingabe
cout << "Ihre Eingabe: ? " << endl;
cin >> eingabe;
cout << "Ihre Eingabe: " << eingabe << endl;
system("PAUSE");
//abfragenausgabe der umrechnungsart
cout << "Ihre Auswahl der Umwandlung: " << endl;
cout << "1 - Celsius in Fahrenheit" << endl;
cout << "2 - Meter in Fuss" << endl;
cout << "3 - Euro in US Dollar " << endl;
cin >> auswahl;
cout << "Ihr Ergebnis ist: " << ergebnis << endl;
system("PAUSE");
}
如果 Yasir 的解决方案仍然使用您老师不喜欢的功能(operator ==
也可能被禁止),剩下的解决方案是多项式回归......
#include <iostream>
int main()
{
//zahleneingabe
std::cout << "Ihre Eingabe: ?\n";
double eingabe;
std::cin >> eingabe;
std::cout << "Ihre Eingabe: " << eingabe << '\n';
//abfragenausgabe der umrechnungsart
std::cout << "Ihre Auswahl der Umwandlung:\n";
std::cout << "1 - Celsius in Fahrenheit\n";
std::cout << "2 - Meter in Fuss\n";
std::cout << "3 - Euro in US Dollar\n";
int auswahl;
std::cin >> auswahl;
// Found using http://www.xuru.org/rt/PR.asp (ain't nobody got time for that)
double const coefficient = (-1.82584 * auswahl + 6.95836) * auswahl - 3.33252;
double const offset = (16.0 * auswahl - 80.0) * auswahl + 96.0;
double const ergebnis = eingabe * coefficient + offset;
std::cout << "Ihr Ergebnis ist: " << ergebnis << '\n';
}
请注意,我还通过以下方式清理了代码removing https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice using namespace std;
,将变量的范围重新调整为实际用途,并添加const
相关的。我把新变量翻译成德语的事情交给你了;)
在 Wandbox 上观看直播 https://wandbox.org/permlink/2Gw9N6eYGoLJUdLH
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)