Iterative solution to train problem to practice class and object basicsGenerically encapsulating random generators and distributions into a class templateGeneric pixel class to seamlessly alpha-blend and convert between different pixel structure layoutsTracker for object construction, copy, and movement
Do we have to expect a queue for the shuttle from Watford Junction to Harry Potter Studio?
Why is it that I can sometimes guess the next note?
Mimic lecturing on blackboard, facing audience
How does electrical safety system work on ISS?
What features enable the Su-25 Frogfoot to operate with such a wide variety of fuels?
Why is so much work done on numerical verification of the Riemann Hypothesis?
Is this part of the description of the Archfey warlock's Misty Escape feature redundant?
Is there any evidence that Cleopatra and Caesarion considered fleeing to India to escape the Romans?
Is there a RAID 0 Equivalent for RAM?
15% tax on $7.5k earnings. Is that right?
How do I tell my boss that I'm quitting soon, especially given that a colleague just left this week
Can I say "fingers" when referring to toes?
Why do ¬, ∀ and ∃ have the same precedence?
Why is the "ls" command showing permissions of files in a FAT32 partition?
How to preserve electronics (computers, iPads and phones) for hundreds of years
What does Apple's new App Store requirement mean
Does "he squandered his car on drink" sound natural?
Can I turn my anal-retentiveness into a career?
How to convince somebody that he is fit for something else, but not this job?
Is there a nicer/politer/more positive alternative for "negates"?
Which was the first story featuring espers?
How can ping know if my host is down
Microchip documentation does not label CAN buss pins on micro controller pinout diagram
What fields between the rationals and the reals allow a good notion of 2D distance?
Iterative solution to train problem to practice class and object basics
Generically encapsulating random generators and distributions into a class templateGeneric pixel class to seamlessly alpha-blend and convert between different pixel structure layoutsTracker for object construction, copy, and movement
$begingroup$
Ive done a little bit of programming in the past, mostly just dabbling.
After a long time of not touching an IDE, I am getting back into it. I just threw this quick project together to make sure I remember how to use classes and objects before I start playing with bigger projects.
I would love a quick critique to make sure there arent any glaring poor practices that could develop into bad habbits in the future.
I know the standard way to solve this problem is just time = distance/(velA+velB), but what would the point of using objects be if i didnt have the objects do something and change their status in someway?
what do you think, looks good?
/*
The goal for this practice program is to solve the common math word problem below using classes and objects.
I feel that using iterations rather than the basic math formula to solve, although clearly less efficient, would be more true to thinking in terms of objects.
Train A, traveling X miles per hour (mph), leaves Westford heading toward Eastford, 260 miles away.
At the same time Train B, traveling Y mph, leaves Eastford heading toward Westford.
When do the two trains meet? How far from each city do they meet?
*/
#include "pch.h"
#include <iostream>
using namespace std;
class Train
public:
Train(int, int);
int getLocation();
void update();
private:
int location, velocity;
;
Train::Train(int loc, int vel) //to initialize the train object and set its location and velocity
location = loc;
velocity = vel;
int Train::getLocation() // returns the location of the train object
return location;
void Train::update() // updates the train object for one iteration
location += velocity;
int main()
int velA, velB, distance; //to take the values from the user input
int time; // to keep track of the number of iterations
// time is declared here so it can be used outside of the for loop
//input
cout << "Enter velocity of the train from Westford:n";
cin >> velA;
cout << "nnEnter velocity of the train from Eastford:n";
cin >> velB;
cout << "nnEnter the distance between Westford and Eastford:n";
cin >> distance;
//initialize each train
Train trainA(0, velA);
Train trainB(distance, 0 - velB); //location of trainB is distance because the distance between an x coordinate at 0 and another x coordinate is equal to the second x coordinate
//the velocity of trainB is the negative of velB because it is traveling in the opposite direction of trainA
//run the sim
for (time = 0; trainA.getLocation() < trainB.getLocation(); time++)
trainA.update();
trainB.update();
//output
cout << "nnThe Trains pass eachother after " << time << " hours."
<< "nAt that time, the Westford train is " << trainA.getLocation() << " miles from Westfordn"
<< "and the Eastford train is " << distance - trainB.getLocation() << " miles from Eastford.nn";
return 0;
c++17 visual-studio
New contributor
$endgroup$
add a comment |
$begingroup$
Ive done a little bit of programming in the past, mostly just dabbling.
After a long time of not touching an IDE, I am getting back into it. I just threw this quick project together to make sure I remember how to use classes and objects before I start playing with bigger projects.
I would love a quick critique to make sure there arent any glaring poor practices that could develop into bad habbits in the future.
I know the standard way to solve this problem is just time = distance/(velA+velB), but what would the point of using objects be if i didnt have the objects do something and change their status in someway?
what do you think, looks good?
/*
The goal for this practice program is to solve the common math word problem below using classes and objects.
I feel that using iterations rather than the basic math formula to solve, although clearly less efficient, would be more true to thinking in terms of objects.
Train A, traveling X miles per hour (mph), leaves Westford heading toward Eastford, 260 miles away.
At the same time Train B, traveling Y mph, leaves Eastford heading toward Westford.
When do the two trains meet? How far from each city do they meet?
*/
#include "pch.h"
#include <iostream>
using namespace std;
class Train
public:
Train(int, int);
int getLocation();
void update();
private:
int location, velocity;
;
Train::Train(int loc, int vel) //to initialize the train object and set its location and velocity
location = loc;
velocity = vel;
int Train::getLocation() // returns the location of the train object
return location;
void Train::update() // updates the train object for one iteration
location += velocity;
int main()
int velA, velB, distance; //to take the values from the user input
int time; // to keep track of the number of iterations
// time is declared here so it can be used outside of the for loop
//input
cout << "Enter velocity of the train from Westford:n";
cin >> velA;
cout << "nnEnter velocity of the train from Eastford:n";
cin >> velB;
cout << "nnEnter the distance between Westford and Eastford:n";
cin >> distance;
//initialize each train
Train trainA(0, velA);
Train trainB(distance, 0 - velB); //location of trainB is distance because the distance between an x coordinate at 0 and another x coordinate is equal to the second x coordinate
//the velocity of trainB is the negative of velB because it is traveling in the opposite direction of trainA
//run the sim
for (time = 0; trainA.getLocation() < trainB.getLocation(); time++)
trainA.update();
trainB.update();
//output
cout << "nnThe Trains pass eachother after " << time << " hours."
<< "nAt that time, the Westford train is " << trainA.getLocation() << " miles from Westfordn"
<< "and the Eastford train is " << distance - trainB.getLocation() << " miles from Eastford.nn";
return 0;
c++17 visual-studio
New contributor
$endgroup$
add a comment |
$begingroup$
Ive done a little bit of programming in the past, mostly just dabbling.
After a long time of not touching an IDE, I am getting back into it. I just threw this quick project together to make sure I remember how to use classes and objects before I start playing with bigger projects.
I would love a quick critique to make sure there arent any glaring poor practices that could develop into bad habbits in the future.
I know the standard way to solve this problem is just time = distance/(velA+velB), but what would the point of using objects be if i didnt have the objects do something and change their status in someway?
what do you think, looks good?
/*
The goal for this practice program is to solve the common math word problem below using classes and objects.
I feel that using iterations rather than the basic math formula to solve, although clearly less efficient, would be more true to thinking in terms of objects.
Train A, traveling X miles per hour (mph), leaves Westford heading toward Eastford, 260 miles away.
At the same time Train B, traveling Y mph, leaves Eastford heading toward Westford.
When do the two trains meet? How far from each city do they meet?
*/
#include "pch.h"
#include <iostream>
using namespace std;
class Train
public:
Train(int, int);
int getLocation();
void update();
private:
int location, velocity;
;
Train::Train(int loc, int vel) //to initialize the train object and set its location and velocity
location = loc;
velocity = vel;
int Train::getLocation() // returns the location of the train object
return location;
void Train::update() // updates the train object for one iteration
location += velocity;
int main()
int velA, velB, distance; //to take the values from the user input
int time; // to keep track of the number of iterations
// time is declared here so it can be used outside of the for loop
//input
cout << "Enter velocity of the train from Westford:n";
cin >> velA;
cout << "nnEnter velocity of the train from Eastford:n";
cin >> velB;
cout << "nnEnter the distance between Westford and Eastford:n";
cin >> distance;
//initialize each train
Train trainA(0, velA);
Train trainB(distance, 0 - velB); //location of trainB is distance because the distance between an x coordinate at 0 and another x coordinate is equal to the second x coordinate
//the velocity of trainB is the negative of velB because it is traveling in the opposite direction of trainA
//run the sim
for (time = 0; trainA.getLocation() < trainB.getLocation(); time++)
trainA.update();
trainB.update();
//output
cout << "nnThe Trains pass eachother after " << time << " hours."
<< "nAt that time, the Westford train is " << trainA.getLocation() << " miles from Westfordn"
<< "and the Eastford train is " << distance - trainB.getLocation() << " miles from Eastford.nn";
return 0;
c++17 visual-studio
New contributor
$endgroup$
Ive done a little bit of programming in the past, mostly just dabbling.
After a long time of not touching an IDE, I am getting back into it. I just threw this quick project together to make sure I remember how to use classes and objects before I start playing with bigger projects.
I would love a quick critique to make sure there arent any glaring poor practices that could develop into bad habbits in the future.
I know the standard way to solve this problem is just time = distance/(velA+velB), but what would the point of using objects be if i didnt have the objects do something and change their status in someway?
what do you think, looks good?
/*
The goal for this practice program is to solve the common math word problem below using classes and objects.
I feel that using iterations rather than the basic math formula to solve, although clearly less efficient, would be more true to thinking in terms of objects.
Train A, traveling X miles per hour (mph), leaves Westford heading toward Eastford, 260 miles away.
At the same time Train B, traveling Y mph, leaves Eastford heading toward Westford.
When do the two trains meet? How far from each city do they meet?
*/
#include "pch.h"
#include <iostream>
using namespace std;
class Train
public:
Train(int, int);
int getLocation();
void update();
private:
int location, velocity;
;
Train::Train(int loc, int vel) //to initialize the train object and set its location and velocity
location = loc;
velocity = vel;
int Train::getLocation() // returns the location of the train object
return location;
void Train::update() // updates the train object for one iteration
location += velocity;
int main()
int velA, velB, distance; //to take the values from the user input
int time; // to keep track of the number of iterations
// time is declared here so it can be used outside of the for loop
//input
cout << "Enter velocity of the train from Westford:n";
cin >> velA;
cout << "nnEnter velocity of the train from Eastford:n";
cin >> velB;
cout << "nnEnter the distance between Westford and Eastford:n";
cin >> distance;
//initialize each train
Train trainA(0, velA);
Train trainB(distance, 0 - velB); //location of trainB is distance because the distance between an x coordinate at 0 and another x coordinate is equal to the second x coordinate
//the velocity of trainB is the negative of velB because it is traveling in the opposite direction of trainA
//run the sim
for (time = 0; trainA.getLocation() < trainB.getLocation(); time++)
trainA.update();
trainB.update();
//output
cout << "nnThe Trains pass eachother after " << time << " hours."
<< "nAt that time, the Westford train is " << trainA.getLocation() << " miles from Westfordn"
<< "and the Eastford train is " << distance - trainB.getLocation() << " miles from Eastford.nn";
return 0;
c++17 visual-studio
c++17 visual-studio
New contributor
New contributor
New contributor
asked 7 mins ago
Mickey BrennemanMickey Brenneman
1
1
New contributor
New contributor
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
);
);
, "mathjax-editing");
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "196"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Mickey Brenneman is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f215968%2fiterative-solution-to-train-problem-to-practice-class-and-object-basics%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Mickey Brenneman is a new contributor. Be nice, and check out our Code of Conduct.
Mickey Brenneman is a new contributor. Be nice, and check out our Code of Conduct.
Mickey Brenneman is a new contributor. Be nice, and check out our Code of Conduct.
Mickey Brenneman is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Code Review Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f215968%2fiterative-solution-to-train-problem-to-practice-class-and-object-basics%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown