gpt4 book ai didi

C++ 循环和声明函数

转载 作者:行者123 更新时间:2023-11-30 01:53:57 27 4
gpt4 key购买 nike

刚开始学习 C++,但我在获取循环函数时遇到了问题……不确定我是否做对了!任何帮助将不胜感激。

为了提供一些背景信息,我正在尝试构建一个简单的度数到华氏度转换器,它接受用户输入的度数值并输出华氏度值。另外,就像在 Python 中一样,您可以使用:time.sleep() 来设置消息之间的延迟,您可以在 C++ 中这样做吗?

这是我到目前为止所做的:

#include <iostream>
using namespace std;
//-------------------------------------------------

void DegreesToFarenheit()
{
//Declaration
float Degrees, Farenheit;

//User Prompt
cout << "Please Enter a Temperature in Degrees: " << endl;
cin >> Degrees;
cout << "" << endl;
cout << "" << endl;

//Program
Farenheit = (((Degrees * 9)/5) + 32);
cout << Degrees << " Degrees" << " is " << Farenheit << " Farenheit";
cout << "" << endl;

}
char RepeatPrompt()
{
char Ans;
cout << "Would you like to enter a new value? ";
cin >> Ans;
cout << "" << endl;
if(Ans = "y" or "Y")
{DegreesToFarenheit();}
else if(Ans = "n" or "N")
{return 0;}
else
{main();}
}

int main()
{
cout << "Degrees To Farenheit Converter V1.0" << endl;
cout << "----------------------------------------" << endl;
DegreesToFarenheit() ;
RepeatPrompt() ;
return 0;
}

最佳答案

在 C++ 中有 3 个循环。

while

do while

for

您想将 main 方法视为程序的起点 - 并将其视为第一个控制级别。从那里你应该委托(delegate)给管理程序运行时的方法。如果您想重用一段代码,您需要使用循环并再次调用它。您的代码示例类似于 recursion ,但不是正确的实现方式,也不是使用它的正确时间。递归可以成为简化复杂迭代算法的强大工具,但并不适合所有像循环一样运行的情况。它不适合这里。

在您的情况下,do while 似乎很合适。另请注意,开发人员在他们的编码偏好中有自己的风格,从技术上讲,任何循环都可以使用一些技巧。

编辑 我做了一些代码清理。当然可以做更多的事情。请注意,您的教师/在线教程可能会显示在方法开始时组合在一起的变量声明。那是 c 时代遗留下来的东西,没有必要,而且我觉得它很乱。使变量接近它们的用途。当您觉得自己声明了太多变量时,请考虑拆分您的函数。

void DegreesToFarenheit()
{
cout << "Please Enter a Temperature in Degrees: ";

float degrees;
cin >> degrees;

float farenheit = (((degrees * 9)/5) + 32);
cout << degrees << " Degrees is " << farenheit << " Farenheit";
cout << endl;
}

bool RepeatPrompt()
{
cout << "Would you like to enter a new value? ";

char ans;
cin >> ans;

cout << endl;

return ans == 'y' || ans == 'Y';
}

int main()
{
do
{
DegreesToFarenheit();
} while(RepeatPrompt());

return 0;
}

关于C++ 循环和声明函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22515302/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com