Server IP : 172.16.15.8 / Your IP : 13.58.18.135 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/bafreeman/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
// File name: assign5.cpp // Author: Benjamin Freeman // Instructor: Dr. John Wang // Due date: Wed., Mar. 26, 2008 // Compilation: g++ assign5.cpp -o assign5.out // Execution: ./assign5.out // // Goal: This program will allow the user to perform the following operations: // insert a string, find a string, print the string list, sort the list, and quit the program. #include <iostream> using namespace std; const int MAX = 100; class List { int length; string data[MAX]; public: List ( ) { length = 0; } int Length ( ) const { return length; } bool IsFull ( ) const { return ( length == MAX ); } bool IsEmpty ( ) const { return ( length == 0 ); } void Print ( ) const { for ( int k=0; k<length; k++ ) cout << data[k] << ' '; cout << endl; } void Insert ( string item ) { data[ length ] = item; length ++; } bool IsPresent ( string item ) const { bool done = false; for ( int k=0; k<length && ! done; k++ ) if ( data[k] == item ) done = true; return done; } void Sort ( ); }; void List :: Sort ( ) { string temp; int pC; int mI; for ( pC=0; pC<length-1; pC ++ ) { mI = pC; for ( int k=pC+1; k<length; k++ ) { if ( data[mI] > data[k] ) mI = k; } temp = data[mI]; data[mI] = data[pC]; data[pC] = temp; } } void menu (); void process ( char, List& ); int main() { List myList; char ch; menu(); cin >> ch; while ( tolower(ch) != 'q' ) { process(ch, myList); menu(); cin >> ch; } getchar(); return 0; } void menu () { cout << "----------------------\n"; cout << "i: insert a string\n"; cout << "f: find a string\n"; cout << "p: print the list\n"; cout << "s: sort the list\n"; cout << "q: quit the operation\n"; cout << "\nChoose your operation, and input the coresponding letter: "; } void process ( char ch, List& myList ) { string s1; switch ( tolower(ch) ) { case 'i': cout <<"Input a string: "; cin >> s1; myList.Insert(s1); getchar(); break; case 's': myList.Sort(); cout << "The list has been sorted.\n"; getchar(); break; case 'p': cout << "\nThe list is: "; myList.Print(); getchar(); break; case 'f': cout << "Input what string you want to find: "; cin >> s1; if ( myList.IsPresent(s1) ) cout << s1 << " is in the list.\n"; else cout << s1 << " isn't in the list.\n"; getchar(); break; default: cout << "\nInvalid input.\n" ; cout << "\n\nType any key to continue ..\n"; getchar(); } return; }