[ create a new paste ] login | about

Link: http://codepad.org/WZkFUF6u    [ raw code | fork ]

C++, pasted on Feb 19:
#include <iostream>

using std::cout;
using std::endl;
using std::cin;

class CStack
{
	public:
		
		
		CStack()   //讓輸入的數字能在類別裡運作
		{
			setting = 0;
		}
		
		void push(int insert)          //把輸入的數字丟到陣列最後面
		{
			stack[setting] = insert;
			setting++;		//把輸入值填入陣列後,準備填下一個位置
		}

		void pop()			//把陣列最後面的數字砍掉
		{
			setting--;		//直接往前移
		}

		void peek()			//印出陣列最後面的數字
		{
			int x = setting - 1;	//因為setting會比真實的陣列尾多1,所以要扣回去
			cout << stack[x] << endl;
		}

		void print()		//由後往前印出陣列的所有數字
		{
			for(int i = (setting - 1); i >= 0; i--)
			{
				cout << stack[i] << "  ";
			}
		}

private:
		int setting;		//指位置用
		int stack[80];		//準備存放資料的陣列
};

int main(void)
{
	cout << "請選擇以下項目:" << endl
		 << "1.從最前面輸入數字  " << "2.砍掉最前面的數字  " << "3.看最前面的數字  " << "4.印出所有數字  " << "5.結束" << endl;

	int select;	//選項
	cin >> select;
	cout << endl;

	CStack myStack;

	while(select == 1 || select == 2 || select == 3 || select == 4 || select == 5)
	{
		switch(select)
		{
			case 1:
				{
					cout << "請輸入數字:";
					int input;
					cin >> input;
					cout << endl;
					myStack.push(input);
					break;
				}
			case 2:
				{
					myStack.pop();
					cout << endl;

					break;
				}
			case 3:
				{
					myStack.peek();
					cout << endl;

					break;
				}
			case 4:
				{
					myStack.print();
					cout << endl;

					break;
				}
			default:
				break;
		}
		if(select == 5)
			break;

		cout << "請選擇以下項目:" << endl
			 << "1.從最前面輸入數字  " << "2.砍掉最前面的數字  " << "3.看最前面的數字  " << "4.印出所有數字  " << "5.結束" << endl;
		cin >> select;
		cout << endl;
	}

	return 0;
}


Create a new paste based on this one


Comments: