Kanjut SHELL
Server IP : 172.16.15.8  /  Your IP : 18.188.227.108
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/acyurksaitis/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/acyurksaitis/hw5.cpp
// CS212 HW #5:  hw5.cpp
//
// Due:          March 26, 2008
//
// Author:       Amy Yurksaitis
//
// Instructor:   Dr. Wang
//
// Goal:         This program will allow the user to input a string,
//               find a string, print the string list, sort the list
//               to ascending order, and quit.
//
// Compile:      g++ hw5.cpp -o hw5.out
// Run:          ./hw5.out
/////////////////////////////////////////////////////////////////////////////


#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; 
	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 SelSort ()
	{
                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 List:: Print() const
{       for(int k=0; k<length; k++)
                cout<< data[k]  << endl;
}

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 << "I to insert an string\n";
	cout << "F to find an string\n";
	cout << "P to print the list\n";
	cout << "S to sort the list\n";
	cout << "Q to quit the operation\n";
	cout << "\nYou choose: ";
}
void process ( char ch, List& myList )
{
	string datum;
	switch ( tolower(ch) )
	{ 	case 'i':
			cout <<"Input a string: ";
			cin >> datum;
			myList.Insert(datum);
			cout << "The list is: " <<endl;
			myList.Print();
			cout << "\n\nType any key to continue .." <<endl;
                        getchar();
			break;
		case 's':
			cout << "The list is: " << endl;
			myList.SelSort();
			myList.Print();
			cout << "\n\nType any key to continue .." <<endl;
                        getchar();
			break;
		case 'p':
			cout << "The list is: " <<endl;
			myList.Print();
			cout << "\n\nType any key to continue .." <<endl;
			getchar();
			break;
		case 'f':
			cout << "Input an item to be found: ";
			cin >> datum;
			if ( myList.IsPresent(datum) )
				cout << datum << " is in the list.\n";
			else
				cout << datum << " isn't in the list.\n";
			cout << "\n\nType any key to continue .." <<endl;
			getchar();
			break;
		default:
			cout << "\nInvalid input.\n" ;
			cout << "\n\nType any key to continue .." <<endl;
			getchar();
	}
	return;
}


Stv3n404 - 2023