C上机实验报告 实验四
上机实验报告(精选11篇)

上机实验报告篇1用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a可读性:有注释。
b交互性:有输入提示。
c结构化程序设计风格:分层缩进、隔行书写。
3.上交时间:12月26日下午1点-6点,工程设计中心三楼教学组。
请注意:过时不候哟!四、实验报告内容0.顺序表的插入。
1.顺序表的删除。
2.带头结点的单链表的\'插入。
3.带头结点的单链表的删除。
注意:1.每个人只需在实验报告中完成上述4个项目中的一个,具体安排为:将自己的序号对4求余,得到的数即为应完成的项目的序号。
例如:序号为85的同学,85%4=1,即在实验报告中应完成顺序表的删除。
2.实验报告中的源代码应是通过编译链接即可运行的。
3.提交到个人空间中的内容应是上机实验中的全部内容。
上机实验报告篇2一、《软件技术基础》上机实验内容1.顺序表的建立、插入、删除。
2.带头结点的单链表的建立(用尾插法)、插入、删除。
二、提交到个人10m硬盘空间的内容及截止时间1.分别建立二个文件夹,取名为顺序表和单链表。
2.在这二个文件夹中,分别存放上述二个实验的相关文件。
每个文件夹中应有三个文件(.c文件、.obj文件和.exe文件)。
3. 截止时间:12月28日(18周周日)晚上关机时为止,届时服务器将关闭。
三、实验报告要求及上交时间(用a4纸打印)1.格式:《计算机软件技术基础》上机实验报告用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a 可读性:有注释。
b 交互性:有输入提示。
《C语言程序设计》实验四

电子科技大学计算机学院标准实验报告(实验)课程名称C语言程序设计电子科技大学教务处制表电子科技大学实验报告四学生姓名:学号:指导教师:王瑞锦实验地点:实验日期:年月日一、实验室名称:软件实验室二、实验项目名称:函数的应用及预处理三、实验学时:2四、实验原理:使用Turbo C软件(简称TC),在微型计算机上,对其程序进行编辑、编译、连接与运行。
Turbo C是一个集成环境,它具有方便、直观、易用的界面和丰富的库函数。
通过上机练习掌握在TC环境下编辑、编译、连接、和运行C程序的方法和过程。
五、实验目的1.掌握C语言中定义函数的方法;2.掌握函数传值调用的方法;3.掌握函数传址调用的方法;4.掌握递归函数的设计方法;5.掌握命令行参数的使用方法;6.掌握函数在不同文件中的编译、链接方法。
六、实验内容编程实验,完成以下上机内容,调试运行程序并完成报告1)、教材第七章习题7.4;2)、编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出;3)、教材第七章习题7.11;4)、教材第七章习题7.15;5)、教材第七章习题7.24;6)、求解汉渃塔(tower of Hanoi)问题。
在一块平板上立有3根立柱,从左到右分别标记为A,B,C。
最初在A柱上放有6个大小不等的圆盘,并且大盘在下面,小盘在上面。
要求将这些盘从A移到C(可以借助B柱)。
条件是:每次只能移动一个盘,并且不允许把大盘放在小盘的上面。
(提示:利用函数的递归调用);七、实验器材(设备、元器件):pc硬件要求:CPU PII 以上,64M 内存,1OOM 硬盘空间即可。
软件要求:DOS3.0以上/Windows98/Me/XP/NT/2000。
八、实验步骤:实验编程与运行结果⑴编写一个求两个整数的最小公倍数的函数,两个整数由键盘输入,用主函数调用这个函数,并输出结果。
程序文件名为7_4.c,源程序清单如下:#include<stdio.h>lcd(int a,int b){int temp,num1,num2;num1=a;num2=b;while(num2!=0){temp=num1%num2;num1=num2;num2=temp;}return(a*b/num1);}main(){int t,x,y;printf("Please input two integers:");scanf("%d,%d",&x,&y);if(x>y){t=x;x=y;y=t;}printf("lcd(%d,%d)=%d\n",x,y,lcd(x,y));}运行结果:⑵编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出。
实验报告二厦门理工学院C语言选修课上机实验实验4循环结构

