VC编程工具的灵活使用实验报告

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

一..实验目的

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

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

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

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

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

二.实验时间

   第二周第二次课。2个学时。

三.实验内容

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

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

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

<pre name="code" class="cpp">#include<iostream>
using namespace std;
void suan(int a,int b);   //求“和”和“积”
void suan(float a, float b);  //重载
void suan(int a,float b);    //重载
void suan(float a,int b);   //重载

int main()
{
	cout<<"请输入两个数:\t";
	float a,b;
	int c,d;
	cin>>a>>b;
	c=a,d=b;
	a==c?a=c:a=a;       //这里有点不懂,下面也是。
	b==d?b=d:b=b;
	suan(a,b);
	return 0;
}

void suan(int a,int b)
{
	cout<<"这两个数的和为:"<<a+b<<endl;
	cout<<"这两个数的积为:"<<a*b<<endl;
}
void suan(float a,int b)
{
	cout<<"这两个数的和为:"<<a+b<<endl;
	cout<<"这两个数的积为:"<<a*b<<endl;
}
void suan(int a,float b)
{
	cout<<"这两个数的和为:"<<a+b<<endl;
	cout<<"这两个数的积为:"<<a*b<<endl;
}
void suan(float a,float b)
{
	cout<<"这两个数的和为:"<<a+b<<endl;
	cout<<"这两个数的积为:"<<a*b<<endl;
}


 

调试截图:


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

#include<iostream>
using namespace std;

template<class S>   //定义函数模版
S suan(S a,S b)
{
	cout<<"这两个数之和是:"<<a+b<<endl;
	cout<<"这两个数之积为:"<<a*b<<endl;
	return 1;
}
int main()
{
	float a,b;
	int c,d;
	cout<<"请输入两个数:\t";
	cin>>a>>b;
	c=a;d=b;
	a==c?a=c:a=a;   //还是这个地方
	b==d?b=d:b=b;
	suan(a,b);
	return 0;
}
调试截图:



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

  1)使用类模板

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

   

头文件:Suan.h

#pragma once
template<class SS>  //声明类
class Suan
{
	SS a,b;
public:
	Suan(void);
	Suan(SS num1,SS num2);
	void C_out();
	~Suan(void);
};

源文件:

#include<iostream>
#include "Suan.h"        //调用头文件
using namespace std;

template<class SS>
Suan<SS>::Suan(void)  //定义构造函数
{
	SS num1,num2;
	cout<<"请输入两个数:";
	cin>>num1>>num2;
	a=num1;
	b=num2;
}


template<class SS>
Suan<SS>::~Suan(void)    //析构函数
{
}

template<class SS>
void Suan<SS>::C_out()    //输出函数
{
	cout<<"这两个数之和为:"<<a+b<<endl;
	cout<<"这两个数之积为:"<<a*b<<endl;
}


int main()
{
	Suan<float> s1;   //这一步我真不知道要怎么办,表示蒙了。
	s1.C_out();      //实例化输出。
	return 0;
}
调试截图:



四.参考资料

    实验教程P159-170.

五.实验报告

1.在博客中先写上实习目的和内容,然后分别上传三个程序代码。插入调试关键结果截图。

2.写一个博文,总结重载和模板的知识点。

六.总结

总体来说,总算把C++中类的知识补得差不多了,但还有很多的不足,如类型转换问题,重载问题,等等。

这一次,做得比较粗心,也是因为知识不全所致。我会继续努力的,代码也会继续再改。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值