资源描述:
《上海交大数据结构 实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《数据结构》实验报告说明:本软件在win764位系统测试通过,需要安装.net3.5以上版本七、数制转换问题1.问题描述对于输入的任意一个非负十进制整数,输出与其等值的其他进制数(二进制、八进制或十六进制)。2.任务要求⑴建立模型,确定存储结构;⑵对任意十进制数,实现进制转换问题。3.实验指导(1)实验类型:设计实验。本实验要求同学们针对“数制转换”这个经典的问题,应用栈的存储结构,自己设计一个方案,并上机实现。此实验的目的是培养学生对数据结构的简单应用能力。(2)预备知识:栈的基本定义、栈的基本操作算法
2、、栈的存储结构。(3)实现方法提示:1)以十进制转换为八进制为例。将十进制数整除8,计算过程中得到的余数依次进栈,按出栈序列输出栈中的内容即为与输入的十进制数对应的八进制数。设Conversion函数执行数制转换的操作,对(1348)10转换为8进制的过程如下:NNdiv8Nmod81348168416821021252022)设计数制转换的算法。4.实现方案1)方案描述:本方案采用C#语言实现,实现十进制与其他进制直接的转换2)实现代码:主要实现代码如下usingSystem;usingSystem.C
3、ollections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespace进制转换器{publicpartialclassMainFrm:Form{publicMainFrm(){InitializeComponent();}privatevoidMainFrm_Load_1(objectsender,Event
4、Argse){txtStart.Focus();}//////十进制转换为八进制/////////privatevoidradio_dto_Click_1(objectsender,EventArgse){txtEnd.Text="";if(txtStart.Text.Length!=0){//TODO:十进制转为八进制。Int32i;try{i=Convert.To
5、Int32(txtStart.Text.Trim());lblTitle.Text="十进制转为八进制";txtEnd.Text=Convert.ToString(i,8);}catch{MessageBox.Show("请输入合法的十进制数","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);}}else{MessageBox.Show("请提供转换数据!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning
6、);}txtStart.Focus();}//////十进制转换为十六进制/////////privatevoidradio_dth_Click(objectsender,EventArgse){txtEnd.Text="";if(txtStart.Text.Length!=0){//TODO:十进制转换为十六进制。Int32i;try{i=Convert.ToInt
7、32(txtStart.Text.Trim());lblTitle.Text="十进制转换为十六进制";txtEnd.Text=Convert.ToString(i,16);}catch{MessageBox.Show("请输入合法的十进制数","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);}}else{MessageBox.Show("请提供转换数据!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning
8、);}txtStart.Focus();}//////十进制转换为二进制/////////privatevoidradio_dtb_Click(objectsender,EventArgse){txtEnd.Text="";if(txtStart.Text.Length!=0){//TOD