《高级语言程序设计》实验报告实验序号:2 实验项目:数据类型、运算符和表达式09机制2 学号232 姓名叶志伟专业、班级实验地点1-511 指导教师胡亮实验时间 3.15一、实验目的及要求1.掌握C基本数据类型的基本概念、基本属性。
2.学会如何书写一个整型、字符型、实型常量。
3.掌握C算术运算符的基本概念、基本属性、运算规则。
二、实验设备(环境)及要求使用Visual C++ 6.0;windows系列操作系统的环境。
三、实验内容与步骤1.输入下列源程序,进行修改、编译、连接和运行。
程序:main ( ){ char c1,c2;c1=97;c2=98;printf("%c,%c\n",c1,c2);printf("%d,%d\n",c1,c2);}运行结果是:两行结果的不同是由什么引起的:程序定义了输出的类型,第一个输出字符型,另一个输出整型。
2.输入并运行下面的程序:#include<stdio.h>void main(){char c1,c2,c3;c1=getchar();c3=getchar();putchar(c1);putchar(c2);putchar(c3);}观察以下不同输入时的输出,分析不同输出的原因。
(↙表示回车)(1)123↙(2)12↙(3)1↙2↙运行结果是:分析运行结果:getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.3.把以上程序改写如下,用于上面相同的输入运行,分析不同输出的原因。
C程序设计上机实验报告(完整版)

C语言程序设计上机实验报告学院:机械工程学院班级:机自161213姓名:刘昊学号:20162181310实验时间:2017年3月6号任课老师:张锐C语言程序设计上机实验报告实验一一、实验名称: C程序的运行环境和运行C程序的方法二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C程序三、实验内容:(1). 输入并运行一个简单的C程序。
(2). 设计程序,对给定的两个数求和。
(3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。
四、源程序代码:代码1:运行结果1:程序分析1:该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。
代码2:运行结果2:程序分析2:简单的使用printf()和scanf()函数进行简单的数据运算。
代码3:运行结果3:程序分析3:使用if语句进行判断。
五.实验总结C语言程序设计上机实验报告实验二一、实验名称:顺序结构程序设计二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法,熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。
三、实验内容:(1). 编写程序,实现小写字母转大写。
(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。
(3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。
(4). 编写程序,实现单字符getchar和putchar输入输出。
(5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。
四、源程序代码代码1:运行结果1:程序分析1:所有的字符都有一个对应的数字与之对应,每一个小写字母对应的数与大写字母对应的数之间总是相差32,所以只需要对所输入的字符进行减法运算就可以转换为与之对应的大写字母。
代码2:运行结果2:程序分析2:简单的数据运算和格式字符的输出。
实验报告

实验报告一,实验目的:1、掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。
2、通过编程进一步理解和掌握运算符的确切含义和功能。
3、掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。
4、熟练掌握上机程序调试的方法。
5、通过上机编程进一步熟悉和掌握C语言集成开发环境。
二,实验内容:1、输入程序,观察输出结果,并对输出结果作出合理的解释。
/* e1.cpp */#include<stdio.h>void main(){float x;double y;x=213.82631;y=213.82631;printf("%-4.2f,%-6.2e\n",x,y);}输出结果:解释:“%-4.2f”指的是向左靠齐四位保留两位小数,因为x的值的有效数字个数大于四,所以输出结果是213.83;“%-6.2e”指的是向左靠齐六位保留两位有效小数数字,且只有一个整数,然后乘以十的n次方(n为整数部分的位数减一),所以输出结果为2.14+002。
2、按输出结果要求编写程序若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’,想得到以下输出格式和结果,请写出完整的程序。
要求输出结果如下:a=3□□□b=4□□□c=5x=1.20000,y=2.400000,z=-3.600000x+y=□3.60□□y+z=-1.20□□z+x=-2.40u=51274□□□n=□□□128765c1=’a’□or□97(ASCII)c2=’b’□or□98(ASCII)提示:根据题目中变量的值定义合适的变量类型。
正确定义和使用printf函数中的格式控制字符串。
□表示空格。
源程序:#include<stdio.h>void main(){int a=3,b=4,c=5;float x=1.2,y=2.4,z=-3.6;long u=51274,n=128765;char c1='a',c2='b';printf("a=%-4db=%-4dc=%d\n",a,b,c);printf("x=%.5f,y=%.6f,z=%.6f\n",x,y,z);printf("x+y=%5.2f y+z=%.2f z+x=%.2f\n",x+y,y+z,z+x);printf("u=%-8ldn=%9ld\n",u,n);printf("c1=\'%c\' or %d(ASCII)\n",c1,c1);printf("c2=\'%c\' or %d(ASCII)\n",c2,c2);输出结果3、改错,计算某个数x的平方y,并以算术公式的形式输出x和y的值,请不要删除源程序中的任何注释。
c++上机实验报告(精品)

XX大学C++上机实验报告(一)学院:XX学院班级:XXX姓名:XXX学号:*******指导老师:XXX日期:年月日实验三类的定义和使用一.实验目的1.掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;2.掌握类对象的定义;3.理解类的成员的访问控制的含义,公有、私有和保护成员的区别;4.掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。
能够根据给定的要求定义类并实现类的成员函数;5.掌握友元函数的含义,友元函数和成员函数的区别。
二.实验内容及要求1、定义一个圆类,计算圆的面积和周长。
要求:分别用成员函数和友元函数来求圆的面积和周长。
2、定义一个学生类,其中有3个数据成员有学号、姓名、年龄,以及若干成员函数。
同时编写主函数使用这个类,实现对学生数据的赋值和输出。
要求:1)使用成员函数实现对输出的输入、输出;2)使用构造函数和析构函数实现对数据的输入、输出。
3、定义日期类型Date。
要求有以下面成员:1)可以设置日期;2)日期加一天操作;3)输入函数,输入格式为“XXXX年XX月XX日”。
三.实验要求1)写出程序,并调试程序,要给出测试数据和实验结果。
2)整理上机步骤,总结经验和体会。
3)完成实验日志和上交程序。
四.算法思想1.圆类程序中,用Circle构造函数和Length友元函数分别计算圆的的面积和周长。
再通过主函数调用:Date d;cout<<"请输入圆半径r:";cin>>m;Circle p(m);Length(p);实现输入半径r并输出相关计算值。
2.学生类根据要求分别用构造函数Student(double n,int o,char c[50])和析构函数~Student(),实现学生信息的录入与输出。
于是,当在主程序中,定义学生类Student s(n,o,c)是调用构造函数录入信息,所在作用范围结束时,系统会自动调用析构函数输出信息。
C语言上机实验

