完整word版c语言中进制转换数据结构实训报告.docx

上传人:b****8 文档编号:12761658 上传时间:2023-06-07 格式:DOCX 页数:14 大小:118.50KB
下载 相关 举报
完整word版c语言中进制转换数据结构实训报告.docx_第1页
第1页 / 共14页
完整word版c语言中进制转换数据结构实训报告.docx_第2页
第2页 / 共14页
完整word版c语言中进制转换数据结构实训报告.docx_第3页
第3页 / 共14页
完整word版c语言中进制转换数据结构实训报告.docx_第4页
第4页 / 共14页
完整word版c语言中进制转换数据结构实训报告.docx_第5页
第5页 / 共14页
完整word版c语言中进制转换数据结构实训报告.docx_第6页
第6页 / 共14页
完整word版c语言中进制转换数据结构实训报告.docx_第7页
第7页 / 共14页
完整word版c语言中进制转换数据结构实训报告.docx_第8页
第8页 / 共14页
完整word版c语言中进制转换数据结构实训报告.docx_第9页
第9页 / 共14页
完整word版c语言中进制转换数据结构实训报告.docx_第10页
第10页 / 共14页
完整word版c语言中进制转换数据结构实训报告.docx_第11页
第11页 / 共14页
完整word版c语言中进制转换数据结构实训报告.docx_第12页
第12页 / 共14页
完整word版c语言中进制转换数据结构实训报告.docx_第13页
第13页 / 共14页
完整word版c语言中进制转换数据结构实训报告.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

完整word版c语言中进制转换数据结构实训报告.docx

《完整word版c语言中进制转换数据结构实训报告.docx》由会员分享,可在线阅读,更多相关《完整word版c语言中进制转换数据结构实训报告.docx(14页珍藏版)》请在冰点文库上搜索。

完整word版c语言中进制转换数据结构实训报告.docx

完整word版c语言中进制转换数据结构实训报告

《进制之间转换》

数据结构程序设计报告

 

专业:

计算机网络技术

班级:

姓名:

学号:

 

二○一二年四月三十日

 

1.需求分析…………………………………………………1

2.概要设计…………………………………………………2

3.采用的算法(流程图)……………………………………2

4.详细设计………………………………………………2

5.调试分析…………………………………………………3

6.用户使用说明………………………………………………3

7.测试结果……………………………………………………3

8.附录……………………………………………………13

1、需求分析

(1)输入的形式和输入值的范围:

◆不大于4位的十六进制数

◆不大于16位的二进制数

◆十进制数

(2)输出的形式:

同上

(3)程序的功能:

十六进制转化为十进制

十六进制转化为二进制

十六进制转化为八进制

十进制转化为二进制

十进制转化为八进制

二进制转化为十进制

二进制转化为十六进制

(4)测试数据

十六进制转化为十进制、十六进制转化为二进制:

十六进制转化为八进制、十进制转化为二进制、十进制转化为八进制、二进制转化为十进制:

二进制转化为十六进制、输入输入出错:

2、概要设计:

一,进制之间的转换用到头文件包match.h、stdio.h、stdlib.h。

问题要求根据输入的不同字符,执行不同的功能。

转换过程中需要各个函数之间进行调用

二,输入合适的数据得出转换的数据,其重要考虑到输入数据的范围。

3.采用的算法(流程图)4.详细设计:

5.调试分析:

(1)首先是乱码问题。

由于使用中文所以出现了乱码,把中文改成英文就好了。

(2)如果选择0直接退出根本看不到goodbye所以加getch()可以停留在执行屏幕

(3)在这次设计中,首先,我发现了很多问题,由于自己基本的语句掌握的不是十分熟练,所以在一开始不知道怎样把松散的函数调用紧凑地联系起来,经过仔细的看书以及向同学请教,终于将基本框架搭好,在调整细节时就相对轻松一些了,所以经过这次课程设计,我总结出了自己在学习数据结构中的不足,并且为其他类似语言打下了良好的基础,十分感谢老师以及同学的帮助,在此过程中还锻炼了我们与别人沟通的能力,使我们受益匪浅。

6、用户使用说明:

(1)运行程序选择自己要转换的形式

(2)输入对应数据

(3)输入0退出

7、测试结果:

输入1———>输入1A1——>输出417

输入2——>输入1A1——>输出110100001B

输入3——>输入1A1——>输出641Q

输入4——>输入12——>输出1100B

输入5——>输入12——>输出14K

输入6——>输入11011010——>输出218

输入7——>输入101——>输出5H

输入0——>退出

8、附录(源代码):

#include

#include

#include

intHten()

