C++上机实验报告 实验四Word格式文档下载.docx

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

C++上机实验报告 实验四Word格式文档下载.docx

《C++上机实验报告 实验四Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++上机实验报告 实验四Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。

C++上机实验报告 实验四Word格式文档下载.docx

7.(选做)修改实验4中的选做实验中的people(人员)类。

具有的属性如下:

姓名charname[11]、编号charnumber[7]、性别charsex[3]、生日birthday、身份证号charid[16]。

其中“出生日期”定义为一个“日期”类内嵌对象。

用成员函数实现对人员信息的录入和显示。

要求包括:

构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。

在测试程序中定义people类的对象数组,录入数据并显示。

3.实验内容及实验步骤

1.编写矩阵转置函数,输入参数为3*3整形数组,使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入、输出。

程序名:

lab6_1.cpp。

2.改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。

通过Debug观察指针的内容及其所指的对象中的内容。

lab6_2.cpp。

定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。

lab6_3.cpp。

用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝。

4.使用string类定义字符串对象,编程实现两字符串的连接。

在string类中已重载了运算符“+=”实现字符串的连接,可以使用这个功能。

lab6_4.cpp。

5.在employee.h文件中定义Employee类。

Employee类具有姓名、街道地址、城市和邮编等私有数据成员,在成员函数中,构造函数用来初始化所有数据成员;

display()中使用cout显示姓名、街道地址、城市和邮编等属性,change_name()改变类中表示姓名属性的数据成员。

在主程序中定义这个类的对象并对其进行操作。

lab6_5.cpp。

6.使用上一小题中定义的Employee类定义对象数组emp[5],使用循环语句把数据显示出来。

lab6_6.cpp。

4.思考题

1.如何存储和处理字符串?

(1)可以利用字符数组存储和处理字符串;

(2)利用系统提供的string类存储和处理字符串。

2.头文件<

string.h>

和头文件<

string>

有何区别?

包含头文件<

后,可以使用系统的字符串处理函数,如strcat(连接).strcpy(复制).strcmp(比较).strlen(求长度).strlwr(转换为小写).strupr(转换为大写)等等;

而包含头文件<

后,则可以定义string类,并且使用系统提供的string类操作符对string类型的对象进行处理。

3.有几种方法来表示和处理数组元素?

(1)数组下标方法,如a[i]

(2)指针的方法,如int*p=&

a[0]

5.源程序

1.lab6_1.cpp

#include<

iostream>

usingnamespacestd;

inta[3][3];

voidshowTrans()

{

inti,j;

cout<

<

"

Thetranspositionmatrixis:

endl;

for(j=0;

j<

3;

j++)

{

for(i=0;

i<

i++)

a[i][j];

"

;

}

}

voidinput()

Pleaseinputyour3*3matrix:

cin>

>

intmain()

input();

showTrans();

return0;

2.lab6_2.cpp

int*p[9];

for(j=i;

9;

j=j+3)

*p[j];

inti,n;

n;

p[i]=newint(n);

inti;

deletep[i];

3.lab6_3.cpp

//不使用系统自带函数strcpy

chara[20]={"

/0"

},b[20]={"

},c[45]={"

};

inti,j,k;

Inputthefirststring:

cin.getline(a,20,'

\n'

);

Inputthesecondstring:

cin.getline(b,20,'

intm=0,n=0;

//将数组a中的字符串拷贝到数组c中

for(k=0;

k<

45,a[m]!

='

\0'

k++,m++)

c[k]=a[m];

//将数组b中的字符串接着a,拷贝到数组c中

for(;

45,b[n]!

k++,n++)

c[k]=b[n];

c;

4.lab6_4.cpp

cstring>

strings1=a;

strings2=b;

strings3=s1+s2;

s3;

5.Employee.h

#ifndefEmployee_H_INCLUDED

#defineEmployee_H_INCLUDED

classEmployee

private:

charname[15];

charaddress[25];

charcity[10];

intpostcode;

public:

Employee();

Employee(charn,chara,charc,intp);

~Employee();

voidchange_name();

voidchange_address();

voidchange_city();

voidchange_postcode();

voiddisplay();

#endif//Employee_H_INCLUDED

 

Employee.cpp

#include"

Employee.h"

Employee:

:

Employee(){}

Employee(charn,chara,charc,intp)

name[0]=n;

name[1]='

address[0]=a;

address[1]='

city[0]=c;

city[1]='

postcode=p;

~Employee(){}

voidEmployee:

change_name()

Pleaseinputyourchangedname:

cin.getline(name,15,'

change_address()

Pleaseinputyourchangedaddress:

cin.getline(address,25,'

change_city()

Pleaseinputyourchangedcity:

cin.getline(city,10,'

change_postcode()

Pleaseinputyourchangedpostcode:

postcode;

display()

Yourinformationshowsasfollow:

name:

name<

address:

address<

city:

city<

postcode:

postcode<

Employeeperson(1,1,1,1);

person.display();

person.change_name();

person.change_address();

person.change_

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

当前位置:首页 > 人文社科 > 广告传媒

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

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