⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 convert.cpp

📁 数据结构源程序
💻 CPP
字号:
#include <stdio.h>

typedef char ElemType;
typedef struct LNode
{
   ElemType elem;
   LNode *next;
}LNode,*LStack;

void Init(LStack &S)
{
	S = NULL;
}

void Push(LStack &S,ElemType elem)
{
	LNode *pnew;
    pnew = new LNode;
    pnew->elem = elem;
	pnew->next = S;
	S = pnew;
}

void Pop(LStack &S,ElemType &elem)
{
    LNode *pnew;
	pnew = S;
	S = S->next;
	elem = pnew->elem;
	delete pnew;
}

void Destroy(LStack &S)
{
	LNode *pcur;
	while(S)
	{
       pcur = S;
	   S = S->next;
	   delete pcur;
	}
	S = NULL;
}

void Convert(int num1,int num2,char cnum[])
{
	LStack S;
	ElemType elem;
	int temp;

	Init(S);
	while(num1)
	{
		temp = num1%num2;
		if(temp == 10)
			elem = 'A';
		else if(temp == 11)
			elem ='B';
		else if(temp==12)
			elem = 'C';
		else if(temp == 13)
			elem = 'D';
		else if(temp == 14)
			elem = 'E';
		else if(temp == 15)
			elem = 'F';
		else 
			elem = temp+'0';

		Push(S,elem);
		num1 = num1/num2;
	}

    while(S)
	{
		Pop(S,elem);
		*cnum++ = elem;
	}
	*cnum = 0;
	Destroy(S);
}

main()
{
	int num,x;
	char *cnum = new char[10];
	
	while(1)
	{
		printf("\n请输入操作提示符:0~1(0:退出;1:操作)");
        char ch;
	    ch = getchar();

		if(ch=='1')
		{ 
		   printf("\n请输入要转换的数和要转换成的进制:");
	       scanf("%d%d",&num,&x);
           Convert(num,x,cnum);
	       printf("\n转换之后的数为:");
	       printf("\n%s",cnum);
		}
		else if(ch == '0')break;
		else continue;

	}
   
	delete []cnum;
}

⌨️ 快捷键说明

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