Hi guys, I just found this site while doing a google search for "declaration syntax errors" and it looks like there are some great people here that are willing to take time to explain things which is what I need!
I'm in college taking c++ and my teacher doesn't tell us anything at all. Literally. He just gives us assignments and sets us free. This latest assignment is on Arrays, more specifically the program generates data for a sine waveform.
I feel like I have it almost complete (probably not the neatest code I know) but I can't get rid of errors enough to compile it.
He wants the program to input amplitude, frequency, duration and timestep (delta t) and generate a table with the time and the sine that looks something like this:
Time Sine
1 0
2 .5
3 1
4 .5
5 0
6 -.5
7 -1
8 -.5
9 0
ect...
So here is what I have so far:
//---------------------------
// lab8.cpp
// Author: Grant Bivens
// Class: EET 2303 C++
// Professor: Dr. Imad Abouzahr
// Date: 4-4-06
// This program generates a table of values at specific times along a sine waveform.
//---------------------------
#include <stdio.h>
#include <stdlib.h>
#include <cmath> // includes
#include <iostream>
#include <iomanip>
using std::cout;
using std::cin; // using standards.
using std::endl;
using std::setw;
const float pi = 3.1415; //set pi as a constant so "pi" can be used instead of 3.141...
// initalize function CalcWaveform
void CalcWaveform ( double Waveform, int size, double frequency, double deltat, double amplitude )
int main() //begin main function
{
int wavesize; // initalize wavesize as integer
double duration, deltat, amplitude, frequency; // initalized as double
cout << "\nEnter duration"; // get duration
cin >> duration;
cout << "\nEnter Delta t"; // get delta t
cin >> deltat;
cout << "\nEnter wave amplitude"; // get amplitude
cin >> amplitude;
cout << "\nEnter wave frequency"; // get frequency
cin >> frequency;
wavesize = static_cast <int> ( duration / deltat ); //set size of wavesize
double Waveform []; // initalize Waveform array
for (int i = 0; i < wavesize; i++) //loop
Waveform [ i ] = 0.0; // initalize array to 0
// call function
CalcWaveform (Waveform , wavesize, frequency, deltat, amplitude);
cout << "\nTime" << setw ( 13 ) << "Sine" << endl; // display header text
// loop to fill waveform array
for ( int h = 0; h < wavesize; h++ )
cout << setw ( 7 ) << h * deltat << setw ( 13 ) << Waveform [ h ] << endl;
system ( "pause" );
return 0;
}
//start CalcWaveform function
void CalcWaveform ( double Waveform, int size, double frequency, double deltat, double amplitude )
{
int i; //initialize i
for ( int i = 0; i < size; i++ ) // counter
Waveform [ i ] = amplitude * sin ( 2 * pi * frequency * i * deltat ); // calculates
cout << Waveform [ i ] << endl; // prints array results
}
I have gotten rid of most of my errors, syntax and logic, but I've run out of ideas and things to try.
The error I am currently getting is "Error E2141 lab8.cpp 25: Declaration syntax error"
What I don't get isline 25 is "int main()" I don't see what is an error about that.
Thank you in advance.
-Grant Bivens