课题名称:
第一作者:
课题组成员:[微软用户1]
指导教师:
所在院系:
结题日期:[微软用户2]
共青团华南师范大学委员会制
20##年3月1日
[微软用户3]
课题名称:
第一作者:
课题组成员:[微软用户4]
指导教师:
所在院系:
结题日期:[微软用户5]
共青团华南师范大学委员会制
20##年3月1日
[微软用户6]
[微软用户1]除第一作者以外的其他作者。
[微软用户2]具体到年月即可。
[微软用户3]注意不要印在下一页
[微软用户4]除第一作者以外的其他作者。
[微软用户5]具体到年月即可。
[微软用户6]注意不要印在下一页
华南师范大学本科学生实验报告
院系:计算机学院
实验课程:数据结构与算法
实验项目:进制转换系统
指导老师:陈红英 老师
开课时间:2007~20##年度第一学期
专业:网络工程
班级:20##级(5)班
姓名:杨小龙
学号:20062105564
一、设计实验题目:数制转换
二、中文摘要:熟悉掌握VC的编译、调试和执行,进一步加深对栈的顺序存储结构的使
用的印象
关键词:栈的顺序存储结构 操作功能 C++
三、前言
实验目的
1. 加深对栈特性的理解,以便在解决实际问题中灵活运用它们。
2. 加深对栈操作实现算法的理解。
实验要求与内容
良好的编程风格(可参考附录《C++ Code Standard》/《高质量C++/C编程指南》);
必要的注释;(简单要求如下)
1. readme文件对上交的实验内容文件或目录作适当的解释;
2. 每个.cpp文件中注释信息至少包含以下内容:
(1)版权信息。
(2)文件名称,标识符,摘要或模块功能说明。
(3)当前版本号,作者/修改者,完成日期。
(4)版本历史信息。 // (1)--(4)部分写在文件头
(5)所有的宏定义,非局部变量都要加注释
(6)所有函数前有函数功能说明,输入输出接口信息,以及调用注意事项
(7)函数关键地方加注释
3. 每个.h文件中对关键接口信息/变量声明信息等加注释
问题描述
实现十进制数与二到九进制数间的转换
实验内容
1.利用栈的顺序存储结构来实现
2.系统的菜单功能项如下:
四、实验设计
1.采用栈的顺序存储结构来实现
2.用stack类来存储数据,实现栈逻辑上的特点”先进后出”.
3.程序中加入对违规操作的预防语句
五、实验实现
Stack类
stack.hpp
class stack
{
public:
int * Vec;
int MaxSize;
int top;
int x;
public:
stack(int size)
{Vec=new int[size];MaxSize=size;top=-1;} //开辟一个容量为size的数组
~stack(){delete[] Vec;} //析构函数
void Push(int x); //把元素x压入栈中
int GetTop (); //取出栈顶元素
int IsEmpty () //判断栈是否为空,如果为空则返回1,否则返回0
{if (top==-1)return 1;
else return 0;
}
};
};
stack.cpp
#include "stack.h"
#include "iostream.h"
void stack::Push(int x)
{
if (top==MaxSize-1) cout<<"overflow"; //栈满处理
else {
top++;
Vec[top]=x; //填入新元素
}
}
int stack::GetTop()
{
if (top==-1) cout<<"数制转换成功"; //栈空处理
else return Vec [top]; //返回栈顶元素
}主函数
#include "DataTransform.h"
#include <iostream.h>
#include "stack.h"
int main()
{ int choice;
int n,d;
stack L(100);
cout<<"************************数制转换系统*************************\n";
do
{
cout<<"请输入你要转换的十进制数:";
cin>>n;
cout<<endl;
cout<<"请输入你要将此十进制数转换成何种进制(2~9)";
cin>>d;
if (d<2||d>9)
{
cout<<"命令输入错误,请重新输入:";
cin>>d;
}
else
{
L.Push(n%d);
n=n*d;
cout<<"十数制转换成"<<d<<"进制数的结果如下:";
for (n;n=n/d;n<d)
{
int a;
n=n/d;
a=(n/d)%d;
L.Push(a);
if(L.IsEmpty ()==0)
cout<<L.GetTop();
}
cout<<""<<"\n";
cout<<""<<"\n";
cout<<""<<"\n";
}
}while (choice!=NULL);
return 0;
}
}}
实验平台:
WINDOWS操作系统、VISAUL C++6.0。
六、结果及结果分析
七、参考文献
3. 《《C++ Coding Standard》
4. 《高质量C++/C编程指南》
5. 《数据结构》教材
6. 《数据结构》实验辅导书
项目编号LG04湖北经济学院大学生科研项目结题报告书项目名称武汉市体育旅游资源的整合与开发项目负责人肖俊所在院系旅游与酒店管理学院…
科研课题结题报告书课题类别社科类一般课题名称高职学校非学历继续教育模式研究课题参加者负责人所在部门课题起止日期20##.6--20…
科研项目结题报告的基本格式和要求(之一)一、项目背景及立项(800~1000字左右)二、项目简介(500字左右)三、项目的理论依据…
课题培训材料之二如何撰写科研课题结题报告0711一结题报告的类型及主要结构结题报告是一种专门用于科研课题结题验收的实用性报告类文体…
《课题结题报告范文》文章正文:对于一个科研课题来说,撰写结题报告是课题研究的最后一个程序。结题报告如何撰写呢?尽管研究方法各有不同…
《小学低年级配画写话有效指导方法研究》结题报告【内容提要】本课题研究主要是针对低年级学生苦于动笔,乐于画画的现状,探索写画结合的有…
科研课题结题报告的写法一、结题报告的类型及主要结构结题报告是一种专门用于科研课题结题验收的实用性报告类文体。它是研究者在课题研究结…
一、结题报告的类型及主要结构结题报告是一种专门用于科研课题结题验收的实用性报告类文体。它是研究者在课题研究结束后对科研课题研究过程…
襄樊学院大学生科研项目结题报告书项目编号20xxDXS097项目名称樊城陈老巷传统街区保护研究项目负责人吕锦凡所在学院建筑工程学院…
《课题结题报告范文》文章正文:对于一个科研课题来说,撰写结题报告是课题研究的最后一个程序。结题报告如何撰写呢?尽管研究方法各有不同…
文字报告以文字说明为主,包括封面、摘要、正文和附件。各项基本要求如下:①封面标明课题名称、研究时间、班级、指导老师、组长、小组成员…