Server IP : 172.16.15.8 / Your IP : 3.145.103.100 Web Server : Apache System : Linux zeus.vwu.edu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Wed Nov 6 14:29:02 UTC 2024 x86_64 User : apache ( 48) PHP Version : 7.2.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0705) : /home/sknewsome/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
// CS212 CS II Assignment 4 // Due: Monday, March 7th // // File Name: assignment_4.cpp // Author: Symonne Newsome // Instructor Dr. Wang // // Compile: g++ assignment_4.cpp // Run: ./a.out // // Goal: the program will prompt the user to insert an item, and // will be able to sort the items and display the string list #include <iostream> using namespace std; const int MAX = 500; class List { string data[MAX]; int length; public: List() { length = 0; } int Length() const { return length; } void Insert(string item) { data[length] = item; length ++; } void Print() const { for(int i=0; i<length; i++) cout << data[i] << " "; cout << "\n"; } bool IsPresent(string item) const { bool found = false; for(int i=0; i<length && !found; i++) if(data[i] == item) found = true; return found; } void SelectionSort() { string temp; int passCount; int minIndex; for(passCount=0; passCount<length-1; passCount ++) { minIndex = passCount; for(int k=passCount+1; k<length; k++) { if( data[minIndex] < data[k]) minIndex = k; } temp = data[minIndex]; data[minIndex] = data[passCount]; data[passCount] = temp; } } void SelectionSort_D() { string temp; int passCount; int maxIndex; for(passCount=0; passCount<length-1; passCount++) { maxIndex = passCount; for(int k=passCount+1; k<length; k++) { if(data[maxIndex] > data[k]) maxIndex = k; } temp = data[maxIndex]; data[maxIndex] = data[passCount]; data[passCount] = temp; } } void menu() { char op; #include <iostream> using namespace std; const int MAX = 500; class List { string data[MAX]; int length; public: List() { length = 0; } int Length() const { return length; } void Insert(string item) { data[length] = item; length ++; } void Print() const { for(int i=0; i<length; i++) cout << data[i] << " "; cout << "\n"; } bool IsPresent(string item) const { bool found = false; for(int i=0; i<length && !found; i++) if(data[i] == item) found = true; return found; } void SelectionSort() { string temp; int passCount; int minIndex; for(passCount=0; passCount<length-1; passCount ++) { minIndex = passCount; for(int k=passCount+1; k<length; k++) { if( data[minIndex] < data[k]) minIndex = k; } temp = data[minIndex]; data[minIndex] = data[passCount]; data[passCount] = temp; } } void SelectionSort_D() { string temp; int passCount; int maxIndex; for(passCount=0; passCount<length-1; passCount++) { maxIndex = passCount; for(int k=passCount+1; k<length; k++) { if(data[maxIndex] > data[k]) maxIndex = k; } temp = data[maxIndex]; data[maxIndex] = data[passCount]; data[passCount] = temp; } } void menu() { char op; cout << " List Operations\n"; cout << "===========================================\n"; cout << "I Insert an Item.\n"; cout << "F Find out if the item is in the list.\n"; cout << "S Sort the list in ascending order.\n"; cout << "R Sort the list in descending order.\n"; cout << "D Display the list.\n"; cout << "Q Quit\n"; cout << "------------------------------------------\n"; cout << "Which operation do you choose: "; cin >> op; } }; int main() { List real; char op; string item; cin >> op; while(toupper(op) != 'Q') { if(toupper(op) == 'I') { cout << "Input the item: "; cin >> item; real.Insert(item); cout << "The current list is - "; real.Print(); } else if(toupper(op) == 'F') { cout << "Input an item to be found: "; cin >> item; if(real.IsPresent(item)) cout << item << " is in the list.\n"; else cout << item << " is not in the list.\n"; } else if(toupper(op) == 'S') { real.SelectionSort(); cout << "The list is - "; real.Print(); } else if(toupper(op) == 'R') { real.SelectionSort_D(); cout << "The list is - "; real.Print(); } else if(toupper(op) == 'D') { cout << "The list is - "; real.Print(); } menu(); cin >> op; } return 0; }