所以我是c ++的新手,我正在使用for循环制作一个表。
我在for循环中遇到麻烦,在一个循环中都有起始列,行和calcWind
值。所以我决定把它分成两部分。
第一个for循环,放置行的所有起始值。下一个for循环放置列值,然后将行#和#列插入到我计算风速的函数中。
我现在遇到Calcwind
在控制台屏幕上显示实际计算的问题。
再次感谢您的帮助:)
#include <iostream>
#include <iomanip>
#include <cmath>
#include <cmath>
using namespace std;
double calcWind(double temperature, double windSpeed)
{
double wind = 0;
wind = 35.74 + (.621 * temperature) - (35.75 * pow(windSpeed, 0.16)) + (.4275 * temperature * pow(windSpeed, .16));
wind = nearbyint(wind);
return wind;
}
int main()
{
int rows = 40;
int columns = 5;
for (rows; rows >= -30; rows = rows - 5)
{
cout << setw(6) << rows;
}
for (columns; columns <= 60; columns = columns + 5)
{
cout << endl << columns;
for (rows; rows >= -30; rows = rows - 5)
{
cout << setw(6) << calcWind(rows, columns);
}
}
system("pause");
return 0;
}
答案 0 :(得分:0)
在此创建rows
:
int rows = 40;
然后你继续减去5直到它低于-30(在第一个循环中):
for (rows; rows >= -30; rows = rows - 5)
然后,在打印calcWind
输出的循环中,rows
仍然等于-35。条件rows >= -30
在第一次迭代时失败,从不运行calcWind
或打印结果。
答案 1 :(得分:0)
你可以试试这个。
#include <iostream>
#include <iomanip>
#include <cmath>
#include <math.h>
#include <stdio.h>
using namespace std;
double calcWind(double temperature, double windSpeed)
{
double wind = 0;
wind = 35.74 + (.621 * temperature) - (35.75 * pow(windSpeed, 0.16)) + (.4275 * temperature * pow(windSpeed, .16));
wind = nearbyint(wind);
return wind;
}
int main()
{
// int rows = 40;
// int columns = 5;
for (int rows = 40; rows >= -30; rows = rows - 5)
{
cout << setw(6) << rows;
}
for (int columns = 5; columns <= 60; columns = columns + 5)
{
cout << endl << columns;
for (int rows = 40; rows >= -30; rows = rows - 5)
{
cout << setw(6) << calcWind(rows, columns);
}
}
std::cout << "\nPress any key to continue. . .\n";
cin.get();
return 0;
}