📄 app.cpp
字号:
// app.cpp
//测试类的实现
#include "app.h"
#include "stack.h"
#include <iostream>
using namespace std;
testStack::testStack()
{
ps=NULL;
}
void testStack::push(void)
{
char element;
cout<<"输入一个字符:";
cin>>element;
if(s.push(element))
{
}
}
void testStack::pop(void)
{
char c;
if(s.pop(&c))
{
cout<<"出栈的字符为:"<<c<<endl;
}
else
{
cout<<"栈为空了,请不要出栈!"<<endl;
}
}
void testStack::empty(void)
{
if(s.IsEmpty())
{
cout<<"(原栈)为空!"<<endl;
}
else
{
cout<<"(原栈)不为空!"<<endl;
}
}
void testStack::full(void)
{
if(s.IsFulll())
{
cout<<"(原栈)满了!"<<endl;
}
else
{
cout<<"(原栈)还没满!"<<endl;
}
}
void testStack::makeEmpty(void)
{
s.makeEmpty();
}
char testStack::menu(void)
{
char c;
cout<<"\n";
cout<<"1.进栈--------(原栈)"<<endl;
cout<<"2.出栈--------(原栈)"<<endl;
cout<<"3.栈是否空----(原栈)"<<endl;
cout<<"4.栈是否为满--(原栈)"<<endl;
cout<<"5.清空栈------(原栈)"<<endl;
cout<<"6.复制构造一个(新栈)"<<endl;
cout<<"7.判断(新栈)与(原栈)是否相等"<<endl;
cout<<"8.栈赋值--(原栈)赋值给(新栈)"<<endl;
cout<<"0.退出栈操作"<<endl;
cout<<">";
cin>>c;
return c;
}
void testStack::copyAndCreate(void)
{
if(ps!=NULL)
{
delete ps;
}
ps=new CArrayStack(s);
if(ps==NULL)
{
cout<<"内存不足!"<<endl;
return ;
}
}
void testStack::isEquel(void)
{
if(ps==NULL)
{
cout<<"(新栈):没建立,不能比较!"<<endl;
return;
}
else
{
if(s==(*ps))
{
cout<<"两个栈相等!"<<endl;
}
else
{
cout<<"两个栈不相等!"<<endl;
}
}
}
void testStack::printTwo(void)
{
cout<<"(原栈):";
s.Print();
cout<<"(新栈):";
if(ps!=NULL)
{
ps->Print();
}
else
{
cout<<"没建立!"<<endl;
}
}
void testStack::set(void)
{
if(ps!=NULL)
{
*ps=s;
}
else
{
cout<<"(新栈):没建立,不能被赋值!"<<endl;
}
}
void testStack::run(void)
{
char choice;
while(1)
{
choice=menu();
switch(choice)
{
case '1':
{
push();
printTwo();
break;
}
case '2':
{
pop();
printTwo();
break;
}
case '3':
{
printTwo();
empty();
break;
}
case '4':
{
printTwo();
full();
break;
}
case '5':
{
makeEmpty();
printTwo();
break;
}
case '6':
{
copyAndCreate();
printTwo();
break;
}
case '7':
{
printTwo();
isEquel();
break;
}
case '8':
{
set();
printTwo();
break;
}
case '0':
{
break;
}
default:
{
cout<<"请选择菜单中提供的选项!!"<<endl;
break;
}
}
if(choice=='0')
{
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -