C++上机实验报告 实验四

更新时间:2023-05-14 22:06:21 阅读: 评论:0

实验四数组、指针与字符串
1.实验目的
1.学习使用数组
2.学习字符串数据的组织和处理
3.学习标准C++库的使用
4.掌握指针的使用方法
5.练习通过Debug观察指针的内容及其所指的对象的内容
6.联系通过动态内存分配实现动态数组,并体会指针在其中的作用
7.英语六级报名入口官网分别使用字符数组和标准C++库练习处理字符串的方法
2.实验要求
1.编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。
2.使用动态内存分配生成动态数组来重新完成上题,使用指针实现函数的功能。
3.编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。
4.使用brandsstring类定义字符串对象,重新实现上一小题。
5.定义一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()display()等函数。Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。实现并测试这个类。
6.定义包含5个元素的对象数组,每个元素都是Employee类型的对象。
7. (选做)修改实验4中的选做实验中的people(人员)类。具有的属性如下:姓名char name[11]、编号char number[7]、性别char x[3]、生日birthday、身份证号char id[16]。其中“出生日期”定义为一个“日期”类内嵌对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。在测试程序中定义people类的对象数组,录入数据并显示。
3.实验内容及实验步骤
1.编写矩阵转置函数,输入参数为3*3整形数组,使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入、输出。程序名:lab6_1.cpp
2.改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。通过Debug观察指针的内容及其所指的对象中的内容。程序名:lab6_2.cpp
3.编程实现两字符串的连接。定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。程序名:lab6_3.cpp。用cin实现输入,注意,字符串的结束标志是ASCII0cctv9 dialogue,使用循环语句进行字符串间的字符拷贝。
4.使用string类定义字符串对象,编程实现两字符串的连接。在string类中已重载了运算符“+=”实现字符串的连接,可以使用这个功能。程序名:lab6_4.cpp
5.employee.h文件中定义Employee类。blueflyEmployee类具有姓名、街道地址、城市和邮编等私有数据成员,在成员函数中,构造函数用来初始化所有数据成员;display()中使用cout
显示姓名、街道地址、城市和邮编等属性,change_name()改变类中表示姓名属性的数据成员。在主程序中定义这个类的对象并对其进行操作。程序名:lab6_5.cpp
6.使用上一小题中定义的Employee类定义对象数组emp[5],使用循环语句把数据显示出来。程序名:lab6_6.cpp
4.思考题
1.如何存储和处理字符串?
(1)可以利用字符数组存储和处理字符串
(2)利用系统提供的string类存储和处理字符串
2.头文件<string.h>和头文件<string>有何区别?
包含头文件<string.h>后可以使用系统的字符串处理函数,如strcat(连接).strcpy(复制).strcmp(比较)大无畏的意思.strlen(求长度).strlwr(转换为小写).strupr(转换为大写)等等;
而包含头文件<string>则可以定义string类,并且使用系统提供的string类操作符对string类型的对象进行处理
3.有几种方法来表示和处理数组元素?
(1)数组下方法a[i]
(2)指针的方法,如int* p=&a[0]
5.源程序
1.lab6_1.cpp
#include<iostream>
using namespace std;
int a[3][3];
void showTrans()
{
    int i,j;
    cout<<"The transposition matrix is:"<<endl;
    for(j=0;j<3;j++)
    {
        for(i=0;i<3;i++)
        {
            cout<<a[i][j];
            cout<<" ";
        }
        cout<<endl;
    }
}
void input()
{
    int i,j;
    cout<<"Plea input your 3*3 matrix:"<<endl;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
上海小学排名            cin>>a[i][j];
如何卸睫毛膏        }
    }
}
int main()
{
    input();英语手抄报内容
    showTrans();
    return 0;
}
2.lab6_2.cpp
#include<iostream>
绯闻女孩第二季在线观看
using namespace std;
int* p[9];
void showTrans()
{
    int i,j;
    cout<<"The transposition matrix is:"<<endl;
    for(i=0;i<3;i++)
    {
        for(j=i;j<9;j=j+3)
        {
            cout<<*p[j];
            cout<<" ";
        }
        cout<<endl;
    }
}
void input()
{
    int i,n;
light infection    cout<<"Plea input your 3*3 matrix:"<<endl;

本文发布于:2023-05-14 22:06:21,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/108629.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字符串   数组   使用   实现   函数   对象
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图