(C语言)10进制转换2,8,16进制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(C语言)10进制转换2,8,16进制

作者:vinseven

#include"stdio.h"

#include"conio.h"

#include"malloc.h"

#include"windows.h"

#define ElemType int

void menu();

void TenToTwo();

void TenToEight();

void TenToSixteen();

void InitStack(struct sNode **HS);

void Push(struct sNode **HS,ElemType x);

ElemType Pop(struct sNode **HS);

ElemType Peek(struct sNode **HS);

int EmptyStack(struct sNode **HS);

void ClearStack(struct sNode **HS);

int ten;/*要输入的10进制数*/

int x;/*把将要插入到栈中的元素暂时存进 x 中*/

struct sNode hs;

struct sNode

{

ElemType data;

struct sNode *next;

};

void main()

{

menu();

getch();

}

void menu()

{

char choice;

int flag=1;

while(1)

{

printf("\n\t\t\t________________________\n\n\n");

printf("\t\t\t 1,10进制转换2进制\n\n\n");

printf("\t\t\t 2,10进制转换8进制\n\n\n");

printf("\t\t\t 3,10进制转换16进制\n\n\n");

printf("\t\t\t 0,退出\n\n\n");

printf("\t\t\t________________________\n\n");

printf("\t\t\t请输入编号:");

while(flag)

{

fflush(stdin);

choice=getch();

switch(choice)

{

case '1':

{system("cls");

TenToTwo();

flag=0;

break;

}

case '2':

{

system("cls");

TenToEight();

flag=0;

break;

}

case '3':

{

system("cls");

TenToSixteen();

flag=0;

break;

}

case '0':

{

printf("\n\t\t\t按任意键退出");

getch();

exit(0);

}

default:

{

printf("\n\t\t\t无此选项可选!请重新输入!\n");

flag=1;

break;

}

}

}

system("cls");

flag=1;

}

}

/*10进制转换2进制界面*/

void TenToTwo()

{

printf("\n\t\t\t________________________\n\n\n");

printf("\t\t\t 10进制转换2进制界面\n\n\n");

printf("\t\t\t________________________\n\n");

printf("\t\t\t请输入10进制数:");

scanf("%d",&ten);

while(ten!=0)

{

x=ten%2;

Push(&hs,x);

ten=ten/2;

}

printf("\t\t\t二进制数为:");

while(!EmptyStack(&hs))

printf("%d",Pop(&hs));

getch();

}

/*10进制转换8进制界面*/

void TenToEight()

{

printf("\n\t\t\t________________________\n\n\n");

printf("\t\t\t 10进制转换8进制界面\n\n\n");

printf("\t\t\t________________________\n\n");

printf("\t\t\t请输入10进制数:");

scanf("%d",&ten);

while(ten!=0)

{

x=ten%8;

Push(&hs,x);

ten=ten/8;

}

printf("\t\t\t八进制数为:");

while(!EmptyStack(&hs))

printf("%d",Pop(&hs));

getch();

相关文档
最新文档