该【2024太原理工大学C++实验报告 】是由【mama】上传分享,文档一共【25】页,该文档可以免费在线阅读,需要了解更多关于【2024太原理工大学C++实验报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。本科试验报告课程名称:C++面对对象程序设计试验项目:C++语言编程试验地点:明向校区专业班级:软件1431学号:202400XXXX学生姓名:白建兴指导老师:(1)(2)(3):#include<iostream>usingnamespacestd;voidfn1(intz=5);intx=1,y=2;intmain(){ cout<<"Begin..."<<endl; cout<<"x="<<x<<endl; cout<<"y="<<y<<endl; cout<<"Evaluaexandyinmain()..."<<endl; intx=10,y=20; cout<<"x="<<x<<endl; cout<<"y="<<y<<endl; cout<<"Stepintofn1()..."<<endl; fn1(); fn1(10); cout<<"Baceinmain"<<endl; cout<<"x="<<x<<endl; cout<<"y="<<y<<endl; return0;}voidfn1(intz){ staticintx=100; inty=200; cout<<"x="<<x<<endl; cout<<"y="<<y<<endl; x=x+y+z;}运行结果:,3个整数,3个双精度数,3个双精度数的最大值#include<iostream>usingnamespacestd;intmax(intx,inty);doublemax(doublex,doubley);intmax(intx,inty,intz);doublemax(doublex,doubley,doublez);intmain(){ inta,b,c; cout<<"请输入3个整数"<<endl; cin>>a>>b>>c; cout<<"2个整数的最大值:"<<max(a,b)<<endl; cout<<"3个整数的最大值:"<<max(a,b,c)<<endl; doublei,j,k; cout<<"请输入3个双精度数"<<endl; cin>>i>>j>>k; cout<<"2个双精度数的最大值:"<<max(i,j)<<endl; cout<<"3个双精度数的最大值:"<<max(i,j,k)<<endl; return0;}intmax(intx,inty){ returnx>y?x:y;}doublemax(doublex,doubley){ returnx>y?x:y;}intmax(intx,inty,intz){ return(max(x,y)>z)?max(x,y):z;}doublemax(doublex,doubley,doublez){ return(max(x,y)>z)?max(x,y):z;}运行结果:,输入若干个值到数组中,分别统计其中正数和负数的个数后再用delete操作释放内存。#include<iostream>usingnamespacestd;constintN=10;intmain(){ int*p,i,plus,minus; p=newint[N]; if(!p) { cout<<"内存安排错误!"<<endl; exit(1); } plus=0; minus=0; cout<<"请随意输入"<<N<<"个整数"<<endl; for(i=0;i<N;i++) { cin>>p[i]; if(p[i]>0) plus++; elseif(p[i]!=0) minus++; } cout<<"正数的个数:"<<plus<<endl; cout<<"负数的个数:"<<minus<<endl; delete[]p; return0;}运行结果:心得体会在经过多次编写试验程序后,比较了C与C++,二者在编程的思想上完全不同,但是在C++的编译器中,也会用到许多C中的东西,虽然C++后期修改程序上比C要简单了许多,但是在编写过程中要比C要麻烦。虽然编写了这么多的程序,但是对编写的程序如何变成软件还是有许多的怀疑以及更大新奇心。(1)(2)(3)(4):#include<iostream>#;intmain(){ cout<<"1计算圆面积"<<endl <<"2计算矩形面积"<<endl <<"3计算正方形面积"<<endl <<"4退出"<<endl <<"请输入对应程序代码"<<endl; intx; doublearea; cin>>x; while(x!=4) { if(x==1) { doubler; cout<<"请输入圆半径:"; cin>>r; area=*r*r; cout<<"圆的面积:"<<area<<endl; } elseif(x==2) { doublem,n; cout<<"请输入矩形的长和宽:"; cin>>m>>n; area=m*n; cout<<"矩形的面积:"<<area<<endl; } elseif(x==3) { doublem; cout<<"请输入正方形的边长:"; cin>>m; area=m*m; cout<<"正方形的面积:"<<area<<endl; } else { cout<<"输入有误,请重新输入!"<<endl; cout<<"输入代码:"; cin>>x; } } return0;}运行结果:,复数的实部Real与虚部Image定义为私有数据成员。用复数类定义复数对象c1、c2、c3,用默认构造函数将c1初始化为c1=20+40i,将c2初始化为c2=0+0i,用拷贝构造函数将c3初始化为c3=20+40i。用公有成员函数Dispaly()显示复数c1、c2与c3的内容。程序:#include<iostream>usingnamespacestd;plex{private: doublereal,image;public: Complex(doubler,doublei); plex&c); voidDisplay();};Complex::Complex(doubler,doublei){ real=r; image=i;}Complex::plex&c){ real=; image=;}plex::Display(){ cout<<real<<"+"<<image<<"i"<<endl;}intmain(){ Complexc1(20,40),c2(0,0),c3(c1); cout<<"c1="; (); cout<<"c2="; (); cout<<"c3="; (); return0;}运行结果:,描述学生成果的私有数据成员为学号(No)、姓名(Name[8])、数学(Math)、物理(Phi)、数据结构(Data)、平均分(ave)。定义能输入学生成果的公有成员函数Write(),能计算学生平均分的公有成员函数Average(),能显示学生成果的公有成员函数Display()。在主函数中用Score类定义学生成果对象数组s[3]。用Write()输入学生成果,用Average()计算每个学生的平均分,最终用Display()显示每个学生的成果。试验数据:NoNameMathPhiDataAve1001 Zhou80 70601002 Chen 90 80851003 Wang 707589程序:#include<iostream>#include<string>usingnamespacestd;classScore{private: intNo; charName[10]; floatMath,Phi,Data,Ave;public: voidWrite(intno,charname[],floatmath,floatphi,floatdata) { No=no; strcpy(Name,name); Math=math; Phi=phi; Data=data; } voidAverage() { Ave=(Math+Phi+Data)/3; } voidDisplay() { cout<<No<<"\t"<<Name<<"\t"<<Math<<"\t"<<Phi<<"\t"<<Data<<"\t"<<Ave<<endl; }};intmain(){ inti,no; charname[10]; floatmath,phi,data; Scores[3]; cout<<"学号姓名数学物理数据结构"<<endl; for(i=0;i<3;i++) { cin>>no>>name>>math>>phi>>data; s[i].Write(no,name,math,phi,data); s[i].Average(); } cout<<"学号姓名数学物理数据结构平均分"<<endl; for(i=0;i<3;i++) s[i].Display(); return0;}运行结果:,矩形的左上角(Left,Top)与右下角坐标(Right,Bottom)定义为爱护数据成员。用公有成员函数Diagonal()计算出矩形对角线的长度,公有成员函数Show()显示矩形左上角与右下角坐标及对角线长度。在主函数中用new运算符动态建立矩形对象r1,初值为(10,10,20,20)。然后调用Show()显示矩形左上角与右下角坐标及对角线长度。最终用delete运算符回收为矩形动态安排的存储空间。程序:#include<iostream>#include<cmath>usingnamespacestd;classRectangle{private: floatLeft,Top,Right,Bottom;public: Rectangle(floatleft,floattop,floatright,floatbottom); floatDiagonal(); voidShow();};Rectangle::Rectangle(floatleft,floattop,floatright,floatbottom):Left(left),Top(top),Right(right),Bottom(bottom){}floatRectangle::Diagonal(){ floatdia; dia=sqrt((Right-Left)*(Right-Left)+(Bottom-Top)*(Bottom-Top)); returndia;}voidRectangle::Show(){ cout<<"矩形左上角坐标:<"<<Left<<","<<Top<<">"<<endl; cout<<"矩形右下角坐标:<"<<Right<<","<<Bottom<<">"<<endl; cout<<"矩形对角线长度:"<<Rectangle::Diagonal()<<endl;}intmain(){ Rectangle*r1; r1=newRectangle(10,10,20,20); r1->Diagonal(); r1->Show(); deleter1; return0;}运行结果:
2024太原理工大学C++实验报告 来自淘豆网www.taodocs.com转载请标明出处.