2014.9.18
《数据结构》第一次实验:
一..实验目的
复习巩固VC编程环境的使用,以及C++模板设计。
1.回顾并掌握VC单文件结构程序设计过程。
2.回顾并掌握VC多文件工程设计过程
3.掌握VC程序调试过程。
4.回顾C++模板和模板的程序设计。
二.实验内容
1. 设计一个单文件结构程序完成从键盘输入两个数,输出二者的“和”和“积”的结果。要求如下:
1)设计函数来计算“和”和“积”,在主函数中调用,并能考虑重载函数,使整数和小数均能计算。
2)分别使用单步调试和断点调试来调试程序。并多次运行力求熟练调试方法。
2.使用函数的模板来实现上述功能。
3.使用一个类来实现上述功能。要求:
1)使用类模板
2)使用多文件:类的声明有头文件中;类的函数定义一个源文件中,在主程序文件中设计主函数程序,在实例化输出结果。
方式一:单文件结构程序
#include <iostream>
using namespace std;
double add(double i, double j)
{
int k;
k = i + j;
return k;
}
double mul(double i, double j)
{
int l;
l = i * j;
return l;
}
int main(void)
{
double i,j,k,l;
cout<<"请输入两个数:"<<endl;
cout<<"i = ";
cin>>i;
cout<<"j = ";
cin>>j;
k = add(i, j);
l = mul(i, j);
cout<<"两个数相加的结果是:"<<k<<endl;
cout<<"两个数相乘的结果是:"<<l<<endl;
return 0;
}
方式二:使用函数模板实现
#include <iostream>
using namespace std;
template<class T>
T add(T i,T j)
{
double sum;
sum = i + j;
return sum;
}
template<class T>
T mul(T i,T j)
{
double mul1;
mul1 = i * j;
return mul1;
}
int main()
{
double i,j;
cout<<"请输入第一个数:"<<endl;
cin>>i;
cout<<"请输入第二个数:"<<endl;
cin>>j;
cout<<"这两个数的和是:"<<add(i, j)<<endl;
cout<<"这两个数的积是:"<<mul(i, j)<<endl;
return 0;
}
方式三:使用类模板实现
#include <iostream>
using namespace std;
#include"Liyu.h"
int main()
{
cout<<"请输入两个数:"<<endl;
cin>>x>>y;
Liyu<double>m;
Liyu<double>n;
m.sum(x,y);
n.mul(x,y);
return 0;
}
#include <iostream>
using namespace std;
template<class N1>
class Liyu
{
public:
void sum(N1 a,N1 b)
{
N1 c;
c = a + b;
cout<<"这两个数的和为:"<<c<<endl;
}
void mul(N1 a, N1 b)
{
N1 p;
p = a * b;
cout<<"这两个数的积为:"<<p<<endl;
}
};