实验一(第1章实验)实验目的:1.掌握运行C语言程序的全过程。
2.熟悉编译环境。
3.初步熟悉C语言程序的语法规定。
4.了解简单函数的使用方法。
实验内容:1.编程且上机运行:求3个整数的和。
2.编程且上机运行:求2个数的和、差、积和商。
3.编程且上机运行:输入3个数,求最大值。
4.编程且上机运行:输入圆的半径,求圆的面积和周长。
5.在屏幕上输出:“hello world!”实验结果:实验二(第3章实验)1.实验目的:理解C语言的类型系统。
实验内容:写程序测试数据-2在类型char,int,unsigned int,long int,unsigned long int 中存储情况。
实验过程:实验结果:参见各种类型的存储实现描述。
2.实验目的:了解混合类型计算中类型的转换规则。
实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。
注意unsigned int和int数据运算时类型转换的方向。
实验过程:/** 类型转换问题* 试问下面两个表达式等价吗?*/#include <stdio.h>#include <stdlib.h>int main() {unsigned int ui,uj;ui = 1;uj = 2;if (ui < uj)printf("\n%u < %u is true !\n", ui, uj);elseprintf("\n%u < %u is false !\n", ui, uj);if (ui - uj < 0)printf("\n%u - %u <0 is true !\n", ui, uj);elseprintf("\n%u - %u <0 is false !\n", ui, uj);system("pause");return 0;}实验结果:参见类型转换规则。
大一C语言上机实验实验报告

