实验题目:VC编程工具的灵活使用
一、 实验目的
1.回顾并掌握VC单文件结构程序设计过程。
2.回顾并掌握VC多文件工程设计过程
3.掌握VC程序调试过程。
4.回顾C++模板和模板的程序设计
二、实验内容
1. 设计一个单文件结构程序完成从键盘输入两个数,输出二者的“和”和“积”的结果。要求如下:
1)设计函数来计算“和”和“积”,在主函数中调用,并能考虑重载函数,使整数和小数均能计算。
2)分别使用单步调试和断点调试来调试程序。并多次运行力求熟练调试方法。
2.使用函数的模板来实现上述功能。
3.使用一个类来实现上述功能。要求如下:
1)使用类模板
2)使用多文件:类的声明有头文件中;类的函数定义一个源文件中,在主程序文件中设计主函数程序,在实例化输出结果。
源程序1:
#include<iostream>
using namespace std;
int s(int x,int y)
{
return x+y;
}
double s(double cc,double dd)
{
return cc+dd;
}
int acc(int cc,int dd)
{
return cc*dd;
}
double acc(double xx,double yy)
{
return xx*yy;
}
int main()
{
int a,b;
double c,d;
cout<<"请输入两个整数:"<<endl;
cin>>a>>b;
cout<<"这两个数的和为:"<<s(a,b)<<endl;
cout<<"这两个数的积为:"<<acc(a,b)<<endl;
cout<<"请输入两个小数:"<<endl;
cin>>c>>d;
cout<<"这两个数的和为:"<<s(c,d)<<endl;
cout<<"这两个数的积为:"<<acc(c,d)<<endl;
return 0;
}
运行图片:
源程序2:
#include<iostream>
using namespace std;
template<class T>
T s(T x,T y)
{
T sum;
sum=x+y;
return sum;
}
template<class T>
T acc(T cc,T dd)
{
T ac;
ac=cc*dd;
return ac;
}
int main()
{
int a,b;
double c,d;
cout<<"请输入两个整数:"<<endl;
cin>>a>>b;
cout<<"这两个数的和为:"<<s(a,b)<<endl;
cout<<"这两个数的积为:"<<acc(a,b)<<endl;
cout<<"请输入两个小数:"<<endl;
cin>>c>>d;
cout<<"这两个数的和为:"<<s(c,d)<<endl;
cout<<"这两个数的积为:"<<acc(c,d)<<endl;
return 0;
}
运行结果:
源程序3:
文件h.1
template <class T>
class t
{
public:
T sum,ac;
void s(T x,T y)
{ sum=x+y;
}
void acc(T cc,T dd)
{
ac=cc*dd;
}
};
文件h2.cpp
#include<iostream>
using namespace std;
#include "h1.h"
int main()
{
int a,b;
double c,d;
t<int> q;
cout<<"请输入两个整数:"<<endl;
cin>>a>>b;
q.s(a,b);
q.acc(a,b);
cout<<"这两个数的和为:"<<q.sum<<endl;
cout<<"这两个数的积为:"<<q.ac<<endl;
cout<<"请输入两个小数:"<<endl;
cin>>c>>d;
t<double>p;
p.s(c,d);
p.acc(c,d);
cout<<"这两个数的和为:"<<p.sum<<endl;
cout<<"这两个数的积为:"<<p.ac<<endl;
return 0;
}
总结:
通过这次实验,回顾了上学期的c++课程设计的一些知识点,为这学期的实验以及今后的数据结构课程提供一定的基础,同时通过这个实验也让我进一步了解vc++6.0的运行环境以及功能。并且这次的实验内容涉及了一个内容多种编程方式,让我深刻明白数据结构操作算法的实现可以是灵活的,让我能够清晰的了解各种编程语法的不同点和相同点。
虽然在多文件这一模块上严重受挫,原因是当初学得时候没有认真听老师讲以及没有及时的进行多次的实验操作,但是在写这个程序的过程中,却使我收获颇丰。