网站首页 资讯 正文
//建立一个栈类,能够存放图形元素(矩形或圆形),有入栈,出栈。
//取栈顶的功能。建立元素类,里面至少一个纯虚函数,矩形和圆形类。
//来实现里面的函数SHOWME,实现他的显示图形信息的功能。重载>>.
//能够输入图形信息。测试以上类的功能。
#include "stdafx.h"
#include "iostream.h"
#include "string.h"
const n=50;
class shape
{
protected:
double width, length;
public:
shape() {}
virtual void ShowMe()=0;
};
class rectangle:public shape
{
public:
rectangle():shape(){}
friend istream &operator>>(istream &is, rectangle &rec)
{
cout<<"请输入长方形的长:";
is>>rec.length;
cout<<"请输入长方形的宽:";
is>>rec.width;
return is;
}
void ShowMe()
{
cout<<"长方形的长宽分别为:("<<length
<<","<<width<<")"<<endl;
}
};
class circle:public shape
{
private:
//double x, y;
double r;
public:
circle():shape()
friend istream &operator>>(istream &is, circle &cir)
{
cout<<"请输入圆的圆心坐标(x,y):";
is>>cir.width;
is>>cir.length;
cout<<"请输入圆的半径:";
is>>cir.r;
return is;
}
void ShowMe()
{
cout<<"圆的圆心坐标为:("<<width<<","<<length<<")"
<<" 半径为:"<<r<<endl;
}
};
class stack
{
shape *sp[n];
rectangle rec[n];
circle cir[n];
int size;
public:
stack()
{
for (int i=0; i<n; i++)
sp[i]=NULL;
size=-1;
}
bool empty(){return size==-1;}
bool full(){return size==n-1;}
void push(rectangle &rect)
{
rec[++size]=rect;
sp[size]=new rectangle;
sp[size]=&rec[size];
}
void push(circle &circ)
{
cir[++size]=circ;
sp[size]=new circle;
sp[size]=&cir[size];
}
void top()
{
if (empty()) cout<<"栈为空"<<endl;
else {
cout<<"栈顶元素为:"<<endl;
sp[size]->ShowMe();
}
}
void pop()
{
if (empty()) cout<<"栈为空"<<endl;
else {
cout<<"出栈元素为:"<<endl;
sp[size--]->ShowMe();
}
}
};
void main()
{
stack Stack;
rectangle rec;
circle cir;
int s=1;
while (s)
{
cout<<endl;
cout<<"请选择1-5号键*作"<<endl;
cout<<" 1: 矩形进栈;"<<endl;
cout<<" 2: 圆进栈;"<<endl;
cout<<" 3: 显示栈顶元素;"<<endl;
cout<<" 4: 出栈;"<<endl;
cout<<" 5: 退出程序;"<<endl;
cin>>s;
switch(s)
{
case 1: cin>>rec; Stack.push(rec); break;
case 2: cin>>cir; Stack.push(cir); break;
case 3: Stack.top(); break;
case 4: Stack.pop(); break;
case 5: s=0; break;
//default: cout<<"请重新输入"<<endl; break;
}
}
}
猜你喜欢
- 2021-12-25 2006年最热门的十大职业-自考就业
- 2021-12-25 职场冬天里的一把火-自考就业
- 2021-12-25 2006职场人最关心的是什么?-自考就业
- 2021-12-25 2007十个令人兴奋的岗位-自考就业
- 2021-12-25 2006年“新”职业大盘点-自考就业
- 2021-12-25 我国“高技能人才”严重匮乏-自考就业
- 2021-12-25 印度要培养大量汉语人才-自考就业
- 2021-12-25 我国急需培养财务策划专业人员-自考就业
- 2021-12-25 动态网站设计师成为职场新热门-自考就业
- 2021-12-25 研究生就业:超三成人认为工作难找-自考就业
你 发表评论:
欢迎- 01-202022年4月(22.1次)四川省高等教育自学考试报名时间公布
- 12-262020西南交通大学网络教育学院排名
- 12-26西南交通大学网络教育学院网站网址
- 12-26西南交通大学网络教育学院招生办联系电话
- 12-26西南交通大学网络教育学院2020年招生简章
- 12-26西南交通大学网络教育学院宿舍条件
- 12-26西南交通大学网络教育学院想法
- 12-26西南交通大学网络教育学院2020年招生录取分数线
- 5038℃“实验心理学”听课笔记-学习笔记
- 4329℃自考现代汉语语法复习资料四-学习笔记
- 3803℃“实验心理学”听课笔记(2006年版)-学习笔记
- 3557℃语言学概论自考复习题第三章-学习笔记
- 3088℃《大学语文(专)》课程完整讲义-学习笔记
- 2704℃四川大学网络教育学院网站网址
- 2544℃远程教育有几大类型
- 2267℃网络教育可以同时报读2个专业吗
- 0℃未命名
本文暂时没有评论,来添加一个吧(●'◡'●)