/*定义一个复数类,通过重载运算符:=、+=、-=、+、-、*、/、==、!=,直接实现两个复数之间的各种运算。编写一个完整的程序(包括测试各运算符的程序部分)。*/#includevoidWord(char*s);动态生成字符数组空间,用形参s来对其进行初始化。2.char&operaror[](intn)给下标值为n的数组元素赋值。下标运算符[]的重载关键是将下标值做为一个操作数。它的实现非常简单,就是用字符指针的首地址str加下标值n,然后将相加后的地址返回。3.voiddisp();实现将字符指针str指向的字符串输出到屏幕上。4.用~Word()析构函数来释放动态申请的堆空间。*/#include#includeclassWord{private:char*str;intlen;public:Word(char*s)*//*编写一个程序,输入N个学生数据,包括学号、姓名、C++成绩,要求输出这些学生的数据、平均分与成绩等级。提示:设计一个学生类Stud,除了包括id(学号)、name(姓名)和C(成绩)数据成员外,还有两个静态成员数据sum和num,分别存放总分和人数,另有两个普通成员函数setdata()和print(),分别用于给数据成员赋值和输出数据成员的值,另有一个静态成员函数avg(),它用于计算平均分,并输出平均分。同时设计一个友元函数,输出成绩对应的等级:大于等于90:优;80~90:良;70~79:中;60~69:及格;小于60:不及格。在main()函数中定义了一个对象数组用于存储输入的学生数据,设计一个完整的程序。*/#include#include#includeclassStud{intid;char*name;intcpp;public:staticfloatsum,num;etdata(name,id,cpp);}for(i=0;in;i++){pstu[i].print();printgrade(pstu[i]);}coutStud::num个学生平均分:Stud::avg()endl;}/*1.实现描述超市的的类Suppermacket类,记录系统中现有商品(用指针实现),定义增加商品的函数Append,删除商品的函数Delete,查询商品的函数Query,并显示查询结果;2.定义商品类Goods,具有商品名称Name,商品价格Price,商品数量number等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。3.编写main函数,测试以上所要求的各种功能,完成商品的增加、删除和查询商品,以及商品销售和商品上架的操作。4.可以利用对象成员来实现。*/#include#includeclassSuppermacket;classGoods{floatPrice;intnumber;charName[10];public:Goods(){Add();};voidSale();voidAdd();voidShowMe();friendSuppermacket;friendvoidSale(Suppermacket&);};classSuppermacket{Goods*PGoods[10];public:Suppermacket(){for(inti=0;i10;i++)PGoods[i]=0;}voidAppend();voidDelete();voidQuery();friendvoidSale(Suppermacket&);};voidSale(Suppermacket&Goods);voidmain(){SuppermacketGoods;();();();();();Sale(Goods);}voidGoods::Sale(){intn;ShowMe();cout请输入购买的商品数量:;cinn;if(numbern)number-=n;elsecout货物数量不足!;}voidGoods::Add(){cout请输入新上架商品的名称,单价和数量:;cinNamePricenumber;}voidGoods::ShowMe(){cout品名:Name数量:number单价:Priceendl;}voidSuppermacket::Append(){intn=0;while(PGoods[n]!=0&&n10)n++;if(n10)PGoods[n]=newGoods;}voidSuppermacket::Delete(){charname[10];cout请输入待删除的商品名称:;cinname;for(inti=0;i10;i++){if(PGoods[i]==0)continue;if(strcmp(PGoods[i]-Name,name)==0)break;}if(i10){cout删除name商品\n;deletePGoods[i];PGoods[i]=0;}elsecout没有此类商品!\n;}voidSuppermacket::Query(){charname[10];cout请输入待查询的商品名称:;cinname;for(inti=0;i10;i++){if(PGoods[i]==0)continue;if(strcmp(PGoods[i]-Name,name)==0)break;}if(i=10){cout没有此类商品!\n;elsePGoods[i]-ShowMe();}voidSale(Suppermacket&Goods){charname[10];inti=0;cout请输入待买的商品名称:;cinname;while(i10){if[i]==0){i++;continue;}if(strcmp[i]-Name,name)==0)break;i++;}if(i=10)cout没有此类商品!\n;else[i]-Sale();}/*【程序功能】找出给定范围内的和亲数。对于两个正整数,如果其中的一个整数是另一个整数的全部真因子之和,反之亦然,则称这两个数为和亲数。例如,220有真因子1,2,4,5,10,11,20,22,44,55,110,其和为284,而284有真因子1,2,4,71,142,其和为220,因此220和284就是一对和亲数。【编程要求】1.试建立一个类NNM私有数据成员intn1,n2;【要求】试建立一个类Student用于描述学生信息,具体要求如下:私有数据成员intid:学生学号。charyuwen:语文成绩(五级分制:A、B、C、D和E,其它无效)。floatshuxue:数学成绩(百分制)。公有成员函数1)缺省构造函数:初始化数据成员为0或NULL值。2)带参构造函数:用参数初始化数据成员(需判断参数是否有效)。3)voidPrint():输出本对象的学号、语文成绩(优,良,中,及格,不及格)和数学成绩。4)修改函数voidChange():从键盘输入新的学号、语文成绩和数学成绩,修改相应数据成员的值。接受输入前屏幕上显示提示输入哪些信息。5)比较函数voidComp(Student&a,Student&b):比较本学生、a学生和b学生的数学成绩,找出数学成绩最高和最低的学生,输出他们的信息。主程序:定义三个以上的对象,并且每个成员函数至少被调用一次。*/#includeclassStudent{intid;实现描述超市的的类Suppermacket类,记录系统中现有商品(用指针实现),定义增加商品的函数Append,删除商品的函数Delete,查询商品的函数Query,显示查询结果;2.定义商品类Goods,具有商品名称Name,商品价格Price,商品数量number等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。3.编写main函数,测试以上所要求的各种功能,完成商品的增加、删除和查询商品,以及商品销售和商品上架的操作。4.可以利用对象成员来实现。*/#include#includeclassSuppermacket;classGoods{charname[10];intPrice;intnumber;public:Goods(){strcpy(name,);Price=0;number=0;}voidSale(intn);voidAdd();voidShowME(){cout商品:name,价格:Price,有number件。\n\n;};friendSuppermacket;};classSuppermacket{Goods*PGoods;intnum;public:Suppermacket(intn=10){PGoods=newGoods[n];num=n;}voidAppend();voidDelete();voidQuery();~Suppermacket(){delete[]PGoods;}};voidmain(){SuppermacketA(3);();();();();}voidSuppermacket::Append(){for(inti=0;inum;i++){if(PGoods[i].number==0){PGoods[i].Add();PGoods[i].ShowME();return;}}cout没有空货架上货了!\n;}voidSuppermacket::Delete(){charname[10];intn;cout请输入需要销售商品名称和数量:;cinnamen;for(inti=0;inum;i++){if(strcmp(PGoods[i].name,name)==0){PGoods[i].Sale(n);return;}}cout查无此商品!\n;}voidSuppermacket::Query(){charname[10];cout请输入需要查询的商品名称;;cinname;for(inti=0;inum;i++){if(strcmp(PGoods[i].name,name)==0){PGoods[i].ShowME();return;}}cout查无此商品!\n;}voidGoods::Sale(intn){if(nnumber){number-=n;ShowME();}elsecout商品数量不够,无法销售!\n;}voidGoods::Add(){cout请输入上架的商品名称、价格及数量:;cinnamePricenumber;}/*1.建立一个类NUM,求指定范围内的所有素数(质数)。具体要求如下:1)私有数据成员。intdata[25];依次存放指定范围内的所有素数。intspanl,span2;存放要求计算的素数的范围。intnum;存放span1与span2之间的素数个数。2)公有成员函数。构造函数NUM(inta,intb);初始化所要求的素数的范围span1、span2及num(值为0)。voidprocess():求出指定范围内的所有素数,把它们依次存放在数组data中,并将求出的素数的个数赋给num。voidprint():输出求出的所有素数。3)在主程序中对该类进行测试。使用测试数据span1=100,span2=200。即求100~200之间的所有素数。*/#include#includeclassNUM{intdata[25];put(8,'P');B.put(15,'H');B.put(40,'F');调用函数display输出对象A和B的全部数据。3)调用函数put和get为对象A和B做存储和取出操作:B.get('H');B.put(40,'F');A.g