Error
Errors:
C++ Documentation
C++ Basics
Comments
#include <iostream> using namespace std; main() { /* comments can be one separate line */ cout << "Hello World"; // the compiler will ignore this in-line comment /* C++ comments can also * take up multiple lines * like this one. */ return 0; }
Comparison Operators
/* Comparison operators return booleans (true/false values) */ /* is x equal to y */ x == y /* is x not equal to y */ x != y /* is x greater than y */ x > y /* is x greater than or equal to y */ x >= y /* is x less than y */ x < y /* is x less than or equal to y */ x <= y
Math
/* Remember to include the following line at the top of your program */ #include <cmath> /* Operators: */ + Addition - Subtraction * Multiplication / Division % Modulus (Remainder) /* Examples: */ int z = x + y; int w = x * y; /* Increment (add one) */ x++ /* Decrement (subtract one) */ x-- /* Absolute value */ double value = double abs(double x) /* Square Root */ double sqrt = double sqrt(double x) /* Rounding */ int rounded = round(5.86) /* Example */ #include <iostream> #include <cmath> using namespace std; int main() { // round cout << "round(+3.14) = " << round(3.14) } // will print out "round(+3.14) = 3"
Strings
/* To use strings, you need to import strings, however they are included in the iostream import.*/ #include <string> /* Strings are mutable, so you can change a string without rebuilding it. */ string str = "Hello"; // Access and update with [ ] or .at() string firstLetter = str[0]; string secondLetter = str.at(1); // When updating, replace with a char str[1] = 'E'; // str is now HEllo str.at(4) = 'O'; // str is now HEllO // Insert adds string to middle of a string // str.insert(position, string); // Example string str = "Word"; str.insert(3, "l"); // str is now World /* Substrings are overloaded with two options: str.substr(index) Substring from the index to the end str.substr(index, length) Substring from the index for a specified length */ // Examples string str = "Hello World"; str.substr(6); // returns "World" str.substr(3, 2); // returns "lo" // Find the length of a string with either // length or size str.length(); // returns 11 str.size(); // returns 11 /* The find function returns the first position that the search string is found (case sensitive), or string::npos if the string is not found. */ str = "Hello World"; str.find("lo"); // returns 3 str.find("hello") // returns string::npos if (str.find("hello") != string::npos) { cout << "Found" << endl; } else { cout << "Not found" << endl; }
Function
#include <iostream> using namespace std; // function declaration int min(int num1, int num2); int main() { // local variable declaration int a = 100; int b = 200; int minimum; // calling the min function minimum = min(a, b); cout << "The minimum value is: " << minimum << endl; return 0; } // function returning the minimum of two numbers int min(int num1, int num2) { // local variable declaration int result; if (num1 < num2) { result = num1; } else { result = num2; } return result; }
Try/Catch Statements
// Basic Try/Catch Block try { // Block of code to execute that may // cause an error } catch (error type) { // Block of code to execute if the error type // is generated } // Example: Validating a number try { /* Attempt to convert to a number. If the input * is a number, it will work, otherwise it will * throw an invalid_argument error.*/ num = stoi(line); } catch (invalid_argument) { isValid = false; cout << "Not an integer, try again." << endl; }
Control Structures
If Statement
if (boolean_expression) { // this will execute if the boolean expression is true } else { // this will execute if the boolean expression is false } // example #include <iostream> using namespace std; int main() { // local variable declaration int a = 1; // check boolean condition if (a < 100) { // if condition is true then print the next line cout << "a is less than 100;" << endl; } else { // if condition is false then print the next line cout << "a is not less than 100;" << endl; } cout << "a is equal to: " << a << endl; return 0; }
While Loop
/* while loop syntax */ while (condition) { statement(s); } /* while loop example */ #include <iostream> using namespace std; int main() { int a = 1; // while loop execution while (a < 100) { cout << "a is still less than 100! a is: " << a << endl; a++; } return 0; }
For Loop
/* for loop syntax */ for (initialize; condition; increment) { statement(s); } /* for loop example */ #include <iostream> using namespace std; int main() { // for loop execution for (int a = 1; a < 100; a++) { cout << "value of a: " << a << endl; } return 0; }
Input/ Output
Printing
#include <iostream> using namespace std; int main() { char str[] = "Hello World!"; cout << "Programmers love to say : " << str << endl; }
User Input
There are two main ways to read input from the user.
cin
is used to read one token at a time.
getline
is used to read an entire line at a time.
#include <iostream> using namespace std; int main() { // To read an entire line, you use the getline command. cout << "Please enter a line: "; // Create a string variable and read in from the user string line; getline(cin, line); // To read a single token, you can use the cin command cout << "Please enter a token: "; string name; cin >> name; return 0; }
File Input/Output
File input is done by opening a file as an input stream and then
reading in using the getline
command. Once
you capture a line, you can then process it before capturing
the next line.
#include <fstream> #include <iostream> using namespace std; int main() { // Create an input file stream ifstream in; // Open the file called input.txt in.open("input.txt"); // Loop to capture all the line. while (true) { string line; // getline reads in our file as a string getline(in, line); /* If you try to read a line and * it fails, you know you are at the * end of our file and you can break * out of the loop */ if (in.fail()) break; // process the results cout << line << endl; } // close our input file stream in.close(); return 0; }
File output is done by opening a file as an output stream and then streaminng into the file just like you would stream to the console.
#include <fstream> #include <iostream> using namespace std; int main() { // Create and open the output file ofstream out; out.open("output.txt"); // Write to the output file out << "Hello World!" << endl; out << "Nice to meet you" << endl; // Close the file out.close(); return 0; }
Data Structures
Vectors
#include <vector> // Be sure to include vector /* syntax to declare a vector */ vector<type> vectorName; /* declare a vector with intial values */ vector<type> vectorName {value, value, ...}; /* Examples */ vector<string> names; vector<int> ages {13, 15, 14, 14}; /* Add values to the end of a vector*/ names.push_back("Karel"); /* Use an iterator to add at an index Example: add at index 2 */ vector <string>::iterator it = names.begin(); names.insert(it + 2, "Tracy"); /* Access the third element of a vector */ double third = weights.at(2); double third = weights[2]; /* Vector size */ int s = ages.size();
Arrays
/* syntax to declare an array */ type arrayName [ arraySize ]; /* declare a 7-element array called weights */ double weights[7]; /* initialize array */ double weights[5] = {10.0, 200.0, 45.4, 70.0, 99.0}; /* assign 4th elements of the ages array to be 33.0 */ weights[3] = 33.0; /* index into array to access the third element */ double third = weights[2];
util.h
The util.h file can be imported into any C++ program by using
#include "util.h"
Below is the header file for the
library.
#include <iostream> #include <vector> using namespace std; // Prints error message and terminates the program void Error(string message); // Prints out prompt and returns string line string readLine(const string prompt = "?"); // Prints out the prompt and returns an integer. If an integer // is not entered (or it is out of the range), the reprompt // is printed and the user can enter again. int readInt(const string prompt = "?", string reprompt = ""); int readInt(const int low, const int high, const string prompt = "?", string reprompt = ""); // Prints out the prompt and returns a double. If a double // is not entered (or it is out of the range), the reprompt // is printed and the user can enter again. double readDouble(const string prompt = "?", string reprompt = ""); double readDouble(const double low, const double high, const string prompt = "?", string reprompt = ""); // Splits a string based on the delimiter and returns a vector vectorsplitLine(string input, char delimeter = ' '); // Returns uppercasw/lowercase version of a string. string toUpperCase(string s); string toLowerCase(string s); // Random number generator. Returns a random integer. // Set seed is optional. void setSeed(int seed); int randInt(); int randInt(int min, int max);
Slides and Notes
No slides available for this video
Collaborate on this sandbox program!
Admin Only. Not visible to customers
A collaborative program is a program you can work on with a partner or group of people. The program shows up in all of your sandbox pages, and when any of you save code, it will save it for each person.
Embed Your Code On an HTML Page
Want to use your CodeHS code outside of CodeHS? Use this embed code to get started.
How to Use
Version 1: On Your Computer
- Create a file called
codehs.html
on your desktop - Put the html below into the codehs.html file and save it
- Now double click the file to open it in a web browser
Version 2: Online
- Create a file called
codehs.html
on your desktop - Put the html below into the codehs.html file and save it
- Upload this file to the internet
- Visit your web page
Note this only works on single files currently.
About
C++
C++14
gcc (Alpine 6.4.0) 6.4.0