摄氏到华氏和华氏到摄氏表 (C++)

Posted

技术标签:

【中文标题】摄氏到华氏和华氏到摄氏表 (C++)【英文标题】:Celsius to Fahrenheit and Fahrenheit to Celsius table (C++) 【发布时间】:2021-06-17 13:07:30 【问题描述】:

我正在制作一个包含摄氏度值的表格,这些值可以转换为华氏度,反之亦然。

这是我希望代码输出的内容:

Celsius       Fahrenheit     |   Fahrenheit       Celsius
40.0           104.0         |     120.0           48.89
39.0           102.2         |     110.0           43.33

问题在于,我无法将第二部分输出到表格的另一边。

这是代码输出的(不是我想要的):

Celsius       Fahrenheit     |   Fahrenheit       Celsius
40.0           104.0         |     
39.0           102.2         |     
120.0           48.89
110.0           43.33

这是我的代码

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

using namespace std;

double celsiusToFahrenheit(double f1);
double fahrenheitToCelsius(double c2);

int main()

    double f1;

    double c2;

    cout<< left <<setw(10)<< left << "Celsius" << right<< setw(10) << "Fahrenheit | " << setw(10) << "Fahrenheit" << right << setw(10)<< "Celsius"<< endl;

    cout<< left<< setw(10)<< left << celsiusToFahrenheit(f1) << right << setw(10)<< fahrenheitToCelsius(c2)<< endl;
    


    return 0;


double celsiusToFahrenheit(double f1)


for(double c1 = 40.0; c1 > 30.00; c1--)
        
        f1 = (c1 * (9.0/5.0)) + 32.0;

       cout<< left <<setw(10)<< left << c1<< right<< setw(10) << f1 << right<<" | "<< endl;
    

    return f1;



double fahrenheitToCelsius(double c2)


for(double f2 = 120.0; f2 > 29.00; f2--)
        
         c2 = ((5.0/9.0) * (f2 - 32.0));

         cout<< left <<setw(10)<< left << f2<< right<< setw(10) << c2 << right<< endl;

    


    return c2;


【问题讨论】:

提示:做一个转换函数,接受一个温度并返回一个转换值。这两个人做了一大堆其他事情,混淆了他们的责任。您真正需要的是一个绘制表格行的演示器函数,另一个执行特定转换的对,以及可能需要一个范围的第三个表格生成器函数,一个转换器函数(理想情况下是std::function 或 lambda),然后发出桌子。 @Andrew Tang:您是关于华氏温度和摄氏度的问题,还是关于“如何在流中使用 left、right、setw(10) 和 endl 来绘制表格?”的问题。请换个问题。背景:建议编辑的队列已满。因此,我无法更改有关 *** 的问题及其技术原因。谢谢。 【参考方案1】:

正在打印的东西中进行打印可能是这里出了问题的地方,尤其是这些函数中的endl

你提前切断了线路。快速解决方法是摆脱它:

cout<< left <<setw(10)<< left << c1<< right<< setw(10) << f1 << right<<" | ";

但这里的问题是您在打印这些内容的过程中进行迭代,这会导致大量的结构问题。

【讨论】:

以上是关于摄氏到华氏和华氏到摄氏表 (C++)的主要内容,如果未能解决你的问题,请参考以下文章

练习2-12 输出华氏-摄氏温度转换表(15 分)

[PTA]实验2-3-5 输出华氏-摄氏温度转换表

浙大版《Python 程序设计》题目集 第2章-10 输出华氏-摄氏温度转换表

python 摄氏温度到华氏温度

java 华氏温度转换为摄氏温度

C++程序设计练习题