《数据结构》实验一

来源:互联网 发布:淘宝网禁止出售的药品 编辑:程序博客网 时间:2024/05/22 00:35

《数据结构》实验一:

VC编程工具的灵活使用

一、实验目的

复习巩固VC编程环境的使用,以及复习C++模板设计。

1、 回顾并掌握VC单文件结构程序设计过程。

2、 回顾并掌握VC多文件工程设计过程。

3、 掌握VC程序调试过程。

4、 回顾C++模板和类模板的程序设计。

 

二、实验时间:2个学时。

 

三、实验内容

1、 设计一个单文件结构程序完成从键盘输入两个数,输出二者的“和”和“积”的结果。要求如下:

1) 设计函数来计算“和”和“积”,在主函数中调用,并能考虑使用重载函数,使整数和小数目均能计算。

2) 分别使用单步调试和断点调试来调试程序。并多次运行力求熟练调试方法。

2、 使用函数的模板来实现上述功能。

3、 使用一个类来实现上述功能。要求:

1) 使用类模板

2) 使用多文件:类的声明有头文件中;类的函数定义一个源文件中,在主程序中设计主函数程序,再实例化输出结果。

 

四、实验报告

1、  在博客中先写上实习目的和内容,然后分别上传三个程序代码。插入调试关键结果截图。

2、  写一个博文,总结重载和模板的知识点。

 

 

代码一:

#include<iostream>

using namespace std;

int main()

{

       doublex,y,sum,pro;

       cout<<"请输入两个数字:"<<'\n';

       cin>>x;

       cin>>y;

       sum=x+y;

       pro=x*y;

      

       cout<<"两数之和为:"<<sum<<endl;

       cout<<"两数之积为:"<<pro<<endl;

 

       return0;

}

 

运行结果如下图所示;

 

 

代码二:

#include<iostream>

using namespace std;

template<typename T>

T sum(T x,T y)

{return x+y;}

 

template<typename T>

T pro(T x,T y)

{return x*y;}

 

int main()

{

       inti1=10,i2=20,sum1,pro1;

       doubled1=12.1,d2=16.2,sum2,pro2;

       sum1=sum(i1,i2);

       pro1=pro(i1,i2);

 

  sum2=sum(d1,d2);

       pro2=pro(d1,d2);

 

       cout<<"sum1("<<i1<<","<<i2<<")="<<sum1<<endl;

   cout<<"pro1("<<i1<<","<<i2<<")="<<pro1<<endl;

       cout<<"sum2("<<d1<<","<<d2<<")="<<sum2<<endl;

       cout<<"pro2("<<d1<<","<<d2<<")="<<pro2<<endl;

 

       return0;

}

运行结果如下图所示:

 

 

代码三:

#include<iostream>

using namespace std;

template<typename T>

class Add_2{

       public:

              Add_2(Ta,T b)

              {x=a;y=b;}

              Tsum()

              {returnx+y;}

              Tpro()

              {returnx*y;}

       private:

              Tx,y;

};

int main()

{

       Add_2<int>sum2_1(2,6);

       Add_2<int>pro2_1(2,6);

       Add_2<double>sum2_2(12.1,16.2);

       Add_2<double>pro2_2(12.1,16.2);

 

       cout<<"两个整数之和为:"<<sum2_1.sum()<<endl;

       cout<<"两个整数之积为:"<<pro2_1.pro()<<endl;

   cout<<"两个双精度数之和为:"<<sum2_2.sum ()<<endl;

   cout<<"两个双精度数之积为:"<<pro2_2.pro ()<<endl;

 

       return0;

}

运行结果如下图所示:

 

 

 

0 0