![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++实验
文章平均质量分 65
满月hzy
这个作者很懒,什么都没留下…
展开
-
c++实验6-C(1785)成绩排序
Student类的对象A和B的大小关系,A>B定义为A.score>B.score,或者A.score=B.score但A.name<B.name。1.c++ 不允许用null来初始化string或者给string赋null,如果你有个方法需要返回null要用c风格的字符串char* 它允许用null赋值或初始化。输出为M行,按照从大到小的顺序依次输出每个学生的成绩、姓名。5.重载运算符<<用于输出学生信息:先输出成绩再输出姓名,中间用一个空格隔开。第一部分是学生姓名,第二部分是学生成绩。原创 2024-01-04 21:34:28 · 387 阅读 · 0 评论 -
c++实验6-A(1829)新奇的加法运算
考虑类属性用整型数组,但因类的属性定义为整型数组时不好进行从右开始的各位相加,若类属性不用数组,将各位和存入数组并返回的话,运算符重载返回整型数与main函数中c的类型矛盾,综上所述,不用整型数组。2. 重载运算符“+”。计算规则为:将A、B对应位置上的数字相加,只保留个位数作为结果的对应位置上的数字。注意:该运算不改变两个操作数的值。通过乘10的次方将得到的各位数和化为一个整数并返回int型,或将得到的整数赋值给类对象c的属性c.x,返回类对象c。3. 重载输入和输出运算符,用于输入和输出对象的属性值。原创 2024-01-02 16:41:33 · 365 阅读 · 0 评论 -
c++实验3-A(2048)类的初体验
2. double getValue()——获得属性值。3. void showValue()——显示属性值。输出输入的值2次,每次占一行。一个double类型的数值。原创 2023-06-18 13:33:31 · 79 阅读 · 0 评论 -
c++实验3-E(1817)字符的变化
3. Character toUpper():如果当前字符是英文小写字母时,则变为相应的大写字母;否则保持当前字符不变。注意:不要改变当前对象的属性值。4. Character toLower():如果当前字符是英文大写字母时,则变为相应的小写字母;否则保持当前字符不变。注意:不要改变当前对象的属性值。5. void show():显示当前字符,不输出换行。2.构造函数Character(char)。第1行N>0表示有N个测试用例。1. char类型的数据成员。每个测试用例只有1个字符。原创 2023-06-18 14:57:38 · 86 阅读 · 0 评论 -
c++实验2-B(1279)重载函数:max
输出2个数,每个数占一行。第一个数对应于输入的两个整数的最大值,第二个数对应于输入的两个实数的最大值。编写两个名为max的函数,它们是重载函数 ,用于求两个整数或实数的最大值。输入4个数,前两个数是int类型的整数,后2个数是double类型的实数。返回值是a和b的最大值。原创 2023-06-17 20:34:21 · 156 阅读 · 0 评论 -
c++实验6-C(1785)成绩排序
Student类的对象A和B的大小关系,A>B定义为A.score>B.score,或者A.score=B.score但A.name原创 2023-07-03 14:00:15 · 73 阅读 · 0 评论 -
c++实验4-B(1775)克隆人来了
所以,现在由你来编写一个Person类,来模拟其中的克隆过程。这个类具有2个属性:name——姓名(char*类型),和age——年龄(int类型)。输入分多行,第一行是一个正整数N,表示其后有N行输入。每行分两部分:第一部分是一个没有空白符的字符串,表示一个人的姓名;2. Person& Person::setName(char *):设定人的姓名。注意:要根据样例编写相应函数中的输出语句,注意格式哦!3. Person& Person::setAge(int):设定人的年龄。注意:输出中有“”!原创 2023-06-18 20:22:50 · 95 阅读 · 0 评论 -
c++实验6-B(1784)整型数组运算符重载
相等包括两种情况:(1)两个对象是同一个对象,即它们拥有相同的地址(记住: this指针指向当前对象,是当前对象的地址);(2)两个对象的length相同,且mems中对应元素的值相同。自第二行开始,首先输出对应的数组元素(两两之间用空格隔开,首尾不能有空格),如果数组为空,则不输出元素。之后根据这个数组与上个数组是否相同,输出“unequal to above.”(不相等)和“equal to above”(相等)。每个数组是一行,其中第一个非负整数N表示该数组的元素个数,之后有N个整数。原创 2023-07-02 15:40:12 · 44 阅读 · 0 评论 -
c++实验5-A(1826)字符构成的图形
当指定的层数为正数时,输出每层字符个数自上到下依次递增且靠左对齐的直角三角形。当指定的层数为负数时,输出每层字符个数自上而下依次递减其靠左对齐的直角三角形。定义CharGraph类,用于输出一个由指定字符组成的图形。3. void print()方法,用于根据指定格式输出字符图形。2. 一个char类型的数据成员,表示组成该图的字符。1. 一个int类型数据成员,表示该图形的层数。每个测试用例的输入由一个非负整数和一个字符组成。第1行N>0,表示有N个测试用例。当指定的层数为0时,输出一个空行。原创 2023-06-20 20:23:19 · 64 阅读 · 0 评论 -
c++实验5-D(1779)质心算法
但是在g++编译器(也就是大家常用的code::blocks所用的编译器)中,当函数返回的对象给另一个对象进行赋值时,如果函数返回值是一个局部变量,则不会调用拷贝构造函数。即:假定N个点的坐标分别(x1,y1),(x2,y2),......,则质心的坐标为((x1+x2+...)/N, (y1+y2+...)/N)。比如对于一个未知坐标的点A,假定已知A点与N个点相邻,且已知N个相邻点的坐标,则可取N个点的质心作为A点坐标的一个估计值。第一行N>0表示有N个点,之后是N个点的横坐标和纵坐标,每个点占一行。原创 2023-06-23 16:50:22 · 66 阅读 · 0 评论 -
c++实验4-D(2192)类型可变的类
定义一个Data类,至少包含1个int类型的数据成员、1个double类型的数据成员,定义其构造函数和析构函数,使得程序执行时,能产生样例所示的结果。当无法直接通过变量类型来实现判断语句时,考虑另设一个变量n,在不同函数中赋不同值,再通过判断变量n的值来实现判断语句输出不同结果。输入2行,第1行是1个int类型的数据,第2行是1个double类型的数据。原创 2023-06-18 21:09:37 · 80 阅读 · 0 评论 -
c++实验4-A(1818)一切皆对象
一切都是对象 —— Everything is an object。所以,现在定义一个类Thing,来描述世界上所有有名字的事物。该类只有构造函数、拷贝构造函数和析构函数,并具有一个字符串数据成员来存储其名字。输入只有1行,是一个没有空白符的字符串。2.关于c++中字符串复制和strcpy。,只需指定它或使用其复制构造函数即可。1.1.使用字符串赋值运算符。- 因为这不起作用)原创 2023-06-18 15:46:32 · 61 阅读 · 0 评论 -
c++实验2-A(1382)编写函数:三个数的最大最小值
因get_num()和max_min()在main()函数外,故通过引用或指针来达到改形参值后传回实参的目的。这里不给出函数原型,请通过main()函数自行确定。输入的第一个整数n,表示有n组测试数据,每组3个整数:a,b,c。a,b,c都在int类型范围内。每组测试数据对应输出一行:为a,b,c的最大值和最小值,格式见sample。max_min()的功能是求出a,b,c的最大值和最小值。get_num()的功能是读取输入的三个整数a,b,c;给出三个数a,b,c,最大值是?原创 2023-06-17 20:28:56 · 76 阅读 · 0 评论 -
c++实验9-A(2077)动物要吃饭
每个输入对应一行输出,0、1、2、3分别代表Dog、Cat、Sheep、Chicken。定义Dog、Cat、Sheep、Chicken四个类,它们都是Animal的子类。每个类重载eat方法,每个方法输出的内容见样例。定义Animal类,只有一个纯虚函数eat。一系列0~3之内的整数。原创 2023-10-03 20:38:43 · 158 阅读 · 0 评论 -
c++实验5-E(1812)重载字符的加减法
输出有N行,每行输入对应一行输出,每行输出包括对应输入字符之后的第n个字符,以及该字符之前的第n个字符。如样例中第2个用例输入字符是“a”,整数是“1”,那么“a”之后的第1个字符是”b“,"a"之前的第1个字符是”z“;注意:输入的整数可能是负数。重载它的+、-、运算符,其中+、-的第二个操作数是int类型的整数n。“+”用于返回以当前字符之后的第n个字符为属性值的对象,“-”用于返回当前字符之前的第n个字符为属性值的对象。定义一个字符类Character,只有一个char类型的数据成员。原创 2023-06-25 14:44:49 · 114 阅读 · 0 评论 -
c++实验5-B(1776)我们来做个Student类吧
第一行包含3个正整数M,N和P:其中M表明之后输入的测试用例数量;P表示学生学习的课程的数量。3.void Student::showStudent()方法:用于输出学生的信息。注意:所有的输出两两之间用一个空格隔开,且每行输出的首尾都没有空格。之后有M行,包含一个学生姓名(没有任何空白符)、P门课程的成绩。2.int numOfScores:课程数量。3.int *scores:所有课程的成绩。1.char *name:姓名。请根据样例输出,写出该类的实现。4.int id:学生的编号。原创 2023-06-20 21:05:17 · 57 阅读 · 0 评论 -
c++实验4-E(2196)计算机类
2. setName(char*):用于修改当前对象的name属性为形参指定的串,并返回当前对象。2. 静态整型属性cnt,用于记录产生的计算机对象的个数。3. print()方法,用于输出当前对象的name属性。1. 字符串属性name,用于表示计算机的名字。4. getCnt()方法,用于返回cnt的值。1. 构造函数和拷贝构造函数以及析构函数。输入只有一行,是一个不含空白符的字符串。char*与string;不得使用string。原创 2023-06-18 21:40:45 · 74 阅读 · 0 评论 -
c++实验6-D(1786)动物爱好者
(3)重载的下标运算符[],int operator[](string name),用于返回参数name指定名称的动物的数量,当不存在这种动物时,返回-1。(1)Animal *animalList和int numOfAnimal属性,用于表示该人豢养的所有动物的列表以及动物的种类数。第一行M>0表示有M种动物,之后有M行,每行第一个字符串表示动物名称,第二个整数是该种动物的数量。之后一个N>0表示有N个测试用的动物名称,之后又有N行,每行是一个动物名。某人是一个狂热的动物爱好者,豢养了大量的各种动物。原创 2023-07-03 16:44:02 · 130 阅读 · 0 评论 -
c++实验5-C(1813)判断两个圆之间的关系
1.友元类:在class a中定义friend class b即b是a的友元(b可以访问a中所有成员,包括private,public,protected),但不代表a是b的友元;定义Circle类,包括Point类的对象和一个double类型的数据作为其属性,分别表示圆心坐标及半径;定义Point类,包括double类型的两个属性,分别表示二维空间中一个点的横纵坐标;外离与内含均指两个圆没有任何交点,但内含是指一个圆完全包含在另一个的内部,否则便是外离。第2行是第2个圆的位置和半径。原创 2023-06-23 14:53:14 · 158 阅读 · 0 评论 -
c++实验3-B(2049)类的初体验(II)
2. double getValue()——获得属性值。3. void showValue()——显示属性值。1. 带1个参数的构造函数——初始化属性值为参数值。输出输入的值2次,每次占一行。一个double类型的数值。原创 2023-06-18 13:42:58 · 48 阅读 · 0 评论 -
c++实验2-E(1107)Swap (I)
以上函数的调用格式见“Append Code”。这里不给出函数原型,它们的参数请通过main()函数自行确定。用C实现三个函数int_swap()、dbl_swap()、SWAP(),其中SWAP()是个带参宏。编写用来交换两个数的函数,使得“Append Code”中的main()函数能正确运行。“Append Code”中用到的头文件、全局变量或宏的定义应自行补充。输出为4行,每行2个数。每行输出的两数为每行输入的逆序。用C++实现两个函数,都以Swap()命名。输入为4行,每行2个数。原创 2023-06-17 21:02:35 · 89 阅读 · 0 评论 -
c++实验4-C(1772)一元二次方程类
定义一个表示一元二次方程的类Equation,该类至少具有以下3个数据成员:a、b和c,用于表示方程“a*x*x + b*x +c = 0”。fixed操纵符的作用会一直持续到下一个操纵符出现为止,因此如果要输出多个浮点数并对它们设置相同的小数点后位数,只需要使用一次fixed即可。2. 输出的两个根按照从大到小的顺序输出,两个根之间用一个空格隔开,而且每个根必须且仅能保留2位小数,即使小数部分为0。输入有若干行,每行有3个实数,分别为方程“a*x*x + b*x + c = 0”中的系数a、b、c。原创 2023-06-18 20:55:51 · 101 阅读 · 0 评论 -
c++实验2-D(1381)求(x-y+z)*2
输入的测试数据为多组。每组测试数据的第一个数是n(1原创 2023-06-17 20:43:30 · 59 阅读 · 0 评论 -
c++实验2-C(1280)默认参数:求圆面积
当调用函数时指定参数r,则求半径为r的圆的面积;否则求半径为1的圆面积。第一行是以输入数值为半径的圆面积,第二行是半径为1的圆面积。编写一个带默认值的函数,用于求圆面积。其中,PI取值3.14。一个实数,是圆的半径。原创 2023-06-17 20:38:44 · 79 阅读 · 0 评论 -
c++实验3-C(2050)类的初体验(III)
2. 带参构造函数,将属性初始化为指定参数,并输出“Initialize a data #”,其中“#”即参数值。1. 缺省构造函数,将属性初始化为0,并输出“Initialize a data 0”。2. double getValue()——获得属性值。3. void showValue()——显示属性值。一个double类型的数值。原创 2023-06-18 13:46:09 · 84 阅读 · 0 评论