我编写了一个简单的程序,使用给定的转换来输出不同的温度单位。当我在Visual Studios上运行代码时,由于构建错误而无法运行,但未显示任何错误。我曾问过类似的问题,但看不到能解决我问题的任何答案。我还想知道我应该在main函数之前还是之后声明变量。
#include <iostream>
using namespace std;
int fahrenheit, i=0;
float celsius, absolute_value;
main() {
cout.width(20);
cout << "Fahrenheit" << "Celsius" << "Absolute value\n";
for (i = 0; i = 15; i += 1) {
fahrenheit = i * 20;
celsius = ((fahrenheit - 30) * 5) / 9;
absolute_value = celsius + 273.15;
cout.width(20); /*each item in next output will have width of at least 20*/
cout << fahrenheit << celsius << absolute_value;
}
system("pause");
return 0;
}
答案 0 :(得分:1)
#include <iostream>
int main() {
std::cout << "Fahrenheit\t" << "Celsius\t\t" << "Absolute value\n";
for (int i = 0; i <= 15; i++)
{
const int fahrenheit = i * 20;
const float celsius = ((fahrenheit - 32.0) * 5) / 9;
const float absolute_value = celsius + 273.15;
std::cout << fahrenheit << "\t\t" << celsius << "\t\t"<< absolute_value << "\n";
}
system("pause");
return 0;
}
问题已解决:
int
using namespace std;
应该避免const
正确性答案 1 :(得分:0)
我修复了一些编码错误。我认为仍然存在一些逻辑错误,但是现在代码编译和程序应该运行了
#include <iostream>
using namespace std;
int main() {
cout.width(20);
cout << "Fahrenheit" << "Celsius" << "Absolute value\n";
for (int i = 0; i <= 15; i += 1) {
int fahrenheit = i * 20;
float celsius = ((fahrenheit - 30) * 5) / 9;
float absolute_value = celsius + 273.15;
cout.width(20); /*each item in next output will have width of at least 20*/
cout << fahrenheit << ' ' << celsius << ' ' << absolute_value << '\n';
}
system("pause");
return 0;
}
您缺少iostream的包含内容和main
函数的返回类型。我还将全局变量的声明移到了第一次使用变量的位置。 for循环是一个无限循环。因此,我将i = 15
更改为i <= 15
。也许您想要像i < 15
这样的循环条件。我还在值之间添加了空格和换行符。
答案 2 :(得分:0)
您需要将int
返回类型添加到main
签名中。
在c ++中,标准期望main
函数返回一个int
,就像它期望该函数被称为main
一样。返回最常用作退出代码,其中0
通常表示成功执行且没有错误。
在其中添加此内容将使您的程序得以编译和运行。