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