# Wind Simulation Project Please a little help !

• 03-22-2006
Dilmerv
Wind Simulation Project Please a little help !
hi guys,

I'm trying to finish my wind smulation project but I'm having problems.

What I'm doing is creating a for loop to display from

0 seconds to 3600 seconds or 1 hour of wind simulation

My first Column displays the Time, and the second column displays the wind result which is a calculation from three inputs.

cin >> Avg_Wind;
cin >> High_Gust;
cin >> Low_Gust;

Upper_Limit = Avg_Windi + High_Gust;
Lower_Limit = Low_Gust;

Avg_Wind = rand_float (Upper_Limit, Lower_Limit);

What I need to do is make some kind of calculation that would increased by 10 the Avg_Wind for a period of 300 seconds.

I created a function on the botton but for some reason it doesn't increased by 10 for a period of 300 seconds and but adds 10 to the wind result for the whole hour :(
Please give me a hand if you have more questions let me know and I will try to explain better .

Thanks Here's what I have so far :confused:
Code:

```#include <iostream> #include <fstream> #include <iomanip> #include <string> using namespace std; void Wind_Speed(); void Wind_Storm(); void Microbursts(); void View_Wind(); double rand_float(double a, double b); string Make_Stars (int result); double Small_Storm ( double Wind_Storm ); double Microburst ( double result ); double High_Gust; double Low_Gust; double Upper_Limit, Lower_Limit; double Avg_Wind; int main() {           char selection;           do   {             system("cls");         cout << "  Wind speed simulation by Dilmer Valecillos CS1600-001 " << endl;           cout << "  -----------------------------------------------------\n\n"             << "  Menu\n"         << "  ----\n\n"                 << "1. Create wind speed simulation \n"         << "2. Create wind speed with storms \n"         << "3. Create wind speed with Microbursts \n"         << "4. View wind simulation \n"         << "5. Quit\n\n"         << "  Selection: ";           //Get menu selection           selection = cin.get();           //Process selection           switch( selection)           {             case '\n':                      break;           case '1': Wind_Speed();  break;       case '2': Wind_Storm();  break;                    case '3': Microbursts(); break;       case '4': View_Wind();  break;       case '5':                              break;       default: cout << '\a';           }   }while( selection != '5' );         return 0; }//end main() //Function definitions void Wind_Speed() {           system("cls");           int i = 0;           int Max_Seconds = 3600;                   ofstream wind;           wind.open("wind.dat");                 cout << " |---- dilmer valecillos [cs1600-001] ----|" << endl;           cout << "\n\n  Enter the average of wind speed (mhp) : " ;           cin  >> Avg_Wind;           cout << "\n  Enter high gusts range (mhp) : " ;           cin  >> High_Gust;           cout << "\n  Enter low gusts range (mhp) : " ;           cin  >> Low_Gust;           Upper_Limit = Avg_Wind + High_Gust;           Lower_Limit = Avg_Wind + Low_Gust;                  wind.setf(ios::fixed | ios::showpoint); // set formats in the file       wind.precision(2);           cout.setf(ios::fixed | ios::showpoint); // set formats to display on the screen           cout.precision(2);                     for (i = 0; i <= Max_Seconds; i++) // seconds from 0 to max_seconds which is 3600 seconds or an hour           {                                   Avg_Wind = rand_float (Upper_Limit, Lower_Limit);                         if ( ( i % 10 ) == 0 )                 {                 wind << setw(4) << i << "  " << Avg_Wind << endl; // Write all the data to a file called wind.dat                 cout << setw(4) << i << "  " << Avg_Wind << " " << Make_Stars ( (int) Avg_Wind) << endl;// outputs the histogram and info to the screen                 }                   }                                   wind.close();       system("pause"); } void Wind_Storm()//Option 2 {  system("cls");           int i = 0;           int Max_Seconds = 3600;           //int Storm_In;           int Storm_Time = 300;                 ofstream wind;           wind.open("wind.dat");                 cout << " |---- dilmer valecillos [cs1600-001] ----|" << endl;           cout << "\n\n  Enter the average of wind speed (mhp) : " ;           cin  >> Avg_Wind;           cout << "\n  Enter high gusts range (mhp) : " ;           cin  >> High_Gust;           cout << "\n  Enter low gusts range (mhp) : " ;           cin  >> Low_Gust;           //cout << "\n  Enter storm probability (%) : ";           //cin  >> Storm_In;           Upper_Limit = Avg_Wind + High_Gust;           Lower_Limit = Low_Gust;                  wind.setf(ios::fixed | ios::showpoint); // set formats in the file       wind.precision(2);           cout.setf(ios::fixed | ios::showpoint); // set formats to display on the screen           cout.precision(2);                     for (i = 0; i <= Max_Seconds; i++) // seconds from 0 to max_seconds which is 3600 seconds or an hour           {                 Avg_Wind = rand_float (Upper_Limit, Lower_Limit);                 if ( ( i % 10 ) == 0 )                 {                 wind << setw(4) << i << "  " << Avg_Wind << endl; // Write all the data to a file called wind.dat                 cout << setw(4) << i << "  " << Small_Storm(Avg_Wind) << " " << Make_Stars ( (int) Avg_Wind) << endl;// outputs the histogram and info to the screen                         }                   }                           wind.close();       system("pause"); } void Microbursts()//Option 3 { system("cls");           int i = 0;           int Max_Seconds = 3600;                                     ofstream wind;           wind.open("wind.dat");                 cout << " |---- dilmer valecillos [cs1600-001] ----|" << endl;           cout << "\n\n  Enter the average of wind speed (mhp) : " ;           cin  >> Avg_Wind;           cout << "\n  Enter high gusts range (mhp) : " ;           cin  >> High_Gust;           cout << "\n  Enter low gusts range (mhp) : " ;           cin  >> Low_Gust;           Upper_Limit = Avg_Wind + High_Gust;           Lower_Limit = Avg_Wind + Low_Gust;                  wind.setf(ios::fixed | ios::showpoint); // set formats in the file       wind.precision(2);           cout.setf(ios::fixed | ios::showpoint); // set formats to display on the screen           cout.precision(2);                     for (i = 0; i <= Max_Seconds; i++) // seconds from 0 to max_seconds which is 3600 seconds or an hour           {                 if ( ( i % 10 ) == 0 )                 {                 wind << setw(4) << i << "  " << Avg_Wind << endl; // Write all the data to a file called wind.dat                 cout << setw(4) << i << "  " << Microburst(Avg_Wind) << " " << Make_Stars ( (int) Avg_Wind) << endl;// outputs the histogram and info to the screen                         }                   }                           wind.close();       system("pause"); } void View_Wind() {     system("cls");           int seconds; // since the first column is a whole number i declate it as a int         double Wind_Speed; // the wind result in the second column has decimals so it must be a double number         ifstream read_file; //to read info from a file         read_file.open("wind.dat"); // to open the file for reading         read_file  >>  seconds >> Wind_Speed; // read first and second column in this case seconds and wind speed         while (! read_file.eof()) // read the data until the end of the file                 {         read_file  >>  seconds >> Wind_Speed; // read the first column and the second colum of the file         cout << setw(4) << seconds << "  " << Wind_Speed <<  endl; // show the info on the screen with a width of 4                                }                 read_file.close(); // close the file     system("pause"); } double rand_float (double a, double b) {         return ((double) rand() / RAND_MAX ) * (b - a) + a; } string Make_Stars (int result) // Histogram Function {         int i;         string Stars;         for ( i = 1; i <= Avg_Wind; i++)         {                 Stars += "*";         }         return Stars; } double Small_Storm ( double Storm ) //Returns a value and Adds 10 mph to the Average for five minutes of Storm {         int Storm_Time = 300;       for ( int x = 0; x < Storm_Time; x++)         {                                 return Avg_Wind = rand_float (Upper_Limit + 10, Lower_Limit + 10);                                 } } double Microburst ( double result ) {         int Time = 60;                 for ( int x = 0; x < Time; x++)         {                 return Avg_Wind = rand_float (Upper_Limit + 25, Lower_Limit + 25);         } }```
• 03-23-2006
qqqqxxxx
> cout << setw(4) << i << " " << Small_Storm(Avg_Wind) <<

if(i<300)cout<<set(4)<<i<<" "<<small_Storm(avg_wind).

Code:

```double Small_Storm ( double Storm ) //Returns a value and Adds 10 mph to the Average for five minutes of Storm {         int Storm_Time = 300;       for ( int x = 0; x < Storm_Time; x++)         {                                 return Avg_Wind = rand_float (Upper_Limit + 10, Lower_Limit + 10);                                 } }```
the loop is not required.

and u r not passing the value of upper_limit or lower_limit