C++实验五.doc

上传人:豆**** 文档编号:29929884 上传时间:2022-08-02 格式:DOC 页数:7 大小:30KB
返回 下载 相关 举报
C++实验五.doc_第1页
第1页 / 共7页
C++实验五.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《C++实验五.doc》由会员分享,可在线阅读,更多相关《C++实验五.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、实验 5 异常处理 实验课程名:面向对象程序设计(C+方向)专业班级: 学号: 姓名: 实验时间: 实验地点: 指导教师: 一、实验目的和要求 (1)正确理解模板的概念。 (2)掌握函数模板和类模板的声明和使用方法。 (3)学习简单的异常处理方法。二、实验内容 1.分析并调试下列程序,写出运行结果并分析原因。 (1) /test6_1_1.cpp #include using namespace std; template T max (T x,T y) return xy? x:y;int max(int a,int b)return ab? a:b;double max (double a

2、,double b)return ab? a:b;int main() cout”max(3,7) is “max(3,7)endl; return 0;(2)/test6_1_2.cpp #include using namespace std;int max(int a,int b)return ab? a:b;double max (double a,double b)return ab? a:b;int main() cout”max(3,7) is “max(3,7)endl; return 0;2.编写一个求任意类型数组中最大元素和最小元素的程序,要求将求最大元素和最小元素的函数设

3、计成函数模板。程序代码:#includeusing namespace std;templateT maxin(T a,int n)T max=a0;int i;for(i=1;in;i+)if(maxai) max=ai;cout数组中最大值为:maxendl;T min=a0;for(i=1;iai) min=ai;cout数组中最小值为:minendl;return 0;int main()int a100;int i,n;coutn;for(i=0;iai;maxin(a,n);return 0;3.编写一个程序,使用类模板对数组元素进行排序、倒置、查找和求和。【提示】设计一个类模板t

4、emplate class Array .;具有对数组元素进行排序、倒置、查找和求和功能,然后产生类型实参分别为int型和double型的两个模板类,分别对整型数组与双精度数组完成所要求的操作。程序代码:#includeusing namespace std;templateclass Arraypublic:Array(int x)n=x;numtype sort();numtype find();numtype reserve();numtype accumulate();numtype display();numtype input();private:numtype s100;numt

5、ype n;/排序templatenumtype Array:sort()int i,j;for(i=0;in-1;i+)for(j=i+1;jsj)numtype t;t=si;si=sj;sj=t;return 0;templatenumtype Array:find()int i;numtype j;coutj;for(i=0;in;i+)if(si=j)cout所查找的元素为:siendl;return 0;cout没有找到。endl;return 0;templatenumtype Array:reserve()int i,j=0;numtype m;numtype a100;for

6、(i=n-1;i=0;i-)m=si;aj=m;j+;for(i=0;in;i+)si=ai;return 0;templatenumtype Array:accumulate()int i;numtype max=0;for(i=0;in;i+)max=max+si;cout求和为:maxendl;return 0;templatenumtype Array:display()int i;for(i=0;in;i+)coutsi ;return 0;templatenumtype Array:input()int i;cout请输入n个数:endl;for(i=0;isi;return 0;

7、int main()int i;Array a(5);a.input();a.sort();cout排序后为:; a.display(); coutendl;a.find();a.reserve();cout倒置后为:; a.display(); coutendl;a.accumulate();coutendl;Array b(5);b.input();b.sort();cout排序后为:; b.display(); coutendl;b.find();b.reserve();cout倒置后为:; b.display(); coutendl;b.accumulate();coutendl;re

8、turn 0;4.编写一个程序,求输入数的平方根。设置异常处理,对输入负数的情况给出提示。#include#includeusing namespace std;double pfg(double a)double x;x=sqrt(a);return x;int main()double a;couta;trywhile(a=0)cout平方根为:pfg(a)endl;couta;if(a0) throw a;catch(double)cout所输入的a不符合输入要求!endl;cout结束endl;三、结论(写本次实验的收获) 7 获 获 验( 结 !输符 入 ) 数入 ) 根方 0= 数入 ( )( ( 示出况负输理置设的输,个0 ) .:置 )( )( :后 ) )( ) ) ( ;置 ) ) :序+ ;0( :输 0 + 0( ( 0 和求 + + 0 0 ( : 0 到有 00 :的所 = + :的要 ( 0 = + = + 排 ) )( ) ) )( )( = 码作作所组精组型别类两 别参生后,和、排进. 模个示和和找倒行素对类,序00 )( + :数请 0 ( 0 + 值最数 ) + ( 0= ( : , ( ._ 0 ,( , ” ( :? , ( _ 因原并行,列试分内验法理异简学(法法明的模板掌(念的板正 要目 师指 :验 :名 学 :向+(设对:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