C++实验报告.docx

上传人:b****3 文档编号:4978230 上传时间:2022-12-12 格式:DOCX 页数:12 大小:62.24KB
下载 相关 举报
C++实验报告.docx_第1页
第1页 / 共12页
C++实验报告.docx_第2页
第2页 / 共12页
C++实验报告.docx_第3页
第3页 / 共12页
C++实验报告.docx_第4页
第4页 / 共12页
C++实验报告.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

C++实验报告.docx

《C++实验报告.docx》由会员分享,可在线阅读,更多相关《C++实验报告.docx(12页珍藏版)》请在冰豆网上搜索。

C++实验报告.docx

C++实验报告

实验1-1过程化编程

【实验目的】

理解、掌握过程化编程程序设计思想。

【实验内容】

1.程序填空,练习类、对象、继承的定义和实现方法。

2.根据程序运行结果,补充完整程序。

【实验要求】

我们在进行英语阅读的时候,会发现一个有趣的现象:

有些字串是左右对称的,如madam。

我们把这种字串称为symmetrytext即“对称文”。

现在有若干航字串,每一行可以由数字、标点符号、空格符以及英文字符(包括大小写)组成。

要你帮忙编程判断是否是对称文,否则,就不能最大限度地发现有趣现象了。

输入说明

每个字串为一行,每行结束以回车符为标志,可能有上百上千行业说不定。

当字串为“000000”时,输入结束。

英文字符不区分大小写,即Madam亦为对称文。

不要忘了“{<([”与“])>}”也是互为对称的。

输出说明

如果是对称文,则输出“Symmetry”,否则输出“Notsymmetry”。

每个结论占一行。

图1

图2

【程序代码】

#include

#include

usingnamespacestd;

boolisMatch(strings);

intmain(){

strings;

while

(1){

cin>>s;

if("000000")==0){

break;

}

if(isMatch(s)){

cout<<"Symmetry"<

}

else{

cout<<"Notsymmetry"<

}

}

return0;

}

boolisMatch(strings){

intlen=();

for(inti=0;i

if((s[i]>='a'&&s[i]<='z')&&(s[len-i-1]>='A'&&s[len-i-1]<='Z')){

if(s[i]!

=(s[len-i-1]+('a'-'A'))){

returnfalse;

}

}

elseif((s[i]>='A'&&s[i]<='Z')&&(s[len-i-1]>='a'&&s[len-i-1]<='z')){

if(s[i]!

=(s[len-i-1]-('a'-'A'))){

returnfalse;

}

}

elseif(((s[i]=='{'&&s[len-i-1]=='}'))){

continue;

}

elseif(((s[i]=='<'&&s[len-i-1]=='>'))){

continue;

}

elseif(((s[i]=='['&&s[len-i-1]==']'))){

continue;

}

elseif(((s[i]=='('&&s[len-i-1]==')'))){

continue;

}

else{

if(s[i]!

=s[len-i-1]){

returnfalse;

}

}

}

returntrue;

}

【运行结果】

图3实验一运行结果

实验1-2面向对象编程技术

(1)

【实验目的】

理解面向对象的的程序设计思想。

【实验内容】

定义一个时间类Time,能提供和设置由时、分、秒组成的时间,并编出应用程序,要求包括定义时间对象,设置时间,输出该对象提供的时间。

并请将类定义作为界面,用多文件结构实现之。

【程序代码】

isplay();”使之不会产生内存泄漏。

【实验程序】

n";

exit

(1);

}

v=newint[s];

}

Vector:

:

Vector(constVector&s)

{

inti;

sz=;

v=newint[sz];

for(i=0;i

{

v[i]=[i];

}

}

Vector:

:

~Vector()

{

delete[]v;

}

int&Vector:

:

operator[](inti)n";

exit

(1);

}

returnv[i];

}

voidVector:

:

display()

{

inti;

for(i=0;i

cout<

cout<<"\n";

}

classMatrix

{

int*m;

intszl,szr;

public:

Matrix(int,int);

Matrix(constMatrix&m);

~Matrix();

intsizeL(){returnszl;}

intsizeR(){returnszr;}

int&elem(int,int);

};

Matrix:

:

Matrix(inti,intj)

{

szl=i;szr=j;

if(i<=0||j<=0)

{

cerr<<"badMatrixsize.\n";

exit

(1);

}

m=newint[i*j];

}

Matrix:

:

Matrix(constMatrix&s)

{

inti,j;

szl=;

szr=;

m=newint[szl*szr];

for(i=0;i

{

for(j=0;j

{

m[i*szr+j]=[i*szr+j];

}

}

}

Matrix:

:

~Matrix()

{

delete[]m;

}

int&Matrix:

:

elem(inti,intj)n";

exit

(1);

}

returnm[i*szr+j];

}

Vectormultiply(Matrix&m,Vector&v)

{n";

exit

(1);

}

Vectorr());isplay();

 

}

【实验结果】

图5实验三运行结果

实验4面向对象程序设计(3)

【实验要求】

请在程序中的日期类的基础上,实现一个可以进行加天数操作获得另一个日期,以及进行日期减日期操作获得相隔天数的日期类,并进行应用程序设计:

创建和两个日期,并计算中间相隔的天数,前者加上300天会是什么日子呢

【实验程序】

一、头文件部分

#pragmaonce

_str());

month=atoi(5,2).c_str());

day=atoi(8,2).c_str());

}

voidDate:

:

i2ymd(intabsDay){

year=absDay/Y400*400;

inty=absDay%Y400;

intoperator-(WDate&wd)const{returnymd2i()-();}

friendostream&operator<<(ostream&o,constWDate&wd);

};

三、

_str());

month=atoi(5,2).c_str());

day=atoi(8,2).c_str());

}

voidDate:

:

i2ymd(intabsDay){

year=absDay/Y400*400;

inty=absDay%Y400;"<

case1:

returno<<"Mon."<

case2:

returno<<"Tue."<

case3:

returno<<"Wed."<

case4:

returno<<"Thr."<

case5:

returno<<"Fri."<

case6:

returno<<"Sat."<

}

}

五、

//

//usingWDateclass

#include""

#include

usingnamespacestd;

intmain(){

WDated1(2005,8,21);

WDated2(2008,8,8);

cout<

cout<

}

【实验结果】

学生实验心得

通过这次实验,我也着实又感受了一次编程的乐趣,从中也学到了不少知识。

虽然都说“程序=数据结构+算法”,但我在学习运用数据结构编程之前,并没能深刻体会到这一点,直到这次C++的实验。

我感受最深的一点是:

以前用C语言编程,只注重如何编写函数能够完成所需要的功能,没有明确的战术,只是单纯凭借意识和简单的语句来堆砌出一段程序,只要能完成任务就行。

但现在感觉完全不同,在编写程序之前,自己能够综合考虑各种因素,首选自己需要的数据结构,然后选定一种或几种存储结构来具体决定后面的函数的主要风格。

最后在编写每一个函数之前,可以仔细斟酌对比,挑选出最适合当前状况的算法。

这样,即使在完整的程序还没有写出来之前,自己心中已经有了明确的原图了。

这样无形中就提高了自己编写的程序的质量。

学生(签名):

2016年04月13日

指导

教师

评语

 

成绩评定:

指导教师(签名):

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1