sort(p,10);
for(p=a,i=0;i<10;i++)
{printf("%d",* p);p++;}
}
void sort(int x[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
从1一直加到100.
2.确定数学模型
3.算法
i=1
当i≤100
sum+=i
i=i+1
输出5050
4.程序编码
#include<stdio.h>
void main()
{
int i,sum=0;
for(i=1;i<=100;i++)sum+=i;
printf("%d\n",sum);
}
5.调试程序
经过上机调试,运行情况如下:
void main()
{
int year;
scanf("%d",&year);
if(year/4==0&&year/100!=0)
printf("%d is a leap year.\n",year);
else if(year/400==0)
printf("%d is a leap year.\n",year);
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
精品文档实验四数组、指针与字符串1.实验目的1.学习使用数组2.学习字符串数据的组织和处理3.学习标准C++库的使用4.掌握指针的使用方法5.练习通过Debug观察指针的内容及其所指的对象的内容6.联系通过动态内存分配实现动态数组,并体会指针在其中的作用7.分别使用字符数组和标准C++库练习处理字符串的方法2.实验要求1.编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。
2.使用动态内存分配生成动态数组来重新完成上题,使用指针实现函数的功能。
3.编程实现两字符串的连接。
要求使用字符数组保存字符串,不要使用系统函数。
4.使用string类定义字符串对象,重新实现上一小题。
5.定义一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。
Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。
实现并测试这个类。
6.定义包含5个元素的对象数组,每个元素都是Employee类型的对象。
7. (选做)修改实验4中的选做实验中的people(人员)类。
具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[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实现输入,注意,字符串的结束标志是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>有何区别?包含头文件<string.h>后,可以使用系统的字符串处理函数,如strcat(连接).strcpy(复制).strcmp (比较).strlen(求长度).strlwr(转换为小写).strupr(转换为大写)等等;而包含头文件<string>后,则可以定义string类,并且使用系统提供的string类操作符对string类型的对象进行处理。
3.有几种方法来表示和处理数组元素?(1)数组下标方法,如a[i](2)指针的方法,如int* p=&a[0]5.源程序b6_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;}}{int i,j;cout<<Please 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;}b6_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(){cout<<Please input your 3*3 matrix:<<endl;for(i=0;i<9;i++){cin>>n;p[i]=new int(n);}}int main(){input();showTrans();.精品文档int i;for(i=0;i<9;i++){delete p[i];}return 0;}b6_3.cpp#include<iostream>//不使用系统自带函数strcpyusing namespace std;char a[20]={\/0},b[20]={\/0},c[45]={\/0};int main(){int i,j,k;cout<<Input the first string:<<endl;cin.getline(a,20,'\n');cout<<Input the second string:<<endl;cin.getline(b,20,'\n');int m=0,n=0;//将数组a中的字符串拷贝到数组c中for(k=0;k<45,a[m]!='\0';k++,m++){c[k]=a[m];}//将数组b中的字符串接着a,拷贝到数组c中for(;k<45,b[n]!='\0';k++,n++){c[k]=b[n];}cout<<c;return 0;}b6_4.cpp#include<iostream>#include<cstring>using namespace std;char a[20]={\/0},b[20]={\/0};int main(){.精品文档cout<<Input the first string:<<endl;cin.getline(a,20,'\n');cout<<Input the second string:<<endl;cin.getline(b,20,'\n');string s1=a;string s2=b;string s3=s1+s2;cout<<s3;return 0;}5.Employee.h#ifndef Employee_H_INCLUDED#define Employee_H_INCLUDEDclass Employee{private:char name[15];char address[25];char city[10];int postcode;public:Employee();Employee(char n,char a,char c,int p);~Employee();void change_name();void change_address();void change_city();void change_postcode();void display();};#endif // Employee_H_INCLUDEDEmployee.cpp#include<iostream>#includeEmployee.husing namespace std;Employee::Employee(){}Employee::Employee(char n,char a,char c,int p){.精品文档name[0]=n;name[1]='\0';address[0]=a;address[1]='\0';city[0]=c;city[1]='\0';postcode=p;}Employee::~Employee(){}void Employee::change_name(){cout<<Please input your changed name:<<endl;cin.getline(name,15,'\n');}void Employee::change_address(){cout<<Please input your changed address:<<endl;cin.getline(address,25,'\n');}void Employee::change_city(){cout<<Please input your changed city:<<endl;cin.getline(city,10,'\n');}void Employee::change_postcode(){cout<<Please input your changed postcode:<<endl;cin>>postcode;}void Employee::display(){cout<<Your information shows as follow:<<endl;cout<<ame:<<name<<endl;cout<<address:<<address<<endl;cout<<city:<<city<<endl;cout<<postcode:<<postcode<<endl;}int main(){Employee person(1,1,1,1);person.display();person.change_name();person.change_address();person.change_city();.精品文档person.change_postcode();person.display();return 0;}6.Employee.h#ifndef Employee_H_INCLUDED#define Employee_H_INCLUDEDclass Employee{private:char name[15];char address[25];char city[10];int postcode;public:Employee();Employee(char n,char a,char c,int p);~Employee();void change_name();void change_address();void change_city();void change_postcode();void display();};#endif // Employee_H_INCLUDEDEmployee.cpp#include<iostream>#includeEmployee.husing namespace std;Employee::Employee(){}Employee::Employee(char n,char a,char c,int p) {name[0]=n;name[1]='\0';address[0]=a;address[1]='\0';city[0]=c;.精品文档city[1]='\0';postcode=p;}Employee::~Employee(){}void Employee::change_name(){cout<<Please input your changed name:<<endl;cin.getline(name,15,'\n');}void Employee::change_address(){cout<<Please input your changed address:<<endl;cin.getline(address,25,'\n');}void Employee::change_city(){cout<<Please input your changed city:<<endl;cin.getline(city,10,'\n');}void Employee::change_postcode(){cout<<Please input your changed postcode:<<endl;cin>>postcode;}void Employee::display(){cout<<Your information shows as follow:<<endl;cout<<ame:<<name<<endl;cout<<address:<<address<<endl;cout<<city:<<city<<endl;cout<<postcode:<<postcode<<endl;}int main(){Employeeemp[5]={Employee(1,1,1,1),Employee(2,2,2,2),Employee(3,3,3,3),Employee(4,4,4,4),Employee(5,5,5,5 )};int i;for(i=0;i<5;i++){emp[i].display();emp[i].change_name();emp[i].change_address();emp[i].change_city();.精品文档emp[i].change_postcode();cin.get();}for(i=0;i<5;i++){cout<<The emp <<i<< ;emp[i].display();}return 0;}7.#include<iostream>#include<cstring>using namespace std;//Date类class Date{private:int year;int month;int day;public:Date();Date(int y,int m,int d);Date(Date &p);~Date();void setDate();void showDate();};//People类,其中含Date类型的数据class People{private:char name[11];char number[7];char sex[3];Date birthday;char id[16];public:People();People(char* n,char* nu,char* s,Date b,char* i); People(People &p);.精品文档~People();void setName();void setNumber();void setSex();void setId();void showPeople();};//Date构造函数Date::Date(){}Date::Date(int y,int m,int d){year=y;month=m;day=d;}Date::Date(Date &p){year=p.year;month=p.month;day=p.day;}//析构inline Date::~Date(){}//Date成员函数,设置出生年月日void Date::setDate(){int y,m,d;cout<<Input the year:;cin>>y;cout<<Input the month:;cin>>m;cout<<Input the day:;cin>>d;year=y;month=m;day=d;}//Date内联成员函数,输出年月日inline void Date::showDate(){潣瑵??物桴慤?獩尠?敹牡?年?洼湯桴?月?搼祡?日<<endl; }//People构造函数People::People(){};.精品文档People::People(char* n,char* nu,char* s,Date b,char* i) {strcpy(name,n);strcpy(number,nu);strcpy(sex,s);birthday=b;strcpy(id,i);}People::People(People &p){strcpy(name,);strcpy(number,p.number);birthday=p.birthday;strcpy(id,p.id);}//People析构inline People::~People(){}//People成员函数,设置各类数据void People::setName(){cout<<Please input the person's name:;cin.getline(name,11,'\n');}void People::setNumber(){cout<<Input number:;cin.getline(number,7,'\n');}void People::setSex(){cout<<Input sex:;cin.getline(sex,3,'\n');}void People::setId(){cout<<Input id:;cin.getline(id,16,'\n');}//People内联成员函数,输出人员信息inline void People::showPeople().精品文档cout<<Name:<<name<<endl;cout<<Number:<<number<<endl;cout<<Sex:<<sex<<endl;cout<<ID:<<id<<endl;}int main(){int i;char spaceA;//生成3个Date类型的对象Date date[3]={Date(0,0,0),Date(0,0,0),Date(0,0,0)}; //生成3个People类型的对象Peopleperson[3]={People(e[2],//设置这3个对象的各类信息for(i=0;i<3;i++){person[i].setName();person[i].setNumber();person[i].setSex();person[i].setId();date[i].setDate();spaceA=getchar();}//输出这3个对象的各类信息for(i=0;i<3;i++){person[i].showPeople();date[i].showDate();}return 0;}运行结果 6.1..精品文档2.3.4.5.精品文档.6.7..精品文档7.心得体会通过本次上机课,我对数组的理解进一步加深,并且学会了对字符串数据的组织和处理,能够运用字符串类对字符串进行直接的运算;并且进一步熟悉了标准C++库的使用和指针的使用方法;通过进一步的练习,对Debug的操作更加熟练;而且实践操作了利用指针和new.精品文档操作在堆区里开辟空间,然后利用delete释放空间,进一步加深了对不同类型存储空间的理解,提高了自己的实际操作能力。