{inti=0,j=0,m=0;

charx[10];charf=0;

printf("Pleaseenternomorethan4digithexadecimalnumbersixteen\n");

while(f!

='\n')

{

scanf("%c",&x[i]);

f=x[i];

m++;

i++;

}

for(i=0;i

{if(x[i]>='A'&&x[i]<='F')

x[i]=x[i]-55;

else

if(x[i]>='0'&&x[i]<='9')

x[i]=x[i]-48;

else

{printf("Pleaseinputthecorrectform\n");

return0;

}

}

for(i=0;i

j=j+x[i]*pow(16,m-1-i-1);

returnj;

}

typedefintdatatype;

#definemaxsize64

typedefstruct

{

datatypedata[maxsize];

inttop;

}seqstack;

setnull(seqstack*s)

{s->top=-1;}

intEmpty(seqstack*s)

{

if(s->top>=0)

return0;/*false*/

else

return1;/*ture*/

}

intFull(seqstack*s)

{

if(s->top==maxsize-1)

return1;

else

return0;

}

seqstack*push(seqstack*s,intx,intN)

{

intn;

if(Full(s))

{

printf("overfull\n");

returnNULL;

}

else

{

while(x!

=0)

{n=x%N;

x=x/N;

s->top++;

s->data[s->top]=n;

}

returns;

}

}

intpop(seqstack*s)

{

intx;

if(Empty(s))

{printf("empty\n");return0;}

else

{

x=s->data[s->top];

s->top--;

returnx;

}

}

Htwo()

{

seqstack*s;

intk;

s=(seqstack*)malloc(sizeof(seqstack));

setnull(s);

k=Hten();

if(k!

=0)

{push(s,k,2);}

elsereturn;

printf("Convertedtoabinaryoutcomefor\n");

while(!

Empty(s))

{

printf("%d",pop(s));

}

printf("B\n");

}

Height()

{

intk;

seqstack*s;

s=(seqstack*)malloc(sizeof(seqstack));

setnull(s);

k=Hten();

if(k!

=0)

push(s,k,8);

elsereturn;

printf("Convertedtooctalresults\n");

while(!

Empty(s))

{

printf("%d",pop(s));

}

printf("Q\n");

}

Tentwo()

{seqstack*s;

intk;

s=(seqstack*)malloc(sizeof(seqstack));

setnull(s);

printf("Pleaseenteradecimalnumber\n");

scanf("%d",&k);

push(s,k,2);

printf("Convertedtoabinaryoutcomefor\n");

while(!

Empty(s))

{

printf("%d",pop(s));

}

printf("B\n");

}

Teneight()

{seqstack*s;

intk;

s=(seqstack*)malloc(sizeof(seqstack));

setnull(s);

printf("Pleaseenteradecimalnumber\n");

scanf("%d",&k);

push(s,k,8);

printf("Convertedtooctalresults\n");

while(!

Empty(s))

{

printf("%d",pop(s));

}

printf("Q\n");

}

intTwoten()

{

inti=0,j=0,m=0;

charx[10];charf=0;

printf("Pleaseenternomorethan16bitsofthebinarynumber\n");

while(f!

='\n')

{

scanf("%c",&x[i]);

f=x[i];

m++;

i++;

}

for(i=0;i

{

if(x[i]=='0'||x[i]=='1')

x[i]=x[i]-48;

else

{printf("Pleaseinputthecorrectform!

\n");

return0;

}

}

for(i=0;i

j=j+x[i]*pow(2,m-1-i-1);

returnj;

}

Twoh()

{intk,y;

seqstack*s;

s=(seqstack*)malloc(sizeof(seqstack));

setnull(s);

k=Twoten();

if(k!

=0)

{push(s,k,16);}

elsereturn;

printf("Intosixteendecimalresults\n");

while(!

Empty(s))

{y=pop(s);

if(y<10)

printf("%d",y);

else

printf("%c",y+55);

}

printf("H\n");

}

main()

{

inta,k;

INDEX:

printf("**************************************\n");

printf("0:

\texit\n");

printf("1:

\tSixteenhexadecimalconversiontodecimal\n");

printf("2:

\tSixteenhexadecimalintobinary\n");

printf("3:

\tSixteenhexadecimalconvertedtooctal\n");

printf("4:

\tDecimaltobinary\n");

printf("5:

\tDecimaltooctal\n");

printf("6:

\tBinarytodecimalconversion\n");

printf("7:

\tBinaryconversionofsixteenhexadecimal\n");

printf("\t\tcopyright2008-2018\n");

printf("**************************************\n");

SCANI:

printf("Whatareyougoingtodo?

Pleaseselectamenu\n");

scanf("%d",&a);

getchar();

switch(a)

{

case0:

gotoEXT;

case1:

gotoSET1;

case2:

gotoSET2;

case3:

gotoSET3;

case4:

gotoSET4;

case5:

gotoSET5;

case6:

gotoSET6;

case7:

gotoSET7;

default:

gotoINDEX;

}

SET1:

k=Hten();

if(k!

=0)

{

printf("Theresultisconvertedtodecimal\n");

printf("%d\n",k);

}

gotoSCANI;

SET2:

Htwo();gotoSCANI;

SET3:

Height();gotoSCANI;

SET4:

Tentwo();gotoSCANI;

SET5:

Teneight();gotoSCANI;

SET6:

k=Twoten();

if(k!

=0)

{

printf("Theresultisconvertedtodecimal\n");

printf("%d\n",k);}

gotoSCANI;

SET7:

Twoh();gotoSCANI;

EXT:

printf("goodbye!

\n");

getch();

}

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2