速度和动量——我走不远
Posted
技术标签:
【中文标题】速度和动量——我走不远【英文标题】:Velocity & Momentum - I can't go the distance 【发布时间】:2014-10-24 19:58:41 【问题描述】:我目前正在处理一项要求我编译和执行具有以下参数的程序的任务:
编写一个执行以下操作的程序: 计算物体的速度和动量。速度的公式是 V=d/t,动量的公式是 m=质量*速度。你的程序应该包含两个函数:传递值(一个),一个传递指针(一个)。它还应该有一个 for 循环和必要的打印语句,以表格格式打印结果。 · Passing By Values函数是计算物体的速度,这里你给这个函数传递两个参数一个恒定的距离,但是时间是for循环的值:I=1:
double Velocity(double distance,int time); · Pass By Pointers 函数计算物体的动量,您将两个参数传递给该函数:物体的速度和恒定质量:mass=100:
double Momentum(double *Velocity,double *mass);
输出应具有包含时间、速度和动量的表格格式。用户无需输入数值,时间输入范围为1-200。
** 现在这是我的挣扎,我已经尽我所能,但似乎无法正确编译,它只是一直在“按任意按钮继续...”
我真的不明白我做错了什么,只需要帮助来编译和运行,任何帮助都将不胜感激。
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
//Function prototypes (declaring the functions).
double velocity(double distance, int time);
double momentum(double *velocity ,double *mass);
//Main function.
int main()
double PrimaryVelo(0);
double TotalMomentum(0);
int t(1);
for (double d = 1; d <= 10; d++)
PrimaryVelo = velocity(d, t);
//End for the primary for loop.
system("pause"); //Prevents closing of debug automatically.
return 0;
//End of the main function.
//Pass-by-value method for velocity.
double velocity(double distance, int time)
return distance / time;
//Pass-by-pointers method for momentum.
double momentum(double &velocity ,double &mass)
return (velocity * 205);
【问题讨论】:
你说:“它只是一直在“按任意按钮继续...”“嗯,当然。来自system("pause");
您的程序编译得很好,但该消息是它唯一的副作用。剩下的就是一些你不使用的算术结果,编译器正在优化它。
应该实际编写任何输出的代码在哪里?
It should also have a for loop and necessary print statements to print the result in a tabular format.
就像已经指出的那样,您还没有满足这个要求。
::在额头上打自己::我真是个白痴。
@remyable 我认为 (double d = 1; d
【参考方案1】:
嗯.... 这是你的代码.....
#include <iostream>
using namespace std;
double velocity(double distance, int time);
double momentum(double velocity ,double mass);
int main()
double Mass=205;
double Distance=100;
double Velocity;
//cout << "Time\t\tVelocity\tMomentum" << endl; //You'll need to reformat this
for ( int Time = 1 ; Time <= 200 ; Time++ )
cout << Time << "\t" ;
cout << velocity ( Distance , Time ) << "\t" ;
Velocity = velocity ( Distance , Time ) ;
cout << momentum ( Velocity , Mass ) << endl ;
// If you can't use conio.h and getch();
// Use something like this to stop console from closing itself
int a;
cin>>a;
return 0;
double velocity(double distance, int time)
return distance / time;
double momentum(double velocity ,double mass)
return velocity * mass;
注意:我给你的代码带有接受由值传递的参数的函数......
希望对你有帮助....
祝你有美好的一天......
【讨论】:
以上是关于速度和动量——我走不远的主要内容,如果未能解决你的问题,请参考以下文章