2016-02-29 2 views
-2

Привет, я начинающий, вводящий введение в класс C++, и это мое первое задание. Я опубликовал это несколько дней назад, но я все еще несколько потерян. Я должен использовать формулы: d = v0 * t + 1/2 * g t^2, и v = v0 + g t. где v0 остается постоянным при 0 и g также остается постоянным при 9,807 м/с^2. Я продолжаю получать одну ошибку, которая «ожидается неквалифицированный-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 
Смежные вопросы