#include<conio.h> void display() |
#include<iostream.h> #include<stdio.h> #include<stdlib.h> const int MAX=10; class Stack{ private : char *t, *p, *top, *bot; public : Stack(); void push(char); void pop(); void display(); }; int main(){ Stack s1; int get; char data; for(;;){ cout << "\n 메뉴 선택\n\n 1. push \n 2. pop\n 3. display\n 4. quit \n\n 번호를 입력하시오: "; //메뉴를 cout<< 문으로 cin >> get; // 메뉴 선택값 입력: cin>> 문으로
switch(get) { case 1:// 선택값 1이면: 문자데이터를 입력해서 push cout << "문자데이터를 입력하시오 :"; cin >> data; s1.push(data); break; case 2:// 선택값 2이면: pop s1.pop(); break; case 3:// 선택값 3이면: display s1.display(); break; case 4:// 선택값 4이면: exit exit(0); } } } Stack::Stack(){ p = new char[MAX]; bot = p; top = MAX + p - 1; cout<<"bottom의 포인터 : "<<&bot<<'\n'; cout<<"top의 포인터 : "<<&top<<'\n'; } void Stack::push(char i) { if(p == top) {cout<<"\7\n stack full"<<'\n'; return;} *p = i; p++; } void Stack::pop() { if(p == NULL) {cout<< "\n\7 stack empty"; return;} p--; cout << "\n\n stack pointer :" << &p << " pop data : " << *p; if(p <= bot) p = NULL; return; }
void Stack::display() { if (p == NULL) {cout <<"\n stack이 비었음\n"; return;} t = p-1; while(t >= bot) { cout << "\n stack index :" << &t << " stack data : " << *t; t--;} return; } |
'Program > C & C++' 카테고리의 다른 글
Open CV (0) | 2011.04.11 |
---|---|
c++콘솔 시계 (0) | 2011.03.28 |
C++ / 기본문법 / using (0) | 2010.09.09 |
C++ / 기본문법 / namespace (0) | 2010.09.09 |
파일입출력 / printf 에서 자릿수 맞춰서 출력하기 (0) | 2010.09.09 |