求助请高手帮忙 (问题已解决)
#include <iostream>using namespace std;
#define SeqSize 100;
typedef int DataType;
typedef struct
{
DataType data[100];
int top;
}SeqStack;
typedef SeqStack * SeqStackConst;
//置空栈;
void InitStack(SeqStackConst s)
{
s->top=0;
}
//判断栈是否为空;
int StackEmpty(SeqStackConst s)
{
return s->top==-1;
}
//判断栈是否满;
int StackFull (SeqStackConst s)
{
return s->top==SeqSize-1;
}
//进栈
void Push (SeqStackConst s,DataType into)
{
if(StackFull(s))
{
cout<<"Stack overflow"<<endl;
}
else
{
s->data[++s->top]=into;
}
}
//退栈
DataType Pop(SeqStackConst s)
{
if(StackEmpty(s))
{
cout<<"Stack underflow"<<endl;
}
else
return s->data[s->top--];
return 0;
}
//取栈顶元素
/*
DataType GetStackTop(SeqStackConst s)
{
if(StackEmpty(s))
{
cout<<"Stack is empty."<<endl;
}
return s->data[s->top];
}
*/
//数制转换
void TransformInt (DataType originalNum,DataType transformNum)
{
int i;
SeqStackConst stackOne;
InitStack(stackOne);
while(originalNum)
{
Push(stackOne,originalNum%transformNum);
transformNum/=transformNum;
}
while(!StackEmpty(stackOne))
{
i=Pop(stackOne);
cout<<i;
}
cout<<endl;
}
void main()
{
int originalNum,transformNum;
cout<<"输入需要转换的数,进制;"<<endl;
cin>>originalNum>>transformNum;
TransformInt(originalNum,transformNum);
}
完整代码段
程序主要实现数制转换
然后编译时有出现
一运行,输入 两个数字,就出现下面的警告 :
SeqStackConst stackOne;
InitStack(stackOne);
中的stackOne没有初始化
请大大们帮个忙.....
[[it] 本帖最后由 yzdying 于 2008-11-6 23:28 编辑 [/it]]