0
我被賦予一個計算火箭開始下落的時間,並賦值給一個名爲rocket1.txt的文件這是我第一次做一個程序,我們需要從這裏讀取信息另一個文件。這是我迄今爲止,如果任何人都可以幫助我糾正這是偉大的。閱讀數據文件和幫助更正程序
#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;
}
我得到一個錯誤的非法使用,如果else語句(這是用我的第一次,這些爲好,林不知道,如果循環是對這類問題的正確。附加的文件給出了
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
當我完成添加括號我得到一個錯誤...錯誤錯誤C4996:「的fscanf」:這個函數的n或變量可能不安全。考慮使用fscanf_s來代替。要禁用棄用,請使用_CRT_SECURE_NO_WARNINGS。詳細信息請參見在線幫助。 \t z:\ c_files \ rockethw1 \ rockethw1 \ source.cpp RocketHW1 ............修復此問題時,我收到未初始化的變量爲number_of_points ...我試圖讓程序從數據中讀取數量 – mcginley182
請參閱http://port70.net/~nsz/c/c11/n1570.html#K.3.5.3.2 –