2016-09-20 13 views
0

Problem Ich bin neu in C++, und ich arbeite an einer Tabelle mit For-Schleifen.Versuchen Sie, eine Tabelle in C++ zu erstellen, mit

Ich hatte Probleme für die for-Schleife, die Startspalte, Zeile und calcWind Werte alle in einer Schleife zu haben. Also habe ich beschlossen, es in zwei Teile zu zerlegen.

Die erste for-Schleife platziert alle Startwerte der Zeile. Die nächste for-Schleife platziert die Spaltenwerte und fügt dann die Zeilennummer und die Spaltennummer in die Funktion ein, die ich zur Berechnung der Windgeschwindigkeit gemacht habe.

Ich habe jetzt Probleme für Calcwind, um die tatsächlichen Berechnungen auf dem Konsolenbildschirm anzuzeigen.

Nochmals vielen Dank für die Hilfe im Voraus :)

Here's what the console image should look like, I'm just laying down the values with my code for now.

#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

'std :: system (" pause ");' ist ziemlich gefährlich, nur damit Sie wissen. – CoffeeandCode

+0

Nach der ersten Schleife ist Ihre Variable 'rows' bereits gleich '-30'. – GAVD

+0

Bitte erläutern Sie Ihre _ "Probleme" _. Das ist ziemlich vage. –

Antwort

0

Hier erstellen Sie rows:

int rows = 40; 

Sie halten dann 5 abgezogen, bis sie unter -30 ist (in der erste Schleife):

for (rows; rows >= -30; rows = rows - 5) 

In der Schleife, in der Sie die Ausgabe von calcWind drucken, ist rows immer noch gleich -35. Die Bedingung rows >= -30 schlägt bei der ersten Iteration fehl und läuft nie calcWind oder druckt das Ergebnis.

0

Sie können dies versuchen.

#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; 
} 
Verwandte Themen