This has only one function to solve projectile motion, but it doesnt seem like it works, why?

``````//Richard Chaaya
//1-25-09
//kinimatics

#include <iostream>
#include <conio.h>
#include <iomanip>
#include <string>

using namespace std;

int main()
{
//declare variables
double dblVix = 0.0;
double dblViy = 0.0;
double dblVfx= 0.0;
double dblVfy= 0.0;
double dblAx= 0.0;
double dblAy= 0.0;
double dblTime= 0.0;
double dblDisx= 0.0;
double dblDisy= 0.0;
double Disx= 0.0;
double Disy= 0.0;
double dblDifference1 =0.0;
char charDisx='y';
char charTime='y';
char charVfx=' ';
char charVix=' ';
char charAx=' ';
char charAy=' ';
char chartime= ' ';
char charViy= ' ';
char chrDisx=' ';
char charDisy= ' ';
char chrVfx=' ';
char chrTime=' ';
char chrVfy= ' ';
char chrDisy= ' ';
//Prototypes:
double Ax (double, double, double, double, double, char, char, char);
double Ay (double, double, double, double, double, char, char, char);

//enter input
cout << "hello, and welcome. This program is useful for projectile motion,  it prompts you to enter the givens and the unknowns, and it outputs the answer ";
cout << "\n\n Is Vi in the x given ?" <<endl;
cin >> charVix;
if(charVix=='Y' || charVix=='y')
{cout << "what is the Initial velocity in the x?" <<endl;
cin >> dblVix;}
cout << "\n\n Is Vi in the y given ?" <<endl;
cin >> charViy;
if(charViy=='Y' || charViy=='y')
{cout << "what is the Initial velocity in the y?" <<endl;
cin >> dblViy;}
cout << "\n\n Is A in the x given ?" <<endl;
cin >> charAx;
if(charAx=='Y' || charAx=='y')
{cout << "what is the acceleration in the x?" <<endl;
cin >> dblAx;}
cout << "\n\n Is A in the y given ?" <<endl;
cin >> charAy;
if(charAy=='Y' || charAy=='y')
{cout << "what is the Initial velocity in the x?" <<endl;
cin >> dblAy;}
cout << "\n\n Is Time given ?" <<endl;
cin >> charTime;
if(charTime=='Y' || charTime=='y')
{cout << "what is the time (delta t)?" <<endl;
cin >>dblTime;}
cout << "\n\n Is the Displacement in the x given ?" <<endl;
cin >> charDisx;
if(charDisx=='Y' || charDisx=='y')
{cout << "what is the displacement in the x?" <<endl;
cin >> dblDisx;}
cout << "\n\n Is the Displacement in the y given ?" <<endl;
cin >> charDisy;
if(charDisy=='Y' || charDisy=='y')
{cout << "what is the Displacement in the y?" <<endl;
cin >> dblDisy;}

if(charAx=='Y' || charAx=='y')
{
dblAx=Ax(dblVix, dblVfx, dblTime, dblAx, dblDisx,  chrDisx,  chrTime,  chrVfx);
};

cout <<dblAx;
cout << " The acceleration in the x is" << dblAx;

if(charAy=='Y' || charAy=='y')
{
dblAy=Ay(dblViy, dblVfy, dblTime, dblAy, dblDisy,  chrDisy,  chrTime,  chrVfy);
};

cout << dblAy;

cout << " The acceleration in the y is" << dblAy;

_getch();
;
}

// This function solves for acceleration in the X direction.
double Ax(double dblVix, double dblVfx, double dblTime, double dblAx, double dblDisx, char chrDisx, char chrTime, char chrVfx)
{

//define local varibles
int intFunc = 0;

//calculate
if(toupper(chrDisx) != 'Y')//they dont have dblDisX
intFunc = 1;
if(toupper(chrTime) != 'Y')//they dont have dblTime
intFunc = 2;
if(toupper(chrVfx) != 'Y')//they dont have dblVfx
intFunc = 3;

switch (intFunc)
{
case 1:
dblAx=(dblVfx - dblVix)/ dblTime ;
break;

case 2:
dblAx=(dblVfx*dblVfx - dblVix*dblVix)/(2*dblDisx);
break;

case 3:
dblAx= 2*(dblDisx - dblVix*dblTime)/(dblTime*dblTime) ;
break;
default:
cout << "error";
break;
}
return dblAx;
}
double Ay(double dblViy, double dblVfy, double dblTime, double dblAy, double dblDisy, char chrDisy, char chrTime, char chrVfy)
{

//define local varibles
int intFunc = 0;

//calculate
if(toupper(chrDisy) != 'Y')//they dont have dblDisy
intFunc = 1;
if(toupper(chrTime) != 'Y')//they dont have dblTime
intFunc = 2;
if(toupper(chrVfy) != 'Y')//they dont have dblVfy
intFunc = 3;

switch (intFunc)
{
case 1:
dblAy=(dblVfy - dblViy)/ dblTime ;
break;

case 2:
dblAy=(dblVfy*dblVfy - dblViy*dblViy)/(2*dblDisy) ;
break;

case 3:
dblAy=2*(dblDisy - dblViy*dblTime)/(dblTime*dblTime) ;
break;
default:
cout << "error";
break;
}
return dblAy;
}``````
Failed to use code tags
2
Contributors
1
2
Views
9 Years
Discussion Span
Last Post by StuXYZ

Please do us all a favour and don't double post on multiple forums
E.g.

You were shown short shrift there, because you code is absolutely awful, and you didn't follow their forum rules either.

In addition you didn't take the time to read ANY of this forums rules.

Putting Richard Chaaya's name on the post wasn't to clever either.