华南师范大学学生课外科研课题结题报告封面

课题名称:

第一作者:

课题组成员:[微软用户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.    《数据结构》实验辅导书

相关推荐