This repo contains the programming challenges I completed while taking a C++ course in the Summer 2019 term. We used the textbook Starting Out With C++ (Brief Version) Ninth Edition by Tony Gaddis. This was an 8-week course--a semester condensed down for the summer term--so it was a lot of work over a relatively short period of time. I got an A in the class.
Prior to this class, I had experience with several languages including a little C#. I found the C++ syntax and structural requirements challenging but also kind of fun. You have to be explicit with C++. Creating an array? How many elements will it have? Defining an integer? What type of integer? C++ requires you to understand a lot more about data types and memory than a language like Python. Some of my learning in this course was simply translating concepts I already understood to the syntax of C++: things like printing, file stream, flow control, and loops. Some other concepts were either completely new to me or covered in much greater depth than I experienced before, such as pointers and classes.
Since C++ is a compiled language, running any of this code on your machine may not be so simple. I created all of these projects with Netbeans 8.2 on OSX. If you happen to meet those two specs, you can try to import the entire project into Netbeans and run it. Otherwise, I recommend two options:
- Simply view the contents of the .cpp, header, and text files right here on Github. Directory with links below.
- Copy over the contents of the .cpp, header, and text files to an IDE of your choice, then build the project from your local machine.
- Chapter 2: Introduction to C++
- Chapter 3: Expressios and Interactivity
- Chapter 4: Making Decisions
- Chapter 5: Loops and Files
- Chapter 6: Functions
- Chapter 7: Arrays and Vectors
- Chapter 8: Searching and Sorting Arrays
- Chapter 9: Pointers
- Chapter 10: Characters, C-Strings, and More about the string Class
- Chapter 11: Structured Data
- Chapter 12: Advanced File Operations
- Challenge 1: File Head Program (main.cpp) (nfl_teams.txt)
- Challenge 3: Punch Line (main.cpp) (joke.txt) (punchline.txt)
- Challenge 5: Line Numbers (main.cpp) (nfl_teams.txt) (afc_teams.txt) (nfc_teams.txt)
- Challenge 7: Sentence Filter (main.cpp) (linux_scripting_intro.txt) (operating_system.txt) (joke.txt)
- Chapter 13: Introduction to Classes
- Chapter 14: More about Classes
- Chapter 15: Inheritance, Polymorphism, and Virtual Functions