C任意进制转换程序Word文件下载.docx

上传人:b****1 文档编号:14680771 上传时间:2022-10-23 格式:DOCX 页数:14 大小:16.96KB
下载 相关 举报
C任意进制转换程序Word文件下载.docx_第1页
第1页 / 共14页
C任意进制转换程序Word文件下载.docx_第2页
第2页 / 共14页
C任意进制转换程序Word文件下载.docx_第3页
第3页 / 共14页
C任意进制转换程序Word文件下载.docx_第4页
第4页 / 共14页
C任意进制转换程序Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C任意进制转换程序Word文件下载.docx

《C任意进制转换程序Word文件下载.docx》由会员分享,可在线阅读,更多相关《C任意进制转换程序Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

C任意进制转换程序Word文件下载.docx

#defineCHAR_9'

9'

#defineCHAR_A'

A'

#defineCHAR_a'

a'

#defineCHAR_Z'

Z'

#defineCHAR_SPACE'

'

#defineSTRING_0"

0"

#defineSTRING_Z"

Z"

boolScale();

boolGetSourceScale(int*scale_in);

boolGetObjectScale(int*scale_out);

doubleOtherToDeci(intscale_in,charinputdata[]);

voidDeciToOther(unsignedlongdeci,intscale_out,charoutputdata[]);

boolGetData(chardata[],intCONCOUNT,intflg);

boolGetScale(chartemp[]);

boolGetSource(intin_scale,charinputdata[]);

voidScaleChange(intscale_in,charinputdata[],intscale_out,charoutputdata[]);

voidCleanScreen();

int_tmain(intargc,_TCHAR*argv[])

{intflg=0;

charcs[WIDTH];

memset(cs,0x00,sizeof(cs));

while

(1)

{

printf("

-----------------------------------------------------------------\n"

);

DataTransformBetweenTwoScales\n"

----------------------------------------\n"

/*进制转换主函数*/

if(!

Scale())

break;

}printf("

inputanykeyandpress'

Enter'

keytocontinue,'

forexit:

"

GetData(cs,WIDTH,flg))/*判断是否继续执行下一次转换*/

}

system("

cls"

/*清屏*/

}return0;

}boolScale()

intscale_in,scale_out;

charinputdata[DATAWIDTH];

charoutputdata[DATAWIDTH];

/*输入源数据进制*/

GetSourceScale(&

scale_in))

returnfalse;

}/*输入源数据*/

GetSource(scale_in,inputdata))

}/*输入目标数据进制*/

GetObjectScale(&

scale_out))

}/*进行进制转换*/

ScaleChange(scale_in,inputdata,scale_out,outputdata);

returntrue;

}boolGetSourceScale(int*scale_in)/*输入源数据进制*/

chartemparray[WIDTH];

memset(temparray,0x00,sizeof(temparray));

printf("

Inputsourcedatascaleandpress'

key(oneof2,8,10,16.'

forexit):

\n"

GetScale(temparray))

*scale_in=atoi(temparray);

}boolGetObjectScale(int*scale_out)/*输入目标数据进制*/

Inputobjectdatascaleandpress'

*scale_out=atoi(temparray);

}boolGetData(chardata[],intCONCOUNT,intflg)/*输入数据*/

inti,icount;

charc;

char*p;

boolspaceFlag;

i=0;

icount=0;

spaceFlag=true;

while((c=getchar())!

=0x0a)

if(spaceFlag&

&

c==CHAR_SPACE)/*去掉前空格*/

continue;

}if(!

spaceFlag&

c==CHAR_SPACE)/*去掉后空格*/

icount++;

elseif(icount>

0)

if(flg)

CleanScreen();

ERROR!

Pleaseinputagain('

/*输入进制或者源数据时,中间有空格,则重新输入*/

i=0;

fflush(stdin);

else

}if(i==CONCOUNT-1)/*判断是否输入数据过长*/

Toomanycharacters.Pleaseinputagain('

memset(data,0x00,sizeof(data));

}if(c==CHAR_0&

!

strcmp(data,STRING_0))

}data[i]=c;

i++;

spaceFlag=false;

}data[i]='

\0'

;

p=data;

if(*p==CHAR_0&

strlen(p)>

1)

p++;

strcpy(data,p);

if(strlen(data)&

strcmp(data,STRING_Z))

returntrue;

}/*输入数据进制*/

boolGetScale(chartemp[])

inti,num,kbn_flg;

charscalewidth[WIDTH];

char*s;

boolflag;

kbn_flg=1;

flag=false;

while(!

flag)

memset(scalewidth,0x00,sizeof(scalewidth));

memset(temp,0x00,sizeof(temp));

if(!

GetData(scalewidth,WIDTH,kbn_flg))/*输入数据*/

s=scalewidth;

strlen(s))/*判断是否输入数据*/

Pleaseinputthescale(oneof2,8,10,16.'

}i=0;

while(*s)

if(*s>

=CHAR_0&

*s<

=CHAR_9)/*判断是否输入整数*/

temp[i]=*s;

s++;

flag=true;

temp[i]='

num=0;

if(flag)

num=atoi(temp);

if(!

(num==CONST_2||num==CONST_8||num==CONST_10||num==CONST_16))/*判断是否输入合法整数*/

boolGetSource(intin_scale,charinputdata[])

inti,kbn_flg;

charsourcedata[DATAWIDTH];

Pleaseinputone%dscaledata('

fore

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1