- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
可以使用我在空闲时间编写的这段代码的帮助。我是 C++ 的初学者。我正在寻求帮助的事情:
-需要正确循环的帮助,尤其是当用户输入不是整数而是字符时- 当我尝试编译时,case语句显示错误,它指向括号,我不知道为什么。
该代码应该使用从物理课中学到的运动学方程求解某些变量。这是我习惯 C++ 入门的一种方式,但可以使用高级编码人员的一些帮助。
这也是我第一次在 stackoverflow 上发帖,如果有人有一些正确发帖的技巧请告诉我,我会在我的编程课结束后检查是否有任何回复,也会询问我的教授。
//Arthur Byra
//27 January 2015
//Program to calculate kinetic equations
/*
vf = vi + a(t)
x = vi(t) + 1/2(a)(t)^2
vf^2 = vi^2 +2a(s)
where:
vi + initial velocity
vf = final velocity
s = distance
a = acceleration (must be constant)
t = time in seconds
*/
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int main()
{
int userInput = 0;
double initialVelocity = 0;
double finalVelocity = 0;
double acceleration = 0;
double time = 0;
double deltaDistance = 0;
char userInputSolveFor;
cout << "This is a program to calculate certain variables using kinematic equations." << endl;
cout << "Remember that kinematic equations only work when acceleration is constant!" << endl;
cout << endl;
cout << "Which equation did you want to use?" << endl;
cout << endl;
cout << "1) vf = vi + a(t)" << endl;
cout << "2) x = vi(t) + 1/2(a)(t)^2" << endl;
cout << "3) vf^2 = vi^2 + 2(a)(x)" << endl;
cout << endl;
cout << "Input number of the equation you want to use (1,2,3): " << endl;
cin >> userInput;
switch (userInput)
{
case (userInput == 1):
cout << "You are using vf = vi + a(t)." << endl;
cout << endl;
cout << "What are you trying to solve for?" << endl;
cout << endl;
cout << "Use a for acceleration (in m/s/s)." << endl;
cout << "Use vi for initial velocity (in m/s)." << endl;
cout << "Use vf for final velocity (in m/s)." << endl;
cout << "Use t for time (in seconds)." << endl;
cin >> userInputSolveFor;
cout << endl;
switch (userInputSolveFor)
{
case (userInputSolveFor == a):
cout << "You are solving for acceleration." << endl; //Solving for acceleration
cout << endl;
cout << "What is the initial velocity (in m/s)?" << endl;
cin >> initialVelocity;
cout << "What is the final velocity (in m/s)?" endl;
cin >> finalVelocity;
cout >> "What is the time (in seconds)?" << endl;
cin >> time;
cout << "The acceleration is " << (finalVelocity - initialVelocity) / time << setprecision(10) << " m/s/s." << endl;
break;
case (userInputSolveFor == vi):
cout << "You are solving for initial velocity." << endl; //Solving for initial velocity
cout << endl;
cout << "What is your acceleration (in m/s/s)?" << endl;
cin >> acceleration;
cout << "What is your final velocity (in m/s)?" endl;
cin >> finalVelocity;
cout >> "What is the time (in seconds)?" << endl;
cin >> time;
cout << "The initial velocity is " << finalVelocity / (acceleration * time) << setprecision(10) << " m/s." << endl;
break;
case (userInputSolveFor == vf):
cout << "You are solving for final velocity." << endl; //Solving for final velocity
cout << endl;
cout << "What is your acceleration (in m/s/s)?" << endl;
cin >> acceleration;
cout << "What is your initial velocity (in m/s)?" endl;
cin >> initialVelocity;
cout >> "What is the time (in seconds)?" << endl;
cin >> time;
cout << "The final velocity is " << initialVelocity + (acceleration * time) << setprecision(10) << " m/s." << endl;
break;
case (userInputSolveFor == t):
cout << "You are solving for time." << endl; //Solving for time
cout << endl;
cout << "What is the acceleration (in m/s/s)?" << endl;
cin >> acceleration;
cout << "What is the initial velocity (in m/s)?" endl;
cin >> initialVelocity;
cout >> "What is the final velocity (in m/s)?" << endl;
cin >> finalVelocity;
cout << "The time is " << (finalVelocity - initialVelocity) / acceleration << setprecision(10) << " seconds." << endl;
break;
default:
cout <<"The input you have entered is not valid." << endl;
break;
}
case (userInput == 2):
cout << "You are using x = vi(t) + 1/2(a)(t)^2." << endl;
cout << endl;
cout << "What are you trying to solve for?" <<endl;
cout << endl;
cout << "Use x for distance (in meters)." << endl;
cout << "Use vi for initial velocity (in m/s)." << endl;
cout << "Use t for time (in seconds)." << endl;
cout << "Use a for acceleration (in m/s/s)." <<endl;
cin >> userInputSolveFor;
cout << endl;
switch (userInputSolveFor)
{
case (userInputSolveFor == a):
cout << "You are solving for acceleration." << endl;
cout << endl;
cout << "What is the distance (in meters)?" << endl;
cin >> deltaDistance;
cout << "What is the initial velocity (in m/s)?" << endl;
cin >> initialVelocity;
cout << "What is the time (in seconds)?" << endl;
cin >> time;
cout << "The acceleration is " << deltaDistance - (initialVelocity * time) / (0.5 * pow(time, 2.0)) << setprecision(10) << " m/s/s." << endl;
break;
case (userInputSolveFor == vi):
cout << "You are solving for initial velocity." << endl;
cout << endl;
cout << "What is the distance (in meters)?" << endl;
cin >> deltaDistance;
cout << "What is the acceleration (in m/s/s)?" << endl;
cin >> acceleration;
cout << "What is the time (in seconds)?" << endl;
cin >> time;
cout << "The initial velocity is " << (deltaDistance - ((pow(time, 2.0)) * acceleration * 0.5)) / time << setprecision(10) << " m/s." << endl;
break;
case (userInputSolveFor == x):
cout << "You are solving for distance." << endl;
cout << endl;
cout << "What is the acceleration (in m/s/s)?" << endl;
cin >> acceleration;
cout << "What is the initial velocity?" << endl;
cin >> initialVelocity;
cout << "What is the time (in seconds)?" << endl;
cin >> time;
cout << "The distance is " << (initialVelocity * time) + ((pow(time, 2.0)) * acceleration * 0.5) << setprecision(10) << " meters." << endl;
break;
case (userInputSolveFor == t):
cout << "You are solving for time." << endl;
cout << endl;
cout << "What is the acceleration (in m/s/s)?" << endl;
cin >> acceleration;
cout << "What is the initial velocity?" << endl;
cin >> initialVelocity;
cout << "What is the distance (in meters)?" << endl;
cin >> deltaDistance;
if (initialVelocity == 0):
{
cout << "The time is " << sqrt(deltaDistance - (0.5 * acceleration)) << setprecision(10) << " seconds." << endl;
}
else if (acceleration == 0):
{
cout << "The time is " << (deltaDistance / initialVelocity) << setprecision(10) << " seconds." << endl;
}
break;
default:
cout <<"The input you have entered is not valid." << endl;
break;
}
case (userInput == 3):
cout << "You are using vf^2 = vi^2 + 2(a)(x)." << endl;
cout << endl;
cout << "What are you trying to solve for?" <<endl;
cout << endl;
cout << "Use vf for final velocity (in m/s)." << endl;
cout << "Use vi for initial velocity (in m/s)." << endl;
cout << "Use a for acceleration." << endl;
cout << "Use x for distance (in meters)." <<endl;
cin >> userInputSolveFor;
cout << endl;
switch (userInputSolveFor)
{
case (userInputSolveFor == vf):
cout << "You are solving for final velocity." << endl;
cout << endl;
cout << "What is the initial velocity (in m/s)?" << endl;
cin >> initialVelocity;
cout << "What is the acceleration (in m/s/s)?" << endl;
cin >> acceleration;
cout << "What is the distance (in meters)?" << endl;
cin >> deltaDistance;
cout << "The final velocity is " << (sqrt(pow(initialVelocity, 2.0))) + (2 * acceleration * deltaDistance) << setprecision(10) << " m/s." << endl;
break;
case (userInputSolveFor == vi):
cout << "You are solving for initial velocity." << endl;
cout << endl;
cout << "What is the final velocity (in m/s)?" << endl;
cin >> finalVelocity;
cout << "What is the acceleration (in m/s/s)?" << endl;
cin >> acceleration;
cout << "What is the distance (in meters)?" << endl;
cin >> deltaDistance;
cout << "The initial velocity is " << (sqrt(pow(finalVelocity, 2.0)) / (2 * acceleration * deltaDistance) << setprecision(10) << " m/s." << endl;
break;
case (userInputSolveFor == a):
cout << "You are solving for acceleration." << endl;
cout << endl;
cout << "What is the final velocity (in m/s)?" << endl;
cin >> finalVelocity;
cout << "What is the initial velocity (in m/s)?" << endl;
cin >> initialVelocity;
cout << "What is the distance (in meters)?" << endl;
cin >> deltaDistance;
cout << "The acceleration is " << (sqrt(pow(finalVelocity, 2.0)) - (sqrt(pow(initialVelocity, 2.0)))) / (2 * deltaDistance)) << setprecision(10) << " m/s/s." << endl;
break;
case (userInputSolveFor == x):
cout << "You are solving for distance." << endl;
cout << endl;
cout << "What is the final velocity (in m/s)?" << endl;
cin >> finalVelocity;
cout << "What is the initial velocity (in m/s)?" << endl;
cin >> initialVelocity;
cout << "What is the acceleration (in m/s/s)?" << endl;
cin >> acceleration;
cout << "The distance is " << (sqrt(pow(finalVelocity, 2.0)) - sqrt(pow(initialVelocity, 2.0))) / (2.0 * acceleration) << setprecision(10) << " meters." << endl;
break;
default:
cout <<"The input you have entered is not valid." << endl;
break;
}
default:
while (userInput <= 1 || userInput >= 3)
{
cout << "The number you have entered is not valid." << endl;
cin >> userInput;
}
}
return 0;
}
在此处回答的另一个问题中,我发现了以下 JavaScript代码: function _dom_trackActiveElement(evt) { if (evt && evt.target)
if (A == 0) OR (B == 0) 怎么说? 最佳答案 只是为了讽刺: if (A === 0 || B === 0) 关于语法,我们在Stack Overflow上找到一个类似的问题:
var ret = [] ,xresult = document.evaluate(exp, rootEl, null, X
我一直在寻找一些类似于下例的 JavaScript。有人可以解释一下吗,因为我以前从未见过这样编写的 JavaScript。 “SomethingHere”和冒号代表什么?我习惯于看到函数 myFun
这是我的程序: delimiter // drop procedure if exists migContactToActor; create procedure migContactToActor(
我遇到了一个问题。我一直在使用 gcc 编译/汇编我的 C 代码一段时间,并且习惯了阅读 Intel 汇编语法。我在生成程序集文件时使用了 -masm=intel 标志。 但是最近因为公司迁移,拿到了
自上而下和自下而上语法有什么区别?举个例子就太好了。 最佳答案 首先,语法本身不是自上而下或自下而上的,解析器是(尽管有些语法可以被其中一个解析,但不能被另一个解析)。 从实践的角度来看,主要区别在于
我知道这是草率的代码,但它是: display dialog ("Start Screensaver. Please type: matrix, coffee, waffles, star, wate
这个问题已经有答案了: Giving name to a loop (6 个回答) 已关闭 8 年前。 我见过这个字符在 C# 中使用,就像 Java 中的扩展一样,但最近我在代码中发现了这个 loo
我正在尝试编写一个函数来检查字符串是否为回文,但我认为在使用字符串指针时存在一些错误。这段代码有什么问题? #include #include #define MAX 1000 int IsPalin
所以在this question我询问了一些 Javascript 是如何被压缩的。问题已得到解答,但以下片段让我非常困惑,以至于我不得不问另一个问题。在这里: for (Y = 0; $ = 'zx
假设我有一个接受这些参数的函数。 int create(Ptr * p,void * (*insert)(void *, void *)) { //return something later } 结
这个问题已经有答案了: Bitwise '&' operator (6 个回答) 已关闭 5 年前。 我在代码中找到了这个,但我从未遇到过像 & 这样的事情,仅 && if ((code & 1) =
我在处理继承类及其中的构造函数和方法的语法时遇到了问题。 我想实现一个类日期和一个子类 date_ISO,它们将按特定顺序设置给定的日、月、年,并通过一种方法将其写入字符串。我觉得我的基类日期工作正常
我正在尝试通过存储过程填充表,如下所示: SET @resultsCount = (SELECT COUNT(*) FROM tableA); SET @i = 0; WHILE @i THEN
谁能解释一下下面代码中的“<<”? mysql test<
刚刚开始学习 MySQL,这是一个菜鸟问题,也是我在 StackOverflow 上的第一个问题。 假设我有 12 个订单状态,我想从其中的 5 个中选择总计。我会使用: SELECT SUM(tot
我的编程背景是在学校学过一点Java。由于某些原因,JavaScript 语法往往让我感到困惑。下面的 JavaScript 代码是一种我不知道如何构成的语法模式: foo.ready = funct
我正在阅读 javascript 源代码,并且我以前没有编写过 javascript。我对它的一些语法感到困惑。 $(function () { window.onload=function
我什至不知道如何命名我想要的东西。那么让我举个例子来解释一下。 虽然火狐使用textContent,但其他浏览器支持innerText属性。顺便说一句,如果我使用了错误的术语,请纠正我。无论如何,到目
我是一名优秀的程序员,十分优秀!