创建一个栈..将输入的10进制数转8进制数的.` 我菜.
#include<iostream.h>
#include<malloc.h>
#define MAXLEN 100;
#define STACKINCREMENT 10;
struct sqstack
{
int *base;
int *top;
int length;
};
sqstack initstack(sqstack &s)
{
s.base=(int *)malloc(MAXLEN * sizeof(int));
if(!s.base)
{
cout<<"ERROR"<<endl;
}
s.top=s.base;
s.length=MAXLEN;
return s;
}
sqstack push(sqstack &s,int a){
if(s.top-s.base>=s.length){
s.base=(int *)malloc((MAXLEN+STACKINCREMENT)*(sizeof(int)));
if(!s.base){
cout<<"ERROR";
}
s.top=s.base+s.length;
s.length+=STACKINCREMENT;
}
*s.top++=a;
}
sqstack pop(sqstack &s,int &a){
if(s.top=s.base) cout<<"ERROR";
a=*s.top--;
}
Empty(sqstack s)
{
int empty=1;
if(s.top==0) empty=0;
return empty;
}
void conversion(sqstack s,int a){
while(a){
s=push(s,a%8);
a=a/8;
}
while(Empty(s)){
pop(s,a);
cout<<a;
}
}
void main(){
int a;
sqstack s;
sqstack initstack(sqstack &s);
cout<<"input a number";
cin>>a;
void conversion(sqstack s,int a);
}