CS35 Lab 0: Git and C++ warm-up

Due 11:59pm Sunday, January 28, 2018.

The goals of this lab are to:

This is an individual lab to help you learn the basic C++ syntax, so try to complete it on your own.

As with all lab assignments this semester, you will use git to get starting files as well as handing in your assignments.
Using Git

Read the lab notes and make sure you did the following:

  1. Create and enter an ssh key in GitHub.
  2. Enter the Git client user configuration settings.
  3. Clone the examples and lab00 repositories.
We will go through the examples in the lab. Pay close attention, we will introduce the basics of C++ programming that you will need for the lab assignment below.

Programming Exercises
In this part of the lab, you will create some simple C++ programs using the coding skills you've recently gained.
  1. Strings, Input/Output: In the file greeting.cpp, write a short program that asks the user for their name, and then greets the user using that name. For example:
    $ ./greeting
    I am a computer greeting program.
    What is your name?  Alice
    Hello Alice, it is nice to meet you!
    
  2. Loops: In the file guess.cpp, write a program that repeatedly asks the user to guess a number between 1 and 10, until the user enters such a number. Then, tell the user they guessed correctly. Feel free to "cheat" and always assume the user guessed correctly! Or pick a number in advance and print an appropriate message if they guessed incorrectly. For example:
    $ ./guess
    Please guess a number between 1 and 10.  12
    Please guess a number between 1 and 10.  0
    Please guess a number between 1 and 10.  -4
    Please guess a number between 1 and 10.  6
    You guessed: 6.  That's the right number.
    Good job!
    
    You can assume the user will enter an integer, but don't assume the user enters an integer in the proper range.

Compiling and testing

Compile, run, and test your program with the C++ compiler clang++
clang++ greeting.cpp -o greeting
./greeting

clang++ guess.cpp -o guess
./guess

Submit

Once you have edited the files, you should publish your changes using the following steps:

$ git add greeting.cpp guess.cpp
The git add step adds modified files to be part of the next commit to the github server.
$ git commit -m "completed lab0"
The git commit step makes a record of the recently added changes. The -m "completed lab0" part is a descriptive message describing what are the primary changes in this commit. Making a commit allows you to review or undo changes easily in the future, if needed.
$ git push
The git push command sends your committed changes to the github server. If you do not run git push before the submission deadline, the instructor will not see your changes, even if you have finished coding your solution in your local directory.

If you make changes to files after your push and want to share these changes, repeat the add, commit, push loop again to update the github server.

To recap, the git commit cycle is git add, git commit, git push. Don't forget to git push when you have completed an assignment.

DO NOT add the compiled programs greeting and guess. git is only for maintaining human created files, not files generated automatically by the compiler.

You can review the basic git commands on the github help pages. Eventually, you should get in the habit of using git status to see if everything has been published, but we will talk about this more throughout the semester.

Remember to add, commit, push. You may commit and push as often as you like, and only the most recent push will be graded.