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

C++ copy constructor called at return

Quoting Keynes in a lecture

What's the name of the logical fallacy where a debater extends a statement far beyond the original statement to make it true?

Does an advisor owe his/her student anything? Will an advisor keep a PhD student only out of pity?

Why is the "ls" command showing permissions of files in a FAT32 partition?

Giving feedback to someone without sounding prejudiced

What kind of floor tile is this?

Can I cause damage to electrical appliances by unplugging them when they are turned on?

Is this part of the description of the Archfey warlock's Misty Escape feature redundant?

Why should universal income be universal?

Why is it that I can sometimes guess the next note?

What (the heck) is a Super Worm Equinox Moon?

How do I tell my boss that I'm quitting soon, especially given that a colleague just left this week

How do I fix the group tension caused by my character stealing and possibly killing without provocation?

Has the laser at Magurele, Romania reached a tenth of the Sun's power?

Non-trope happy ending?

Why is so much work done on numerical verification of the Riemann Hypothesis?

Review your own paper in Mathematics

Is my low blitz game drawing rate at www.chess.com an indicator that I am weak in chess?

The IT department bottlenecks progress, how should I handle this?

C++ check if statement can be evaluated constexpr

Did the UK lift the requirement for registering SIM cards?

How would you translate "more" for use as an interface button?

How to get directions in deep space?



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













0












$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;









share







New contributor




Mickey Brenneman is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$
















    0












    $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;









    share







    New contributor




    Mickey Brenneman is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.







    $endgroup$














      0












      0








      0





      $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;









      share







      New contributor




      Mickey Brenneman is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.







      $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





      share







      New contributor




      Mickey Brenneman is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share







      New contributor




      Mickey Brenneman is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share



      share






      New contributor




      Mickey Brenneman is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 5 mins ago









      Mickey BrennemanMickey Brenneman

      1




      1




      New contributor




      Mickey Brenneman is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Mickey Brenneman is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Mickey Brenneman is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          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.









          draft saved

          draft discarded


















          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.









          draft saved

          draft discarded


















          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.




          draft saved


          draft discarded














          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





















































          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







          Popular posts from this blog

          कुँवर स्रोत दिक्चालन सूची"कुँवर""राणा कुँवरके वंशावली"

          Why is a white electrical wire connected to 2 black wires?How to wire a light fixture with 3 white wires in box?How should I wire a ceiling fan when there's only three wires in the box?Two white, two black, two ground, and red wire in ceiling box connected to switchWhy is there a white wire connected to multiple black wires in my light box?How to wire a light with two white wires and one black wireReplace light switch connected to a power outlet with dimmer - two black wires to one black and redHow to wire a light with multiple black/white/green wires from the ceiling?Ceiling box has 2 black and white wires but fan/ light only has 1 of eachWhy neutral wire connected to load wire?Switch with 2 black, 2 white, 2 ground and 1 red wire connected to ceiling light and a receptacle?

          चैत्य भूमि चित्र दीर्घा सन्दर्भ बाहरी कडियाँ दिक्चालन सूची"Chaitya Bhoomi""Chaitya Bhoomi: Statue of Equality in India""Dadar Chaitya Bhoomi: Statue of Equality in India""Ambedkar memorial: Centre okays transfer of Indu Mill land"चैत्यभमि