特种设备招聘:谁能帮我找出程序中的错误?先谢谢了。C++程序

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/02 10:00:14
/******************************************
程序文件名:进制转换
程序功能:实现各种进制转换
******************************************/
#include <iostream.h>
void conversion(int N,int n);//调用自定义函数
void main()
{
int N,n;
cout<<"请输入要转换的进制数N和n"<<endl;
cin>>n;
cin>>N;
conversion(N, n);
}
#define maxsize 100
typedef struct {
int data[maxsize];
int top;
}seqstack;//声明结构体类型
typedef int elemtype;
seqstsck *init_stack();
int push_seqstack(seqstsck *s,int x);
int pop_seqstack(seqstsck *s,int x);
int empty_seqstack(seqstack *s);//声明自定义函数
void conversion(int N,int n)
{
seqstack s;
elemtype x;
init_stack(&s);
while(N)//入栈
{
push_seqstack(&s,N%r);
N=N/r;
}
while(!empty_seqstack(&s))//输出转换后的数
{
pop_seqstack(&s,&x);
cout<<x;
}
cout<<endl;

}
seqstsck *init_stack(){
seqstack *s;
s=(seqstack*)new(sizeof(seqstack));
if(!s)
cout<<"空间不够"<<endl;
return null;
else
{
s->top=-1;
return s;
}
}//初始化栈
int push_seqstack(seqstsck *s,int x)//入栈
{
if(s->top==maxsize-1)
return 0;
else
{
s->top++;
s->data[s->top]=x;
return 1;
}
}
int pop_seqstack(seqstsck *s,int x)//出栈
{
if(empty_seqstack(s))
return 0;
else
{
*x=s->data[s-top];
s->top--;
return 1;
}
}
int empty_seqstack(seqstack *s)//判断栈是否为空
{
if(s->top=-1)
return 1;
else
return 0;
}
请各位大虾编一个完整的程序 谢谢!!

我觉得你应该起码保证编译通过再来发帖吧?
有很多错误是编译器就能发现的错误,你怎么不自己找出来呢?比如,你定义的结构seqstack,在后面引用的时候怎么变成seqstsck了?再比如,你定义的函数seqstsck *init_stack();没有参数,在后面引用的时候却使用参数(init_stack(&s);)了,这些错误你应该先行排除了呀。

欢迎加入我们的C++高级群来讨论。这样的动态讨论解决你这样的初级错误比较方便。群号:18122777