实验5_模板与异常处理

实验5_模板与异常处理

ID:6681968

大小:657.19 KB

页数:26页

发布时间:2023-01-02 10:51:54

实验5_模板与异常处理_第1页
实验5_模板与异常处理_第2页
实验5_模板与异常处理_第3页
实验5_模板与异常处理_第4页
实验5_模板与异常处理_第5页
资源描述:

《C++面向对象程序设计》实验报告实验序号:5          实验项目名称:模板与异常处理学  号姓  名专业计算机类实验地点指导教师实验时间2022.5.27一、实验目的及要求算法,尤其是通用的算法是程序设计的重点,模板是建立通用的与数据类型无关的算法的重要手段。通过实验要求:1、正确理解模板的概念;2、掌握函数模板和类模板的声明和使用方法;3、学习简单的异常处理方法;(选修)二、实验内容与步骤1、调试下列程序,写出程序的输出结果并分析原因。(1)#includeusingnamespacestd;templateTmax(Tx,Ty){returnx>y?x:y;}intmax(inta,intb){returna>b?a:b;}doublemax(doublea,doubleb){returna>b?a:b;}intmain(){cout<<"max('3','7')is"<usingnamespacestd;intmax(inta,intb){returna>b?a:b;}doublemax(doublea,doubleb){returna>b?a:b;}intmain(){cout<<"max('3','7')is"<ClassArray{,…}具有对数组元素进行排序、倒置、查找和求和功能,然后产生类型实参分别为int型和double类型的两个模板类,分别对整型数组和双精度数组完成所要求的操作【运行结果截图】:4、编写程序,求输入数的平方根。设置异常处理,对输入负数的情况给出提示。(选修)【运行结果截图】:,5、结合数据结构“线性表”的知识,采用C++面向对象程序设计实现“线性表”。(选修)三、思考题无四、代码,四、分析与讨论(记录实验过程中出现的主要问题和心得体会)1.#includetemplateTmax(Tx,Ty){returnx>y?x:y;}intmax(inta,intb){returna>b?a:b;}doublemax(doublea,doubleb){returna>b?a:b;}intmain(){std::cout<<"max('3','7')is"<usingnamespacestd;templateTmax1(Ta,Tb){returna>b?a:b;,}templateTmin1(Tc,Td){returnc>a[i];}d=a[0];for(i=0;i<9;i++){d=max1(d,a[i+1]);}cout<<"最大元素是:"<usingnamespacestd;templateclassarray{private:intlength,z;Ta[100];public:array(T*b,intn){inti;length=n;for(i=0;ivoidarray::sort(){inti,j,k;Tc[100];for(i=0;ic[j+1]){,k=c[j];c[j]=c[j+1];c[j+1]=k;}}}cout<<"排序后的元素:";for(i=0;ivoidarray::inversion(){inti,j;Td[100];for(i=0,j=length-1;ivoidarray::sum(){inti;Tsum=0;for(i=0;iintarray::search(Tt){intf=0;inti;for(i=0;i>x;cout<<"输入double类型数组的元素个数:";cin>>y;int*a;double*b;a=newint[x];b=newdouble[y];cout<<"输入int类型的元素:";,for(i=0;i>a[i];}cout<<"输入double类型的元素:";for(i=0;i>b[i];}cout<<"

1";cout<<"int类型:"<a1(a,x);arraya2(b,y);a1.sort();a1.inversion();a1.sum();cout<<"输入想要寻找的int类型元素:";cin>>find1;g=a1.search(find1);if(g==0){cout<<"未找到该元素";},cout<<"double类型:"<>find2;g=a2.search(find2);if(g==0){cout<<"未找到该元素";}delete[]a;delete[]b;return0;}4.#include#includeusingnamespacestd;doublepfg(doublea){doublex;,x=sqrt(a);returnx;}intmain(){doublea;cout<<"请输入一个数:";cin>>a;try{while(a>=0){cout<<"平方根为:"<>a;}if(a<0)throwa;,}catch(double){cout<<"所输入的"<#include#defineList_Init_Size50#defineerror-1#defineright1usingnamespacestd;structSqlist{long*elem;intLength;,intlistsize;};voidexit(strings){cout<>num;for(i=0;i>L.elem[i];L.Length++;,}cout<<"创建顺序表成功!"<L.Length){cout<<"位置不合法,请重新输入!"<>i;GetElem(L,i);}elsecout<>pur_e;PriorElem(L,pur_e,pre_e);}elseif(L.Length==0){cout<<"线性表中无数据!"<>pur_e;NextElem(L,pur_e,next_e);}elseif(L.Length==0){cout<<"线性表中无数据!"<L.Length+1)returnerror;//位置不合法返回-1if(L.Length==L.listsize)returnerror;//超出表长返回-1for(intj=L.Length-1;j>=i-1;j--)L.elem[j+1]=L.elem[j];L.elem[i-1]=e;++L.Length;returnright;//成功插入返回1}intDeleteElem(Sqlist&L,inti)//删除{if(!L.elem)returnerror;//未分配好返回-1elseif(i<1||i>L.Length)returnerror;//位置不合法返回-1else{,for(intj=i;j<=L.Length-1;j++){L.elem[j-1]=L.elem[j];}--L.Length;returnright;//成功删除返回1}}intmain(){SqlistL;Initlist(L);//初始化线性表inti,n;boolb=true;longe1,e2;while(b){cout<<"0、创建线性表"<>n;switch(n){case0:Create(L);break;case1:ClearList(L);break;case2:EmptyList(L);break;case3:cout<<"线性表长度为:"<>i;GetElem(L,i);break;case5:cout<<"请输入要求直接前驱的元素:";cin>>e1;cout<<"其前驱为:"<>e1;cout<<"其后继为:"<>i>>e1;cout<>i;cout<>e1;cout<<"其位置为:"<

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1、本文档共26页,下载后即可获取全部内容。
2、此文档《实验5_模板与异常处理》由用户(槐*秋起)提供并上传付费之前 请先通过免费阅读内容等途径辨别内容,本站所有文档下载所得的收益全部归上传人(卖家)所有:如有侵权或不适当内容,请进行举报或申诉。
3、所有的PPT和DOC文档都被视为“模板”允许上传人保留音节日灵结构的情况下删减部份的内容,下裁前须认直查看,确认无误后再购买。
4、万象文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护外理,无法对各卖家所售文档的直实性,完整性,准确性以及专业性等问题提供审核和保证,请谨慎购买。
5、本站文档的总页数,文档格式和文档大小以系统显示为准(内容中显示页数不一定正确),网站客服只以系统显示页数,文件格式,文档大小作为仲裁依据。