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

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //home/grpatillo/hw6_212.cpp
/*	Author:                 R.P. Patillo
        Instructor:             Dr. Wang
        Due Date:               April 2, 2008
        Compilation:            g++ hw5_212.cpp -o hw5_212.out
        Execution:              ./hw5_212.out

        Goal:  			This program will perform the following operations using a loop: 1) insert a full name; 2) find a name;
				3) print the name list; 4) sort the list to ascending order; 5) quit
*/

#include <iostream>

using namespace std;

const int MAX = 100;

class List
{	string first[MAX];
	string last[MAX];
	string middle[MAX];
	int length;

public:
	List()	// empty: length = 0
	{	length = 0;	}
	int Length()
	{	return length;	}
	bool IsEmpty()
	{	return length == 0;	}
	bool IsFull() const
	{	return length == MAX;	}
	void Insert(string f, string m, string l)
	{	first[length] = f;
		middle[length] = m;
		last[length] = l;
		length++;
	}
	bool IsPresent(string str) const;
	void SelSort();			
	void Print() const
	{	for(int i=0; i<length; i++)
			cout << first[i] << " " << middle[i] << " " << last[i]  << "\n";
		cout << endl;
	}
};

bool List :: IsPresent(string str) const
{	bool done = false;
	for(int i=0; i<length&&!done; i++)
		if( str == first[i])
		{
			cout << "\nIt's the first name of: " << first[i] << " " << middle[i] << " " << last[i] << endl;	
		}		
		else if( str == middle[i])
		{
			cout << "\nIt's the middle name of: " << first[i] << " " << middle[i] << " " << last[i] << endl;
		}
		else if( str == last[i])
		{	
			cout << "\nIt's the last name of: " << first[i] << " " << middle[i] << " " << last[i] << endl; 
		}
	for(int i=0; i<length&&!done; i++)
                if( str == first[i])
                	done = true;
                else if( str == middle[i])
                	done = true;
                else if( str == last[i])
               		done = true;
	return done;
}

void List :: SelSort()
{	string temp;
	string temp3;
	string temp2;	
	int passCount;
	int minIndex; 	
	for (passCount=0; passCount<length-1; passCount ++)
	{	
		minIndex = passCount;
		for (int k=passCount+1; k<length; k++)
		{	
			if (last[minIndex] == last[k] )
				for ( int z=passCount+1; z<length; z++)
				{
					if (first[minIndex] > first[k] )
						minIndex = k;
				}
			else if (last[minIndex] > last[k] )
				minIndex = k;
		}
		temp = first[minIndex];
		temp2 = middle[minIndex];
		temp3 = last[minIndex];
		last[minIndex] = last[passCount];
		first[minIndex] = first[passCount];
		middle[minIndex] = middle[passCount];
		last[passCount] = temp3;
		first[passCount] = temp; 
		middle[passCount] = temp2;
	}
}

int main()
{	List list1;
	string f, m, l, str;
	char op;

	cout << "\n*********************************\n" << endl;
	cout << "Input a full name (first name middle intial & last name):" << endl;
	cin >> f >> m >> l;
	list1.Insert(f, m, l);

	cout << "\n*********************************\n" << endl;
	cout << "Input I to input another full name... \nInput F to find a name... \nInput P to print out your current name list... \nInput S to sort your current name list in ascending order... \nInput Q to quit... \n-------------------\nYour command:\t";
         cin >> op;

	while(op != 'Q' || op != 'q')
	{	
		if (op == 'I' || op == 'i')
		{
			cout << "\n*********************************\n" << endl;
			cout << "Input another full name:" << endl;
			cin >> f >> m >> l;
			list1.Insert(f, m, l);
		}
		else if(op == 'F' || op == 'f')
		{	
		cout << "\n*********************************\n" << endl;
			cout << "Input the name you want to be found within your list:" << endl;
			cin >> str;
			if(list1.IsPresent(str))
				cout << "\nThat name is within the list!!!\n";
			else
				cout << "\nThat name is not within the list.\n";
		}
		else if (op == 'P' || op == 'p')
		{	
		cout << "\n*********************************\n" << endl;
			cout << "The current list of names is: " << endl;
			list1.Print();		
		}
		else if (op == 'S' || op == 's')
		{
		cout << "\n*********************************\n" << endl;
			list1.SelSort();
			cout << "The sorted list is: " << endl;
			list1.Print();
		}
		else if (op == 'Q' || op == 'q')
			break;
		else
		{	
		cout << "\n*********************************\n" << endl;
		cout << "Please input a valid command: {I to insert, F to find, P to print, S to sort or Q to quit}" << endl;
		cin >> op;
		}

		cout << "\n*********************************\n" << endl;
		cout << "Input I to input another full name... \nInput F to find a name... \nInput P to print out your current name list... \nInput S to sort your current name list in ascending order... \nInput Q to quit... \n-------------------\nYour command:\t";

        	cin >> op;
	}

	cout << "\n\nThanks for playing!!!\n\n";
	return 0;

}

Stv3n404 - 2023