c.cpp

来自「栈额实验(数制转换) 还是数据结构课的实验作业」· C++ 代码 · 共 92 行

CPP
92
字号
#include <iostream.h>

#define MAX 100

typedef struct stack
{
	int data[MAX];
	int top;
}seqStack;

void INTstack(seqStack *s)
{
	
	s->top=-1;

	
}

int Push(seqStack *s,int x)
{
	if(s->top==MAX-1) return 0;
	else 
	{
		s->top++;
		s->data[s->top]=x;
		return 1;
	}
}

int Pop(seqStack *s,int &x)
{
	if(s->top==-1) return 0;
	else
	{
		x=s->data[s->top];
		s->top--;
		return 1;
	}
}

int empty(seqStack *s)
{
	if(s->top==-1) return 1;
	else return 0;
}

int Conversion(seqStack *s,int n,int d)
{
	int x;
	INTstack(s);
	while(n)
	{   
	
		Push(s,(n%d));
		n=n/d;
	

	}
	while(!empty(s))
	{
		
		Pop(s,x);
		
		
		cout<<x<<endl;

	}
	return 1;
}



int main()
{
	seqStack *s;
	int n,d;
	char flag='y';
	 while(flag=='y'||flag=='Y'){
	cout<<"输入数值:";
	cin>>n;
	cout<<"输入转换的进制:";
	cin>>d;
	cout<<endl;
	cout<<"10进制数"<<n<<"转"<<d<<"进制数为:"<<endl;
	s=new seqStack ;
	Conversion(s,n,d);
	cout<<"GO NO(U/N)?";
	cin>>flag;
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?