HSALAS
9/4/2018 - 6:59 PM

## CPP - Tutorial 2 - Conditional,Arrays,Vectors,Strings,Logic

``````// ----- CONDITIONAL OPERATORS -----
// different actions depending on conditions
// ==, !=, <, >, <=, >=

// ----- LOGICAL OPERATORS -----
// Logical operators allow you to combine conditions
// && : If both are true it returns true
// || : If either are true it returns true
// ! : Converts true into false and vice versa

// ----- EXAMPLE : IS A BIRTHDAY IMPORTANT -----
// 1 - 18, 21, 50, > 65 : Important
// All others are not important

std::string sAge = "0";
std::cout << "Enter your age : ";
getline(std::cin, sAge);
int nAge = std::stoi(sAge);

// if and else is used to execute different code
// depending on conditions
if ((nAge >= 1) && (nAge <= 18)){
std::cout << "Important Birthday\n";
} else if ((nAge == 21) || (nAge == 50)) {
std::cout << "Important Birthday\n";
} else if (nAge >= 65){
std::cout << "Important Birthday\n";
} else {
std::cout << "Not an Important Birthday\n";
}
// ----- END EXAMPLE : IS A BIRTHDAY IMPORTANT ——

// ----- PROBLEM : DETERMINE SCHOOL GRADE -----
// If age 5 "Go to Kindergarten"
// Ages 6 through 17 go to grades 1 through 12
// If age > 17 "Go to college"
// Enter age : 2
// Too young for school
// Enter age : 8
// Try to do with 15 or less lines of code

std::string sAge = "0";
std::cout << "Enter age : ";
getline(std::cin, sAge);
int nAge = std::stoi(sAge);

if (nAge < 5)
std::cout << "To young for school\n";
else if (nAge == 5)
std::cout << "Go to Kindergarten\n";
else if ((nAge > 5) && (nAge <= 17)){
} else
std::cout << "Go to college\n";

// ----- END PROBLEM : DETERMINE SCHOOL GRADE -----

// ---------- C++ Tutorial Example 4 —————

#include <cstdlib>
#include <iostream>
#include <string>
#include <vector>
#include <sstream>

int main() {

// An array is a collection of data of the same type
// Declare an array of ints with the value of 1
// Once the size is defined it can't change
int arrnNums[10] = {1};

// Leave out the array length
int arrnNums2[] = {1,2,3};

// Create an array and assign some values
int arrnNums3[5] = {8, 9};

// Access array values using indexes starting with 0
std::cout << "1st Value : " << arrnNums3[0] << "\n";

// Change a value
arrnNums3[0] = 7;
std::cout << "1st Value : " << arrnNums3[0] << "\n";

// Get array size by getting the number of bytes
// set aside for the array and then divide by the size
// of the 1st element
std::cout << "Array size : " <<
sizeof(arrnNums3) / sizeof(*arrnNums3) << "\n";

// A multidimensional array is like a spreadsheet
// If you think of each as layers that contain columns
// 1st Number : Which layer
// 2nd Number : Which column
// 3rd Number : Which row
int arrnNums4[2][2][2] = {{{1,2}, {3,4}},
{{5,6}, {7,8}}};
std::cout << arrnNums4[1][1][1] << "\n";

// Use vectors when you don't know how big your
// arrays may be

// Create a vector with 2 spaces to start
std::vector<int> vecnRandNums (2);

vecnRandNums[0] = 10;
vecnRandNums[1] = 20;

// Add another value to the vector
vecnRandNums.push_back(30);

// Get size of vector
std::cout << "Vector Size : " << vecnRandNums.size() << "\n";

// Get last value
std::cout << "Last Index : " <<
vecnRandNums[vecnRandNums.size() - 1] << "\n";

// Convert a string into an array
std::string sSentence = "This is a random string";

// Create a vector
std::vector<std::string> vecsWords;

// A stringstream object receives strings separated
// by a space and then spits them out 1 by 1
std::stringstream ss(sSentence);

// Will temporarily hold each word in the string
std::string sIndivStr;

// Defines what separates the words
char cSpace = ' ';

// While there are more words to extract keep
// executing
// getline takes strings from a stream of words stored
// in the stream and each time it finds a blanks space
// it stores the word proceeding the space in sIndivStr
while(getline(ss, sIndivStr, cSpace)){

// Put the string into a vector
vecsWords.push_back(sIndivStr);
}

// Cycle through each index in the vector and print
// out each word
for(int i = 0; i < vecsWords.size(); ++i){
std::cout << vecsWords[i] << "\n";
}

return 0;
}

#include <cstdlib>
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <limits>

int main() {

// ----- PROBLEM CALCULATOR -----
// Enter calculation (ex. 5 + 6) : 10 - 6
// 10.0 - 6.0 = 4.0

double dbNum1 = 0, dbNum2 = 0;
std::string sCalc = "";
std::vector<std::string> vecsCalc;

std::cout << "Enter calculation (ex. 5 + 6): ";
getline(std::cin, sCalc);

std::stringstream ss(sCalc);
std::string sIndivStr;
char cSpace = ' ';

while(getline(ss, sIndivStr, cSpace)){
vecsCalc.push_back(sIndivStr);
}

dbNum1 = std::stoi(vecsCalc[0]);
dbNum2 = std::stoi(vecsCalc[2]);
std::string operation = vecsCalc[1];

if (operation == "+"){
printf("%.1f + %.1f = %.1f\n", dbNum1, dbNum2,
(dbNum1 + dbNum2));
} else if (operation == "-"){
printf("%.1f - %.1f = %.1f\n", dbNum1, dbNum2,
(dbNum1 - dbNum2));
} else if (operation == "*"){
printf("%.1f * %.1f = %.1f\n", dbNum1, dbNum2,
(dbNum1 * dbNum2));
} else if (operation == "/"){
printf("%.1f / %.1f = %.1f\n", dbNum1, dbNum2,
(dbNum1 / dbNum2));
} else {
std::cout << "Please enter only +, -, *, or /\n";
}

// ----- END PROBLEM CALCULATOR -----
return 0;
}``````