《数据结构》实验一: VC编程工具的灵活使用

该实验旨在复习和巩固VC编程环境及C++模板设计。内容包括:1) 单文件结构程序设计,实现输入两个数求和与积的功能,考虑重载函数;2) 使用单步调试和断点调试;3) 利用函数模板实现功能;4) 使用类模板和多文件工程,实现类的声明和函数定义,通过实例化输出结果。
摘要由CSDN通过智能技术生成

《数据结构》实验一:VC编程工具的灵活使用


一、实验目的

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

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

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

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

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


二、实验内容

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

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

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


源代码如下:

#include <iostream>
using namespace std;

float add(float x,float y)
{
 float sum;
 sum = x+y;
 return sum;
}
int add(int x,int y)
{
 int sum;
 sum = x+y;
 return sum;
}
 
float multiply(float x,float y)
{
 float sum;
 sum = x*y;
 return sum;
}
int multiply(int x,int y)
{
 int sum;
 sum = x*y;
 return sum;
}
int main ()
{
 float x1 = 3.8, y1 = 5.6;
 int x2 = 2, y2 = 3;
 
 cout << "3.8+5.6=" << add(x1, y1) << endl;
 cout << "2+3=" << add(x2, y2) << endl;
 cout << "3.8*5.6=" << multiply(x1, y1) << endl;
 cout << "2*3=" << multiply(x2, y2) << endl;
 system("pause");
 return 0;
}
运行结果:



断点调试:




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

源代码如下:

#include<iostream>
#include<stdlib.h>
#include<iomanip>
using namespace std;

template<class T>
T add(T a, T b)
{
 return a + b;
}
template<class T>
T multiply(T m, T n)
{
 return m*n;
}
int main()
{
 int x = 2; int y = 3;
 float i = 5.8, j = 6.7;
 cout << "2+3=" << add(x, y) << endl;
 cout << "5.8+6.7=" << add(i, j) << endl;
 cout << "2*3=" << multiply(x, y) << endl;
 cout << "5.8*6.7=" << multiply(i, j) << endl;
 system("pause");
 return 0;
}

运行结果:



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

  1)使用类模板

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


源代码如下:

#include<iostream>
#include"HEAD.h"
#include<stdlib.h>
#include<iomanip>
using namespace std;
template<typename T>
T Cal<T>::add(T x, T y)
{
 return x + y;
}
template<typename T>
T Cal<T>::multiply(T x, T y)
{
 return x*y;
}
int main()
{
 Cal<int> x;
 Cal<float> y;
 cout << "2+3=" << x.add(2, 3) << endl;
 cout << "5.6+6.7=" << y.add(5.6, 6.7) << endl;
 cout << "8*9=" << x.multiply(8, 9) << endl;
 cout << "3.8*2.1=" << y.multiply(3.8, 2.1) << endl;
 system("pause");
 return 0;
}

运行结果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值