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

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/kebuck/homework4.cpp
//      CS 212 Computer Programming II  Assignment 4
//      Due: Monday March 7, 2011
//
//      File: homework4.cpp
//      Author: Katie Buck
//      Instructor: Dr. Wang
//
//      Compile: g++ homework4.cpp
//      Run:    ./a.out 
//
//	Goal:The goal of this program is to prompt a menu to ask the user 
//		to input a string item.
//

#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];
			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];
                        data[maxIndex] = data[passCount];
                        data[passCount] = temp;
                }
        }
};

void menu()
{
	cout << "       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