// CST116F2021-Lab6.cpp : This file contains the 'main' function. Program execution begins and ends there. // // Lab6Exercises_Schroeder.cpp : This file contains the 'main' function. Program execution begins and ends there. // //11a //10.10 Learn by Doing Exercises //pp 282 - 283 //10 pts #1 #include "Lab6_Header.h" int main() { //// 10.10 Learn By Doing Exercises // int Mem_Dues[ARRAY_SIZE][2]{}; // string Club_Pres[ARRAY_SIZE][2]{}; // readData(Mem_Dues, Club_Pres); // printData(Mem_Dues, Club_Pres); //10.14 Programming Exercises Below in Comments //10.15 Programming exercises p292-293 char User_Input[35]; cout << "\nenter a string up to 35 characters long: "; cin.getline(User_Input, 35); isPalindrome(User_Input); isAlphaStr(User_Input); char part_char = 'a'; cout << "\nwhat character would you like to count?: "; cin >> part_char; countChar(User_Input, part_char); } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //11b //10.14 Debugging Exercises //pp 289 - 292 //10 pts #1 //Submit: code & runs /******************************************************************** * 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. * ********************************************************************/ // //#include //#include //using std::cin; //using std::cout; //using std::endl; //using std::setw; // //void GetAndDisplayWelcomeInfo(); //void FunctionOne(int varX[], int varY[]); //void FunctionTwo( int varX[], int varY[], int varZ[]); //void PrintFunction( int varX[], int varY[], int varZ[]); // //const int SIZE = 10; // //int main() //{ // int varX[SIZE]; // int varY[SIZE]; // int varZ[SIZE]; // Notice how we used the const here! // varZ[0] = -99; // varX[1] = 99; // //// Breakpoint 1 // // Put breakpoint on the following line // GetAndDisplayWelcomeInfo(); // FunctionOne(varX, varY); // // // Breakpoint 3 // // Put breakpoint on the following line // FunctionTwo(varX, varY, varZ); // PrintFunction(varX, varY, varZ); // // return 0; //} //void GetAndDisplayWelcomeInfo() //{ // char name[2][20]; // First name in row 0, last name in row 1 // // cout << "Please enter your first name: "; // cin >> name[0]; // // 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[], int varY[], int varZ[]) //{ // for (int x = 0; x < SIZE; x++) // Notice the const SIZE here // varZ[x] = varX[x] + varY[x]; //} //void PrintFunction( int varX[20], int varY[20], 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; //} // // // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////