Reputation: 63
I was given an assignment to compute when the rocket begins to fall and attached to the assignment was a file called rocket1.txt This is my first doing a program where we need to read the information from another file. This is what I have so far, if anyone could possibly help me correct it that be great.
#include<stdio.h>
#define FILENAME "rocket1.txt"
int main(void)
{
/*Declare variables*/
errno_t err;
int number_of_pts, k;
double rocket_acc, new_alt = 0;
double old_alt = 0.0, old_time, new_time, rocket_vel;
FILE *rocket1;
/*Open File*/
err = fopen_s(&rocket1, "rocket1.txt", "r");
if (err)
printf("Problem opening file. \n");
else
{
while ((number_of_pts > 0) && (new_alt >= old_alt));
{
old_alt = new_alt;
old_time = new_time;
fscanf(rocket1, "%lf%lf%lf%lf", &new_time, &new_alt, &rocket_acc, &rocket_vel);
}
if (new_alt < old_alt)
printf("The rocket begins to fall. \n")
printf("%4.2f seconds and %4.2f seconds", old_time, new_time);
else
{
printf("There is no Decrease in Altitude. \n");
}
}
getchar();
return 0;
}
I get a error for illegal use of if else statements (this is my first time using these as well, im not sure if the loops are correct for this kind of problem. The attached file gives
24
1.0000000e+01 2.9265380e+03 5.0821200e+02 4.3231640e+01
2.0000000e+01 1.0170240e+04 9.2798610e+02 4.0723180e+01
3.0000000e+01 2.1486260e+04 1.1832420e+03 1.0328000e+01
4.0000000e+01 3.3835080e+04 1.1882285e+03 -9.3307000e+00
5.0000000e+01 4.5250830e+04 1.0899705e+03 -1.0320900e+01
6.0000000e+01 5.5634490e+04 9.8935650e+02 -9.8019000e+00
7.0000000e+01 6.5037960e+04 8.9134700e+02 -9.8000000e+00
8.0000000e+01 7.3461430e+04 7.9334750e+02 -9.7999000e+00
9.0000000e+01 8.0904910e+04 6.9534750e+02 -9.8001000e+00
1.0000000e+02 8.7368380e+04 5.9734700e+02 -9.8000000e+00
1.1000000e+02 9.2851850e+04 4.9934700e+02 -9.8000000e+00
1.2000000e+02 9.7355320e+04 4.0134750e+02 -9.7999000e+00
1.3000000e+02 1.0087880e+05 3.0334400e+02 -9.8008000e+00
1.4000000e+02 1.0342220e+05 2.0534500e+02 -9.7990000e+00
1.5000000e+02 1.0498570e+05 1.3402000e+02 -4.4660000e+00
1.6000000e+02 1.0610260e+05 2.6304000e+02 3.0270000e+01
1.7000000e+02 1.1024650e+05 6.7618500e+02 5.2359000e+01
1.8000000e+02 1.1962630e+05 1.2929950e+03 7.1003000e+01
1.9000000e+02 1.3610640e+05 2.1234700e+03 9.5092000e+01
2.0000000e+02 1.6209570e+05 3.1700000e+03 1.1421400e+02
2.1000000e+02 1.9950640e+05 3.8340050e+03 1.8587000e+01
2.2000000e+02 2.3877580e+05 3.8779450e+03 -9.7990000e+00
2.3000000e+02 2.7706530e+05 3.7799500e+03 -9.8000000e+00
2.4000000e+02 3.1437480e+05 3.6819500e+03 -9.8000000e+00
Upvotes: 0
Views: 91
Reputation: 5351
You have missed braces and semicolon in the below code snippet.
if (new_alt < old_alt)
{ /* HERE*/
printf("The rocket begins to fall. \n") ; /* HERE*/
printf("%4.2f seconds and %4.2f seconds", old_time, new_time);
} /* HERE*/
else
{
printf("There is no Decrease in Altitude. \n");
}
Upvotes: 1