| Saint Louis University | 
    Computer Science 180 | Dept. of Math & Computer Science | 
| Topic: | A First Glance at C++ | 
| Pre-lab Due: | Tuesday, 14 January 2014, 10:00am | 
| Submission Deadline: | Wednesday, 15 January 2014, 11:59pm | 
The pre-lab requirement must be completed and submitted individually.
The remainder of the lab activity should be completed working in pairs. One person should submit the result, making sure that both partners' names are clearly identified in that submission.
Please make sure you adhere to the policies on academic integrity in this regard.
      Open up a console window and change to the working directory of
      your choice. You may create a new directory with a command such
      as 
      
      and then change to that directory with the command
      
  
      We are providing a directory containing sample C++ source code named gcd.cpp.
      Copy our directory into your working directory with the following
      command (note well the final period)
      
      and then change into your copy of the directory as
      
      
Note: if you are working on your local computer, rather than turing, you may download the necessary file gcd.cpp from this web page.
      That directory will contain the file gcd.cpp.
      You should see it in the listing of your directory with the
      command
      
      
View the source code by opening the file with a text editor. A simple text editor on turing is called kate. You may either type kate gcd.cpp in the console to start the program or look for it in the "Utilities" folder of the "K" menu at the bottom-left corner of your workspace. If you want a more advanced text editor, my personal favorite is named emacs.
      Our next goal is to compile the source code. We recommend doing
      this with the command
      
      
      make is not actually the C++ compiler, but a convenient
      utility that assits when building applications.
      When you execute that command, it invokes the actual compiler
      with a command such as
      
      
      If you work on a system other than turing and you do not have
      make installed, you can compile your code by directly
      invoking g++ as shown above.  Our reasons for prefer the
      use of make are that it is a simpler syntax and that
      make can better handle complex builds when we start to
      use multiple source files.  Make is also clever in that it won't
      recompile if the source code has not been modified since the
      last build.  For example, type
      
After a successful compilation, the output of the compiler will be an executable named gcd (that file name was dictated with the syntax -o gcd when g++ was invoked).
      You should be able to see that file in the listing of your
      directory with the command
      
  
      The executable can be run from your working directory using the command
      
      try the following interactions
First value: 30 Second value: 18 gcd: 6
Use the program to calculate the greatest commond divisor of the values 9772444 and 3297294. Record the result.
To complete this lab, create a text file named lab00.txt with the following format:
Lab 0 Your Name(s) gcd_result_herethen submit the file lab00.txt using the online submission system from our course web page.
Generally, when working on pair assignments, only one person should submit the solution (but with both names noted in the file). However, since one goal of this lab is to have everyone test out the online submission system, we ask that each student submit for this lab.
      Go to line 7 and insert the characters // at the
      beginning of the line (turning that line into a comment). Now
      go back to the console and type
      
      What is the compiler's complaint?
      
Uncomment line 7 to restore the original file.
Delete the first int that begins line 4 and try to rebuild the program. What is the compiler's complaint?
Restore line 4 to its original form.
Go to line 19 and change the characters >> to <<. What is the compiler's complaint?
Restore line 19 to its original form.
Go to line 8 and remove the { character near the end of the line and try again to make the project. This time, the compiler complains about line 13. Why?
Restore the { at line 8 before continuing.
Comment out line 13 (by prefixing it with // and try to rebuild. This time, the make succeeds. Rerun the resulting executable and recalculate the gcd of 30 and 18. What happened?
Restore line 13 to its original form.
Experiment with other changes to the source code and see what happens.
You can run the automated judge's tests on turing to test the correctness of your program (although you must still formally submit the source code via the course website). If you are working on your own machine (or if you just want to examine the judge's inputs and expected outputs), we provide them here.