《数据结构》实验一:VC编程环境灵活应用

一.实验目的

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

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

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

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

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

二.实验内容

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

#include<iostream>
using namespace std;
float s(float a,float b)
{
float sum;
sum=a+b;
return sum;
}
int s(int a,int b)
{
int sum;
sum=a+b;
return sum;
}
float j(float a,float b)
{
float ji;
ji=a*b;
return ji;
}
int j(int a,int b)
{
int ji;
ji=a*b;
return ji;
}
void main()
{

float x,y; int q,p;

cout<<"键盘上输入两个小数:";
cin>>x>>y;
cout<<"该两数的和sum="<<s(x,y)<<endl;
cout<<"该两数的积ji="<<j(x,y)<<endl;
cout<<"键盘上输入两个整数:";
cin>>q>>p;
cout<<"该两数的和sum="<<s(q,p)<<endl;
cout<<"该两数的积ji="<<j(q,p)<<endl;
}

以上是源程序,以下是调试内容:


单步调试:




断点调试:



由于刚审题不清,所以程序稍微修改了下,望见谅。


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

源程序代码

#include<iostream>
using namespace std;
template<class T1>
T1 s(T1 a,T1 b)
{
T1 sum;
sum=a+b;
return sum;
}
template<class T>
T j(T a,T b)
{
T ji;
ji=a*b;
return ji;
}
void main()
{
float x,y; 
int q,p;
cout<<"键盘上输入两个小数:";
cin>>x>>y;
cout<<"该两数的和sum="<<s(x,y)<<endl;
cout<<"该两数的积ji="<<j(x,y)<<endl;
cout<<"键盘上输入两个整数:";
cin>>q>>p;
cout<<"该两数的和sum="<<s(q,p)<<endl;
cout<<"该两数的积ji="<<j(q,p)<<endl;
}


程序执行结果:


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

  1)使用类模板

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

源程序文件:

//头文件.h

#include<iostream>
using namespace std;
template<class T>
class L
{
private:
T a;
T b;
public:
L(T x,T y)
{
a=x;b=y;
}
T s()
{
T sum;
sum=a+b;
return sum;
}
T j()
{
T ji;
ji=a*b;
return ji;
}
};

//程序.cpp

#include "头文件.h"
void main()
{
int aa,bb;
cout<<"请输入两个整数:";
cin>>aa>>bb;
L<int> heji(aa,bb);
cout<<"两数之和sum="<<heji.s()<<endl;
cout<<"两数之积ji="<<heji.j()<<endl;
float cc,dd;
cout<<"请输入两个小数:";
cin>>cc>>dd;
L<float> jihe(cc,dd);
cout<<"两数之和sum="<<jihe.s()<<endl;
cout<<"两数之积ji="<<jihe.j()<<endl;
}


运行结果如图所示:


相关文章

【啊哈!算法】算法3:最常用的排序——快速排序       ...
匿名组 这里可能用到几个不同的分组构造。通过括号内围绕的正...
选择排序:从数组的起始位置处开始,把第一个元素与数组中其...
public struct Pqitem { public int priority; ...
在编写正则表达式的时候,经常会向要向正则表达式添加数量型...
来自:http://blog.csdn.net/morewindows/article/details/6...