一..实验目的
复习巩固VC编程环境的使用,以及C++模板设计。
1.回顾并掌握VC单文件结构程序设计过程。
2.回顾并掌握VC多文件工程设计过程
3.掌握VC程序调试过程。
4.回顾C++模板和模板的程序设计。
二.实验时间
第二周第二次课。2个学时。
三.实验内容
1. 设计一个单文件结构程序完成从键盘输入两个数,输出二者的“和”和“积”的结果。要求如下:
1)设计函数来计算“和”和“积”,在主函数中调用,并能考虑重载函数,使整数和小数均能计算。
2)分别使用单步调试和断点调试来调试程序。并多次运行力求熟练调试方法。
2.使用函数的模板来实现上述功能。
3.使用一个类来实现上述功能。要求:
1)使用类模板
2)使用多文件:类的声明有头文件中;类的函数定义一个源文件中,在主程序文件中设计主函数程序,在实例化输出结果。
程序如下:1.
#include<iostream>
using namespace std;
int sum(int a,int b)
{
int he;
he=a+b;
return he;
}
float sum(float a,float b)
{
float he1;
he1=a+b;
return he1;
}
int ji(int x,int y)
{
int cheng;
cheng=x*y;
return cheng;
}
float ji(float x,float y)
{
float cheng1;
cheng1=x*y;
return cheng1;
}
int main()
{
float c,d,e,f;
cout<<"请输入两个数:"<<endl;
cin>>c>>d;
e=sum(c,d);
f=ji(c,d);
cout<<c<<"+"<<d<<"="<<e<<endl;
cout<<c<<"*"<<d<<"="<<f<<endl;
return 0;
}
结果截图:
#include<iostream>
using namespace std;
template<class T>
T he(T x,T y)
{
return x+y;
}
template<class T>
T ji(T x,T y)
{
return x*y;
}
int main()
{
float a,b,c,d;
cout<<"请输入两个数:"<<endl;
cin>>a>>b;
c=he(a,b);
d=ji(a,b);
cout<<a<<"+"<<b<<"="<<c<<endl;
cout<<a<<"*"<<b<<"="<<d<<endl;
return 0;
}
结果图如上图。
#include "和积计算.h"
#include<iostream>
using namespace std;
int main()
{
HeJi.p;
float a,b;
cout<<"请输入两个数:"<<endl;
cin>>a>>b;
p.sum(a,b);
p.cheng(a,b);
return 0;
}
源文件
#include "和积计算.h"
void HeJi::sum()
{
T x,y,a;
a=x+y;
cout<<x<<"+"<<y<<"="<<a<<endl;
}
void HeJi::cheng()
{
T x,y,b;
b=x*y;
cout<<x<<"*"<<y<<"="<<b<<endl;
}
头文件
template<class T>
class HeJi
{
public:
void sum(T x,T y);
void cheng(T x,T y);
private:
T x;
T y;
};
错误显示:
--------------------Configuration: f3 - Win32 Debug--------------------
Compiling...
和积计算2.cpp
E:\数据结构文件夹\数据结构 实验一\f3\和积计算2.cpp(4) : error C2065: 'T' : undeclared identifier
E:\数据结构文件夹\数据结构 实验一\f3\和积计算2.cpp(4) : error C2146: syntax error : missing ';' before identifier 'x'
E:\数据结构文件夹\数据结构 实验一\f3\和积计算2.cpp(4) : error C2065: 'x' : undeclared identifier
E:\数据结构文件夹\数据结构 实验一\f3\和积计算2.cpp(4) : error C2065: 'y' : undeclared identifier
E:\数据结构文件夹\数据结构 实验一\f3\和积计算2.cpp(4) : error C2065: 'a' : undeclared identifier
E:\数据结构文件夹\数据结构 实验一\f3\和积计算2.cpp(6) : error C2065: 'cout' : undeclared identifier
E:\数据结构文件夹\数据结构 实验一\f3\和积计算2.cpp(6) : error C2297: '<<' : illegal, right operand has type 'char [2]'
E:\数据结构文件夹\数据结构 实验一\f3\和积计算2.cpp(6) : error C2065: 'endl' : undeclared identifier
E:\数据结构文件夹\数据结构 实验一\f3\和积计算2.cpp(10) : error C2146: syntax error : missing ';' before identifier 'x'
E:\数据结构文件夹\数据结构 实验一\f3\和积计算2.cpp(10) : error C2065: 'b' : undeclared identifier
E:\数据结构文件夹\数据结构 实验一\f3\和积计算2.cpp(12) : error C2297: '<<' : illegal, right operand has type 'char [2]'
执行 cl.exe 时出错.
和积计算2.obj - 1 error(s), 0 warning(s)