diff options
Diffstat (limited to 'CST116F2021-Lab6/Functions.cpp')
| -rw-r--r-- | CST116F2021-Lab6/Functions.cpp | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/CST116F2021-Lab6/Functions.cpp b/CST116F2021-Lab6/Functions.cpp new file mode 100644 index 0000000..b6683ec --- /dev/null +++ b/CST116F2021-Lab6/Functions.cpp @@ -0,0 +1,163 @@ +//============================================================= +// CODE FOR PROBLEM #1 ON PAGE 282 (LEARN BY DOING) IS BELOW +//============================================================= + +//#include "Header.h" +// +//void readData(string club_name[][31], string club_pres[][31], int num_stud[], float money[]) //Takes in user entered data and writes to arrays +//{ +// for (int i = 0; i < 10; i++) +// { +// cout << "\n\tEnter club " << i + 1 << " name: "; +// getline(cin >> ws,club_name[i][0]); +// +// cout << "\n\tEnter club " << i + 1 << " president: "; +// getline(cin >> ws,club_pres[i][0]); +// +// cout << "\n\tEnter club " << i + 1 << " number of students: "; +// cin >> num_stud[i]; +// +// money[i] = 75 * num_stud[i]; +// +// cout << "\n\n~~~~~~~~~~~~~~~~~~~~" << endl; +// } +// +//} +// +//void displayData(string club_name[][31], string club_pres[][31], int num_stud[], float money[]) // Displays the data from the arrays in an orderly fashion +//{ +// cout << "\n\nClub Name Club President # of Students Money"; +// cout << "\n--------------------------------------------------------------------------------------------------\n"; +// +// for (int i = 0; i < 10; i++) +// { +// cout << left << setw(32) << club_name[i][0] +// << left << setw(32) << club_pres[i][0] +// << left << setw(18) << num_stud[i] +// << "$" << left << money[i] << endl; +// } +//} + + +//==================================================================== +// CODE FOR PROBLEM #1 ON PAGE 292 (PROGRAMMING EXERCISES) IS BELOW +//==================================================================== + +#include "Header.h" + +void displayMenu(int& menu_choice) //Displays menu choices and takes in user choice +{ + do + { + cout << "\n\t\t=============================="; + cout << "\n\t\t What would you like to do?"; + cout << "\n\t\t=============================="; + + cout << "\n\n\t1) Test if a string is a palindrome"; + cout << "\n\t2) Test if a string is all alphabetic characters"; + cout << "\n\t3) Count the number of times a specific character appears in a string"; + cout << "\n\t4) Exit"; + + cout << "\n\n\t\tMenu choice #: "; + cin >> menu_choice; + + if (menu_choice < 1 || menu_choice > 4) + { + cout << "\n\nError: Invalid menu choice\n"; + } + } while (menu_choice < 1 || menu_choice > 4); +} + +void processMenuChoice(int menu_choice) //Process menu choice, calls relevant function +{ + switch (menu_choice) { + + case 1: + { + isPalindrome(); + break; + } + + case 2: + { + isAlphaStr(); + break; + } + + case 3: + { + countChar(); + break; + } + + case 4: + { + cout << "\n\t\t\t~ Goodbye! ~\n\n"; + break; + } + } + +} + +void isPalindrome() //Checks whether or not a user input string is a palindrome +{ + char string1[41]; + char stringR[41]; + int same = 2; + + cout << "\n\t\t---------------------------------------------------------"; + cout << "\n\t\t Enter a string (up to 40 characters, spaces are okay)"; + cout << "\n\t\t---------------------------------------------------------"; + + cin.ignore(numeric_limits<streamsize>::max(), '\n'); //****Ignores everything in the input buffer up to this point + + cout << "\n\tEnter string: "; + cin.getline(string1, 41); + + strcpy_s(stringR, string1); + + _strrev(stringR); + + + same = strcmp(string1, stringR); + + if (same == 0) + { + cout << "\n\tThe string is a palindrome!\n"; + } + else if (same == 1) + { + cout << "\n\tThe string is not a palindrome.\n"; + } +} + +void isAlphaStr() //Checks to see if a user input string contains all alphabetic characters or not, displays result +{ + char string2[31]; + int strLength = 0; + int flag = 0; + + cout << "\n\t\t---------------------------------------------------"; + cout << "\n\t\t Enter a string (up to 30 characters, no spaces)"; + cout << "\n\t\t---------------------------------------------------"; + + cin.ignore(numeric_limits<streamsize>::max(), '\n'); //****Ignores everything in the input buffer up to this point + + cout << "\n\tEnter string: "; + cin.getline(string2, 31); + + strLength = strlen(string2); + + for (int i = 0; i < strlength - 1; i++) + { + if (isalpha(string2)) + { + + } + } +} + +void countChar() //Takes in a user input string and a character, counts the frequency of that character within the string, displays result +{ + +}
\ No newline at end of file |