diff options
| -rw-r--r-- | CST116F2021-Lab6/CONSOLE OUTPUT.txt | 265 | ||||
| -rw-r--r-- | CST116F2021-Lab6/CST116F2021-Lab6.cpp | 343 |
2 files changed, 596 insertions, 12 deletions
diff --git a/CST116F2021-Lab6/CONSOLE OUTPUT.txt b/CST116F2021-Lab6/CONSOLE OUTPUT.txt new file mode 100644 index 0000000..8699ddc --- /dev/null +++ b/CST116F2021-Lab6/CONSOLE OUTPUT.txt @@ -0,0 +1,265 @@ +This file contains all of the console outputs from each question. + +10.10 LBD Exercises #1: + +---[Run 1]--- + +Please enter information for club 1 of 10: +Club name (done to exit): Computer Systems Society +Club president: Kim Cares +Number of students: 49 + +Please enter information for club 2 of 10: +Club name (done to exit): Society of Women Engineers +Club president: Jeanie Queen +Number of students: 51 + +Please enter information for club 3 of 10: +Club name (done to exit): Sigma Tau Gamma +Club president: Storm Drain +Number of students: 241 + +Please enter information for club 4 of 10: +Club name (done to exit): Trekkies +Club president: C. Kirk +Number of students: 230 + +Please enter information for club 5 of 10: +Club name (done to exit): done + +Student Club President Students Budget +Computer Systems Society Kim Cares 49 3675 +Society of Women Engineers Jeanie Queen 51 3825 +Sigma Tau Gamma Storm Drain 241 18075 +Trekkies C. Kirk 230 17250 + +C:\Users\jorda\source\repos\CST_Testing\Debug\CST_Testing.exe (process 8644) exited with code 0. +To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops. +Press any key to close this window . . . + +---[Run 2]--- + +Please enter information for club 1 of 10: +Club name (done to exit): Test1 +Club president: Name1 +Number of students: 1 + +Please enter information for club 2 of 10: +Club name (done to exit): Test2 +Club president: Name2 +Number of students: 2 + +Please enter information for club 3 of 10: +Club name (done to exit): Test3 +Club president: Name3 +Number of students: 3 + +Please enter information for club 4 of 10: +Club name (done to exit): Test4 +Club president: Name4 +Number of students: 4 + +Please enter information for club 5 of 10: +Club name (done to exit): Test5 +Club president: Name5 +Number of students: -5 + +Please enter information for club 6 of 10: +Club name (done to exit): Test6 +Club president: Name6 +Number of students: 66 + +Please enter information for club 7 of 10: +Club name (done to exit): Test7 +Club president: Name-7 +Number of students: 0 + +Please enter information for club 8 of 10: +Club name (done to exit): Test -8- +Club president: N A M E 8 +Number of students: 88 + +Please enter information for club 9 of 10: +Club name (done to exit): Test9 +Club president: Name9 +Number of students: 99 + +Please enter information for club 10 of 10: +Club name (done to exit): Test10 +Club president: Name10 +Number of students: 1000 + + +Student Club President Students Budget +Test1 Name1 1 75 +Test2 Name2 2 150 +Test3 Name3 3 225 +Test4 Name4 4 300 +Test5 Name5 -5 -375 +Test6 Name6 66 4950 +Test7 Name-7 0 0 +Test -8- N A M E 8 88 6600 +Test9 Name9 99 7425 +Test10 Name10 1000 75000 + +C:\Users\jorda\source\repos\CST_Testing\Debug\CST_Testing.exe (process 272) exited with code 0. +To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops. +Press any key to close this window . . . + + + +10.14 Debugging Exercises #1: + +---[Run 1]--- + +Please enter your first name: Jordan + +Please enter your last name: Harris-Toovy + + + Welcome Jordan Harris-Toovy! + Hope all is well + + x y z + + 0 100 100 + 1 101 102 + 2 102 104 + 3 103 106 + 4 104 108 + +C:\Users\jorda\source\repos\CST_Testing\Debug\CST_Testing.exe (process 13620) exited with code 0. +To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops. +Press any key to close this window . . . + +---[Run 2]--- + +Please enter your first name: Jordan + +Please enter your last name: Harris-Toovy + + + Welcome Jordan Harris-Toovy! + Hope all is well + + x y z + + 0 100 100 + 1 101 102 + 2 102 104 + 3 103 106 + 4 104 108 + 5 105 110 + 6 106 112 + 7 107 114 + 8 108 116 + 9 109 118 + +C:\Users\jorda\source\repos\CST_Testing\Debug\CST_Testing.exe (process 11348) exited with code 0. +To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops. +Press any key to close this window . . . + +---[Run 3]--- + +Please enter your first name: Jordan + +Please enter your last name: Harris-Toovy + + + Welcome Jordan Harris-Toovy! + Hope all is well + + x y z + + 0 100 -99 + 1 101 102 + 2 102 104 + 3 103 106 + 4 104 108 + 5 105 110 + 6 106 112 + 7 107 114 + 8 108 116 + 9 109 118 + +C:\Users\jorda\source\repos\CST_Testing\Debug\CST_Testing.exe (process 2588) exited with code 0. +To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops. +Press any key to close this window . . . + +---[Run 4]--- + +Please enter your first name: Jordan + +Please enter your last name: Harris-Toovy + + + Welcome Zordan Harris-Toovy! + Hope all is well + + x y z + + 0 100 -99 + 99 101 200 + 2 102 104 + 3 103 106 + 4 104 108 + 5 105 110 + 6 106 112 + 7 107 114 + 8 108 116 + 9 109 118 + +C:\Users\jorda\source\repos\CST_Testing\Debug\CST_Testing.exe (process 7932) exited with code 0. +To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops. +Press any key to close this window . . . + + + +10.15 Programming Exercises #1: + +---[Run 1]--- + +String checker MK1 - Case sensitive edition +Please enter a string (25 characters max): Hello! + +Please enter a character to test: l + +This string is not a palindrome +This string is not purely composed of letters +The character 'l' appears 2 times in this string + +C:\Users\jorda\source\repos\CST_Testing\Debug\CST_Testing.exe (process 13376) exited with code 0. +To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops. +Press any key to close this window . . . + + +---[Run 2]--- + +String checker MK1 - Case sensitive edition +Please enter a string (25 characters max): racecar + +Please enter a character to test: e + +This string is a palindrome +This string is purely composed of letters +The character 'e' appears 1 times in this string + +C:\Users\jorda\source\repos\CST_Testing\Debug\CST_Testing.exe (process 2156) exited with code 0. +To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops. +Press any key to close this window . . . + + +---[Run 3]--- + +String checker MK1 - Case sensitive edition +Please enter a string (25 characters max): AbC87H78CbA + +Please enter a character to test: A + +This string is a palindrome +This string is not purely composed of letters +The character 'A' appears 2 times in this string + +C:\Users\jorda\source\repos\CST_Testing\Debug\CST_Testing.exe (process 5204) exited with code 0. +To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops. +Press any key to close this window . . . diff --git a/CST116F2021-Lab6/CST116F2021-Lab6.cpp b/CST116F2021-Lab6/CST116F2021-Lab6.cpp index 466d90f..f9271f9 100644 --- a/CST116F2021-Lab6/CST116F2021-Lab6.cpp +++ b/CST116F2021-Lab6/CST116F2021-Lab6.cpp @@ -1,20 +1,339 @@ -// CST116F2021-Lab6.cpp : This file contains the 'main' function. Program execution begins and ends there. -// +//Code by Jordan Harris-Toovy for OIT's CST116 Lab 6, November 2021 #include <iostream> +#include <iomanip> +#include <string> +using namespace std; + +//10.10 LBD Ex #1: + +/* +const int MAX_ROWS = 10, PER_STUDENT_BUDGET = 75; + +int fillTable(string[MAX_ROWS][2], int[MAX_ROWS][2]); + +int main(void) +{ + string name_lead[MAX_ROWS][2]{}; + int pop_funding[MAX_ROWS][2]{ 0 }, num_rows = 0; + + num_rows = fillTable(name_lead, pop_funding); + + cout << endl; + cout.setf(ios::left); + cout << setw(30) << "Student Club" << setw(25) << "President" << setw(10) << "Students" << setw(10) << "Budget" << endl; + + for (int idx = 0; idx < num_rows; idx++) + { + cout.setf(ios::left); + cout << setw(30) << name_lead[idx][0] << setw(25) << name_lead[idx][1] << setw(10) << pop_funding[idx][0] << setw(10) << pop_funding[idx][1] << endl; + } + + return 0; +} + +int fillTable(string title_president[MAX_ROWS][2], int students_budget[MAX_ROWS][2]) +{ + int num_rows = 0; + for (int idx = 0; idx < MAX_ROWS; idx++) + { + cout << "Please enter information for club " << idx + 1 << " of " << MAX_ROWS << ": " << endl; + cout << "Club name (done to exit): "; + getline(cin >> ws, title_president[idx][0]); + if (title_president[idx][0].compare((string)"done") == 0) + { + break; + } + cout << "Club president: "; + getline(cin >> ws, title_president[idx][1]); + cout << "Number of students: "; + cin >> students_budget[idx][0]; + cout << endl; + num_rows++; + students_budget[idx][1] = students_budget[idx][0] * PER_STUDENT_BUDGET; + } + return num_rows; +} +*/ + +//10.14 Debugging Exercises # 1: + +/******************************************************************** +* File: Chapter 10 Debug.cpp +* +* General Instructions: Complete each step before proceeding to the +* next. +* +* Debugging Exercise 1 +* +* 1) Build and run the program. +* 2) Examine the code and the output and notice the use of +* parallel arrays. +* 3) Insert breakpoints at Breakpoint 1, Breakpoint 2, and Breakpoint +* 3. +* 4) Run to Breakpoint 1. +* 5) Place a watch on varX, varY and varZ. Click on the '+' in the +* watch window to see the individual elements associated with each +* of the arrays. +* 6) Continue running your program to Breakpoint 2. +* 7) Add a watch on the array called name. Again, click on the '+' +* symbol. Notice how a multidimensional array is shown in the +* debugger, the null terminating characters location, and how a +* character is represented within each element of the array. +* 8) Continue running the program to Breakpoint 3. +* 9) Notice the contents of varX and varY now that you are back in the +* main function. +* 10) Clear all the breakpoints. +* 11) Stop debugging. +* +* Debugging Exercise 2 +* +* 1) Change the constant SIZE from 5 to 10. +* 2) Change any literal containing a 5 to the constant SIZE. +* Notice the usefulness of the constant when changes need +* to be made to your code. +* 3) Set a breakpoint at Breakpoint 4. Now on this breakpoint +* set the necessary condition so the loop breaks when x hits 8. +* (Hint: If you need help setting breakpoints based upon a +* condition refer to Chapter 8). +* 4) Run to Breakpoint 4. +* 5) Continue stepping into the remainder of the for loop until the +* flow returns back to main. +* 6) Make sure your Watch window is visible and notice the contents +* of varY and varZ now that you are back in main. +* 7) Stop debugging. +* 8) Disable all breakpoints. +* 9) Rebuild and execute the program and verify the results. +* +* Debugging Exercise 3 +* +* 1) Just before the call to the PrintFunction in main, add an +* assignment statement to change the first element in the +* array varZ to -99. +* 2) Build and execute your code, verifying that the calculations +* are correct in relation to element 0 of varZ. +* 3) Add a line to assign the contents of the second element of +* varX to 99 in FunctionTwo. +* 4) Rebuild your program. +* 5 Obviously there is a problem. Remove the const from the +* function declaration and header for varX. +* 5) Now you should be able to build and execute your code. Do it. +* 6) Set a breakpoint on Breakpoint 2. +* 7) Re-enable Breakpoint 2. +* 8) Run to Breakpoint 2 and make sure you have a watch on the +* variable name. +* 9) Click on the '+'. Once you see all the elements +* within the array, change the 'Value' (in the Value field) +* for the first element of the array directly within the Watch +* window to the character 'Z'. Notice how the value is updated +* by displaying the new ASCII value too. +* 10) Stop debugging. +* 11) Disable all breakpoints. +* +********************************************************************/ + +/* + +void GetAndDisplayWelcomeInfo(); +void FunctionOne(int varX[], int varY[]); +void FunctionTwo(int varX[], const int varY[], int varZ[]); +void PrintFunction(const int varX[], const int varY[], const int varZ[]); + +const int SIZE = 10; int main() { - std::cout << "Hello World!\n"; + int varX[SIZE]; + int varY[SIZE]; + int varZ[SIZE]; // Notice how we used the const here! + +// Breakpoint 1 + // Put breakpoint on the following line + GetAndDisplayWelcomeInfo(); + FunctionOne(varX, varY); + + // Breakpoint 3 + // Put breakpoint on the following line + FunctionTwo(varX, varY, varZ); + + varZ[0] = -99; + + PrintFunction(varX, varY, varZ); + + return 0; } +void GetAndDisplayWelcomeInfo() +{ + char name[2][20]; // First name in row 0, last name in row 1 -// Run program: Ctrl + F5 or Debug > Start Without Debugging menu -// Debug program: F5 or Debug > Start Debugging menu + cout << "Please enter your first name: "; + cin >> name[0]; -// Tips for Getting Started: -// 1. Use the Solution Explorer window to add/manage files -// 2. Use the Team Explorer window to connect to source control -// 3. Use the Output window to see build output and other messages -// 4. Use the Error List window to view errors -// 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project -// 6. In the future, to open this project again, go to File > Open > Project and select the .sln file + cout << "\nPlease enter your last name: "; + cin >> name[1]; + + // Breakpoint 2 + // Put breakpoint on the following line + cout << "\n\n\tWelcome " << name[0] << " " << name[1] + << "!\n\t Hope all is well \n\n"; +} +void FunctionOne(int varX[], int varY[]) +{ + for (int x = 0; x < SIZE; x++) // NOTICE '<' NOT <= + // Breakpoint 4 + // Put breakpoint on the following line + varX[x] = x; + + for (int x = 0; x < SIZE; x++) + varY[x] = x + 100; +} +void FunctionTwo(int varX[], const int varY[], int varZ[]) +{ + varX[1] = 99; + for (int x = 0; x < SIZE; x++) // Notice the const SIZE here + varZ[x] = varX[x] + varY[x]; +} +void PrintFunction(const int varX[20], const int varY[20], const int varZ[20]) +{ + int x; + + cout << " \t x \t y \t z\n\n"; + + for (x = 0; x < SIZE; x++) + cout << "\t" << setw(3) << varX[x] + << "\t " << varY[x] + << "\t " << varZ[x] << endl; +} +*/ + +//10.15 Programming Exercises #1: + +/* +const int MAX_ARRAY_SIZE = 25; + +bool isPalindrome(char[MAX_ARRAY_SIZE]); +bool isAlphaStr(char[MAX_ARRAY_SIZE]); +int countChar(char[MAX_ARRAY_SIZE], char); + +int main(void) +{ + char char_array[MAX_ARRAY_SIZE]{}, test_char = '\0'; + bool pal = false, alp = false; + int test_char_insts = 0; + + cout << "String checker MK1 - Case sensitive edition" << endl; + cout << "Please enter a string (" << MAX_ARRAY_SIZE << " characters max): "; + cin >> char_array; + cout << "\nPlease enter a character to test: "; + cin >> test_char; + cout << endl; + + pal = isPalindrome(char_array); + alp = isAlphaStr(char_array); + test_char_insts = countChar(char_array, test_char); + + if (pal) + { + cout << "This string is a palindrome" << endl; + } + else + { + cout << "This string is not a palindrome" << endl; + } + + if (alp) + { + cout << "This string is purely composed of letters" << endl; + } + else + { + cout << "This string is not purely composed of letters" << endl; + } + + cout << "The character '" << test_char << "' appears " << test_char_insts << " times in this string " << endl; + + return 0; +} + + +bool isPalindrome(char inArray[MAX_ARRAY_SIZE]) +{ + bool lenAct = true; + int len = 0; + + while (lenAct) + { + if ((inArray[len] != '\0') && (len < MAX_ARRAY_SIZE)) + { + len++; + } + else + { + lenAct = false; + } + } + + for (int idx = 0; idx < ceil(len / 2); idx++) + { + if (inArray[idx] != inArray[len - idx - 1]) + { + return false; + } + } + return true; +} + +bool isAlphaStr(char inArray[MAX_ARRAY_SIZE]) +{ + bool lenAct = true; + int len = 0; + + while (lenAct) + { + if ((inArray[len] != '\0') && (len < MAX_ARRAY_SIZE)) + { + len++; + } + else + { + lenAct = false; + } + } + + for (int idx = 0; idx < (len); idx++) + { + if (!isalpha(inArray[idx])) + { + return false; + } + } + return true; +} + +int countChar(char inArray[MAX_ARRAY_SIZE], char test_char) +{ + bool lenAct = true; + int len = 0, char_insts = 0; + + while (lenAct) + { + if ((inArray[len] != '\0') && (len < MAX_ARRAY_SIZE)) + { + len++; + } + else + { + lenAct = false; + } + } + + for (int idx = 0; idx < len; idx++) + { + if (inArray[idx] == test_char) + { + char_insts++; + } + } + return char_insts; +} +*/
\ No newline at end of file |