📄 make_stack.txt
字号:
#include"stdafx.h"
#include<iostream>
#include<string>
#define MAXSIZE 10
/*#include<malloc.h>
#define LEN sizeof(struct student) */ //为方便,以后可常用,适当举一反三。
using namespace std;
int* ConstructStack(int brr[])
{
cout<<"**********************栈的基本操作部分*********************"<<endl;
int n,i=0;
int *p1=brr;
cout<<"输入你想要建立的栈的长度,若建立空栈,则长度为0(请勿超过在此设定的最大栈长"<<MAXSIZE<<"):"<<endl;
cin>>n;
while(n>MAXSIZE)
{
cout<<"错误,超过最大栈长,请重新输入:"<<endl;
cin>>n;
}
while(i<n)
{
cout<<"输入第"<<i+1<<"个数字:"<<endl;
cin>>(*p1);
i++;
p1++;
}
return(p1);
}
int Empty(int *c,int *d)
{
cout<<"*******************栈的判空*****************"<<endl;
if(c==d)return 0;
else return 1;
}
void Push(int *t1,int *t2)
{
cout<<"**********************出栈**********************"<<endl;
while(t1!=t2)
{
t2--;
cout<<(*t2)<<" ";
}
}
int main()
{
int a[MAXSIZE],b[MAXSIZE];
int n,R;
int *base,*top,*p;
char c;
top=a;
p=top;
cout<<"下面将进行十进制数与R进制数的转换"<<endl;
cout<<"请设定R值:"<<endl;
cin>>R;
while(!R||R<0)
{
cout<<"错误,重新输入:"<<endl;
cin>>n;
}
cout<<"输入任意一个非零,非负十进制数:"<<endl;
cin>>n;
while(!n||n<0)
{
cout<<"错误,重新输入:"<<endl;
cin>>n;
}
while(n)
{
*p=n%R;
p++;
n=n/R;
}
cout<<"转换结果为:"<<endl;
do
{
p--;
if(*p>9)//以十六进制形式输出
{
c=(*p)+55;
cout<<c;
}
else
cout<<(*p);
} while (p!=top);
cout<<endl;
//**********************栈的基本操作部分*********************
base=top=b;
top=ConstructStack(base);
//"*******************栈的判空******************
if(Empty(base,top))
cout<<"此栈非空"<<endl;
else
cout<<"此栈为空栈"<<endl;
//**********************出栈咯******************
Push(base,top);
system("pause");
return 0;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -