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

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //home/bsjackson/hw4_test.cpp
//
//	p 137
//	Abstract DT - List: array of items with var. length
//	read strings from a file and put them in the list, out the strings

#include <iostream>
using namespace std;

const int MAX = 50;

class List
{
	string data[MAX];
	int length;
//	string item;
	char op;
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";
	}
	// sequential search, p.139
	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() //p140 ascending order
	{
		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]; //swap
			data[minIndex] = data[passCount];
			data[passCount] = temp;
		}
	}
	void SelectionSort_R() //descending
	{
		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]; //swap
                        data[maxIndex] = data[passCount];
                        data[passCount] = temp;
                }
        }

};

int main()
{
	List real;
	char op;	
	string item, data[MAX];

	cout << "	String List Operations\n";
	cout << "==============================\n";
	cout << "I	Insert an item.\n";
	cout << "F      Find item in list.\n";
	cout << "A	Ascending order.\n";
	cout << "D      Descending order.\n";
	cout << "S      Show List.\n";
	cout << "Q	Quit.\n";
	cout << "-------------------------------\n";
	cout << "Your option is: ";
	cin >> op;

	while(toupper(op) != 'Q')
	{
		if (toupper(op) == 'I')
		{	cout << "Input the item: ";
			cin >> item;
			real.Insert(item);
			cout << "The list is - ";
			real.Print();
		
		}
	
		else if(toupper(op) == 'A')
		{	real.SelectionSort();
			cout << "The list is - ";
			real.Print();
		}
		else if (toupper(op) == 'D')
                {      real.SelectionSort_R();
                        cout << "The list is - ";
                        real.Print();
                }
		if (toupper(op) == 'S')
                {       real.SelectionSort();
                        cout << "The list is - ";
                        real.Print();
                }
		
		// F- find item
	        else if (toupper(op) == 'F')
		cin >> item;
       		{

                	if(real.IsPresent(item))        cout << "Item is in the list.\n";
                	else                            cout << "Item is not in the list.\n";
        	}


		cout << "       String List Operations\n";
	        cout << "==============================\n";
	        cout << "I      Insert an item.\n";
    	    	cout << "F      Find item in list.\n";
		cout << "A      Ascending order.\n";
	        cout << "D      Descending order.\n";
	        cout << "S      Show List.\n";
 	        cout << "Q      Quit.\n";
      	        cout << "-------------------------------\n";
	        cout << "Your option is: ";
        	cin >> op;

	}

	// F- find item
	if (toupper(op) == 'F')
	{
		if(real.IsPresent(item)) 	cout << "Item is in the list.\n";
		else	           		cout << "Item is not in the list.\n";
	}
	return 0;


}

Stv3n404 - 2023