2016-02-29 80 views
-2

嘿,我是一個初學者,介紹C++類,這是我的第一個任務。幾天前我發佈了這個消息,但我仍然有些失落。我必須使用公式:d = v0 * t + 1/2 * g t^2和v = v0 + g t。其中v0保持恆定爲0,g也保持恆定在9.807 m/s^2。我不斷收到一個錯誤,它是「預期在第一個{{token」之前的非限定id {並且似乎無法修復它們,並且我確信這段代碼是不正確的,那麼你能幫我解決這個問題嗎?C++編程,無法編程查找速度和距離

#include <cstdlib> 
#include <iostream> 
#include <math.h> 

using namespace std; 

const float GRAVITY = 9.807, INITIALVELOCITY = 0; 
int seconds; 


{ 
cout << "Please enter the time in seconds." << endl; 
cin >> seconds; 
} //end function Time 

int main(int argc, char *argv[]) 
{ 
float distance, velocity, seconds; 
void getSeconds (void); 

cout.setf (ios::fixed,ios::floatfield); 

cin >> seconds; 
while (seconds > 0) { 

distance = INITIALVELOCITY * seconds + (0.5 * GRAVITY * pow(seconds, 2)); 
velocity = INITIALVELOCITY + (GRAVITY * seconds); 

cout.precision (0); 
cout << endl << "WHEN THE TIME IS" << seconds << "SECONDS THE DISTANCE" 
"TRAVELED IS" << distance << "METERS THE VELOCITY IS" << velocity << 
"METERS PER SECOND."; 
cout. precision(1); 
cout<< seconds << distance << velocity << endl << endl; 

} 

system ("PAUSE"); 
return EXIT_SUCCESS; 
} //end main 
+3

看起來您在基本函數聲明和用法方面遇到問題。您可能會發現回去並重新閱讀任何教科書作業會更有幫助。 – crashmstr

回答

4
{ 
     cout << "Please enter the time in seconds." << endl; 
     cin >> seconds; 
    } //end function Time 

不是一回事。這是一段代碼出現在任何函數之外。這在C++中是不可能的,因爲每個代碼塊都需要一個函數來輸入它。起始輸入點由

int main() { 
} 

功能塊組成。

你已經有了

cin >> seconds; 

那裏。


您是否真的在問如何將該語句分解爲函數?那麼答案可能是

int getTime() { 
     cout << "Please enter the time in seconds." << endl; 
     cin >> seconds; 
     return seconds; 
    } //end function Time 

main()

while ((getTime()) > 0) { 
     // ... 
    } 

不,我真的建議舉辦這樣的代碼。

0
{ 
cout << "Please enter the time in seconds." << endl; 
cin >> seconds; 
} //end function Time 

我想這應該是一個函數?如果是這樣,給它一個名字...

0

現在它的工作原理...不要從書本上覆制,書本總是讓事情被定義或指定...總是嘗試自己編寫代碼。如果您自己編寫代碼,則Structure of a program將再次執行此操作;)

#include <cstdlib> 
#include <iostream> 
#include <math.h> 

using namespace std; 

const float GRAVITY = 9.807, INITIALVELOCITY = 0; 
int seconds; 

int time() 
{ 
    int seconds = 0; 
    cout << "Please enter the time in seconds." << endl; 
    cin >> seconds; 
    return seconds; 
} //end function Time 

int main(int argc, char *argv[]) 
    { 
    float distance, velocity, seconds; 
    seconds = time(); 

    while (seconds > 0) { 

    distance = INITIALVELOCITY * seconds + (0.5 * GRAVITY * pow(seconds, 2)); 
    velocity = INITIALVELOCITY + (GRAVITY * seconds); 

    cout.precision (0); 
    cout << endl << "WHEN THE TIME IS" << seconds << "SECONDS THE DISTANCE" 
"TRAVELED IS" << distance << "METERS THE VELOCITY IS" << velocity << 
"METERS PER SECOND."; 
    cout. precision(1); 
    cout<< seconds << distance << velocity << endl << endl; 
    seconds--; 
} 

system ("PAUSE"); 
return EXIT_SUCCESS; 
} //end main