
C++
STRUGGLE_xlf
这个作者很懒,什么都没留下…
展开
-
2020-11-24
定义一个"数据类型" datatype类,能处理包含字符型、整型、浮点型三种类型的数据,给出其构造函数。#include <iostream>using namespace std;class datatype{ enum{ character, integer, floating_point }vartype; union { char c; int i; float f; };public: datatype(char ch){ vartype原创 2020-11-24 23:02:36 · 280 阅读 · 0 评论 -
2020-11-24
已有点类Point定义,定义一个矩形类,有左下角,右上角两个点,面积,周长属性,面积,周长由左下角,右上角两个点决定;有成员函数有(1)构造函数(2)返回矩形的面积(3)返回周长(提示:用类组合实现)#include <iostream>using namespace std;class Point{public: Point(int xx=0,int yy=0){X=xx;Y=yy;}//构造函数 Point(Point& p);//拷贝构造函数 int GetX()原创 2020-11-24 22:49:01 · 109 阅读 · 0 评论 -
2020-11-24
定义一个矩形类,有长、宽两个属性,有成员函数计算矩形的面积#include <iostream>using namespace std;class Rectangle{public: Rectangle(float len,float width) { Length=len; Width=width; } ~Rectangle(){}; float GetArea(){return Length *Width;} float GetLength(){return L原创 2020-11-24 22:21:09 · 253 阅读 · 0 评论 -
2020-11-23
设计并测试一个名为Rectangle的矩形类,其属性为矩形的左下角与右上角两个点的坐标,能计算矩形的面积。#include <iostream>using namespace std;class Rectangle{public: Rectangle(int top,int left,int bottom,int right); ~Rectangle(){} int GetTop()const{return itsTop;} int GetLeft()const{return原创 2020-11-23 23:04:30 · 105 阅读 · 0 评论 -
2020-11-23
定义一个Dog 类,包含的age、weight等属性,以及对这些属性操作的方法。实现并测试这个类。#include <iostream>using namespace std;class Dog{public: Dog(int initialAge =0,int initialWeight =5); ~Dog(); int GetAge(){return itsAge;} void SetAge(int age){itsAge =age;} int GetWeight() {原创 2020-11-23 22:49:25 · 167 阅读 · 0 评论 -
2020-11-22
编写函数求两个整数的最大公约数和最小公倍数。#include <iostream>#include <cmath>using namespace std;int fn1(int i,int j);void main(){ int i,j,x,y; cout<<"请输入一个正整数:"; cin>>i; cout<<"请输入另一个整数:"; cin>>j; x=fn1(i,j); y=i*j/x; cout<原创 2020-11-22 23:08:21 · 87 阅读 · 0 评论 -
2020-11-22
编写函数判断一个数是否是质数,在主程序中实现输入、输出。#include <iostream>#include <cmath>using namespace std;int prime(int i); //判一个数是否是质数的函数void main(){int i;cout << "请输入一个整数:";cin >> i;if (prime(i))cout << i << "是质数." << endl;原创 2020-11-22 22:55:06 · 100 阅读 · 0 评论 -
2020-11-22
定义枚举类型weekday,包括Sunday到Saturday七个数据元素在程序中定义weekday类型的变量,对其赋值,定义整形变量,看看能否对其赋weekday类型的值。#include <iostream>using namespace std;enum weekday{ Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};void main(){ int i; weekday d=原创 2020-11-22 22:46:23 · 326 阅读 · 0 评论 -
2020-11-22
用穷举法找出1-100间的质数,显示出来。分别使用while,do-while,for循环语句实现#include <iostream>#include <cmath>using namespace std;void main(){ int i,j,k,flag; i=2; while(i<=100) { flag=1; k=sqrt(i*1.0); j=2; while(j<=k) { if(i%j==0) {原创 2020-11-22 22:36:00 · 71 阅读 · 0 评论 -
2020-11-22
#include <iostream>using namespace std;class Shape{public: virtual double area( )const=0;};class Circle:public Shape{public: Circle(double r):radius(r){} virtual double area()const{return 3.14159*radius*radius;}protected: double radius;原创 2020-11-22 06:41:30 · 178 阅读 · 0 评论 -
2020-11-21
编写一个程序,声明抽象基类Shape,由它派生出三个派生类:Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积,3个图形的数据表在定义对象时给定。#include <iostream>using namespace std;class Shape{public: virtual double area( )const=0;};class Circle:public Shape{public: Ci原创 2020-11-21 23:22:19 · 115 阅读 · 0 评论 -
2020-11-20
分别声明Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求:(1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包括数据成员post(职务)。在Teacher_Cadre类中还包括数据成员wages(工资)。(3)对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。(4)在类体中声明成员函数原创 2020-11-20 23:15:56 · 120 阅读 · 0 评论 -
2020-11-20
定义一个Teacher类和一个Student类,二者有一部分数据成员是相同的,例如num,name,sex。编写程序,将一个Student对象转换为Teacher类,只将以上3个相同的数据成员移植过去。可以设想为:一位大学生大学毕业了,留任担任教师,他原有的部分数据对现在的教师身份来说仍然是相同的,应当保留并成为其教师数据的一部分。#include <iostream>using namespace std;class Student{public: Student(int,char原创 2020-11-20 07:17:54 · 177 阅读 · 0 评论 -
2020-11-20
请编写一程序,处理一个复数与一个double数相加的运算,结果存放在一个double类型的变量中,输出d1的值,再以复数形式输出此值。定义Complex类,在成员函数中包含重载类型转换运算符:#include <iostream>using namespace std;class Complex{public: Complex(){real=0;imag=0;} Complex(double r){real=r;imag=0;} Complex(double r,double i原创 2020-11-20 06:32:16 · 78 阅读 · 0 评论 -
2020-11-19
在第四题的基础上,重载流插入运算符“<<”和流提取运算符“>>”,使之能用于该矩阵的输入和输出。#include <iostream>using namespace std;class Matrix{public: Matrix(); friend Matrix operator+(Matrix &,Matrix &); friend ostream& operator<<(ostream&,Matrix&原创 2020-11-19 22:44:58 · 126 阅读 · 0 评论 -
2020-11-18
有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加(如c=a+b)#include <iostream>using namespace std;class Matrix{public: Matrix(); friend Matrix operator+(Matrix &,Matrix &); void input(); void display();private: int mat[2][3];};Matrix::Mat原创 2020-11-18 22:53:29 · 129 阅读 · 0 评论 -
2020-11-18
定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意。例如,c1+c2,i+c1,c1+i均合法(设i为整数,c1,c2为复数)。编写程序,分别求两个复数之和、整数和复数之和。#include <iostream>using namespace std;class Complex{public: Complex(){real=0;imag=0;} Complex (double r,doubl原创 2020-11-18 22:30:39 · 90 阅读 · 0 评论 -
2020-11-18
定义一个复数类Complex,重载运算符“+”,“-”,“*”,“/”,使之能用于复数的加、减、乘、除。运算符重载函数作为Complex类的成员函数。编写程序,分别求两个复数之和、差、积和商。#include <iostream>using namespace std;class Complex{public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} Complex operator原创 2020-11-18 22:05:35 · 129 阅读 · 0 评论 -
2020-11-18
定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。将运算符函数重载为非成员、非友元的普通函数。编写程序,求两个复数之和。#include <iostream>using namespace std;class Complex{public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} double get_real(); double get_imag();原创 2020-11-18 07:13:44 · 194 阅读 · 0 评论 -
2020-11-18
商品销售某一商品,每天公布统一的折扣。同时允许销售人员在销售时灵活掌握售价,在此基础上,一次购买10件以上者,还可以享受9.8折优惠。现已知每天3个销货员的销售情况为销货员号 销货件数 销货单价101 5 23.5102 12原创 2020-11-18 06:53:47 · 156 阅读 · 0 评论 -
2020-11-17
建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找到5个学生成绩最高者,并输出其学号。#include <iostream>using namespace std;class Student{public: Student(int n,float s):num(n),score(s){} int num; float score;};int main(){ Student stud[5]={Student(原创 2020-11-17 22:59:21 · 104 阅读 · 0 评论 -
2020-11-17
建立一个对象数组,内放5个学生的数据(学号、成绩),用指针指向数组首元素,输出第1,3,5个学生的数据。#include <iostream>using namespace std;class Student{public: Student(int n,float s):num(n),score(s){} void display();private: int num; float score;};void Student::display(){cout<<原创 2020-11-17 22:47:15 · 87 阅读 · 0 评论 -
2020-11-17
需要求3个长方柱的体积,请编写一个基于对象的程序。数据成员包括length(长)、width(宽)、height(高)。要求用成员函数实现以下功能:(1)由键盘分别输入3个长方柱的长、宽、高;(2)计算长方柱的体积;(3)输出三个长方体的体积。#include <iostream>using namespace std;class Box{public: void get_value(); float volume(); void display();public: flo原创 2020-11-17 22:31:11 · 194 阅读 · 0 评论 -
2020-11-15
#include <iostream>using namespace std;class Time{public: void set_time(void); void show_time(void);private: int hour; int minute; int sec;};void Time::set_time(void){ cin>>hour; cin>>minute; cin>>sec;}void Time::s原创 2020-11-15 22:56:14 · 214 阅读 · 0 评论 -
2020-11-15
**#include <iostream>using namespace std;class Time{public: int hour; int minute; int sec;};Time t;void set_time(void){ cin>>t.hour; cin>>t.minute; cin>>t.sec;}void show_time(void){ cout<<t.hour<<":"<原创 2020-11-15 22:37:14 · 95 阅读 · 0 评论 -
2020-11-14
在主函数中输入10个不等长的字符串。用另一函数对他们排序。然后在主函数输出这10个已排好的字符串。#include <iostream>#include <string>using namespace std;int main(){ void sort(string *); int i; string str[10],*p=str; cout<<"input 10 strings:"<<endl; for(i=0;i<10;i++)原创 2020-11-14 22:54:27 · 91 阅读 · 0 评论 -
2020-11-14
将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(按从左到右、从上到下顺序依次从小到大存放),编写一函数来实现。用main函数调用。#include <iostream>using namespace std;int main(){ void change(int *p); int a[5][5],*p,i,j; cout<<"input matrix:"<<endl; for(i=0;i<5;i++) {for(j=0;j&l原创 2020-11-14 22:42:06 · 164 阅读 · 0 评论 -
2020-11-13
有一字符串,包含n个字符。编写一函数,将此字符串中从第m个字符开始的全部字符串复制成另一个字符串。#include <iostream>using namespace std;int main(){ void copystr(char *,char *,int); int m; char str1[20],str2[20]; cout<<"input string:"; gets(str1); cout<<"which character do you原创 2020-11-13 23:30:58 · 72 阅读 · 0 评论 -
2020-11-13
编写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度#include <iostream>using namespace std;int main(){ int length(char *p); int len; char str[20]; cout<<"input string:"; cin>>str; len=length(str); cout<<"The length of string is "<<原创 2020-11-13 23:19:23 · 74 阅读 · 0 评论 -
2020-11-13
有n个人围成一圈,排序排号。从第1个人开始报数(从1-3报数),凡是报到3的人退出圈子,问最后留下的人原来排在第几号。#include <iostream>using namespace std;int main(){ int i,k,m,n,num[50],*p; cout<<"input number of person:n="; cin>>n; p=num; for(i=0;i<n;i++) *(p+i)=i+1; i=0; k=0;原创 2020-11-13 23:13:23 · 126 阅读 · 0 评论 -
2020-11-13
有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,写一函数实现以上功能,在主函数中输入n个整数,输出调整后的n个数。#include <iostream>using namespace std;int main(){ void move(int*,int,int); int number[20],n,m,i; cout<<"how many numbers?"; cin>>n; cout<<"input "<<原创 2020-11-13 22:51:54 · 89 阅读 · 0 评论 -
2020-11-13
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。编写三个函数:1、输入10个整数;2、进行处理;3、输出10个数。#include <iostream>using namespace std;int main(){ void input(int *number); void max_min_value(int *number); void output(int *number); int number[10]; input(number); max_原创 2020-11-13 07:42:44 · 82 阅读 · 0 评论 -
2020-11-12
输入三个整数,按由小的顺序输出。#include <iostream>using namespace std;int main(){ void swap(int *p1,int *p2); int n1,n2,n3; int *p1,*p2,*p3; cout<<"input three intrgers n1,n2,n3:"; cin>>n1>>n2>>n3; p1=&n1; p2=&n2; p3=&原创 2020-11-12 07:43:24 · 79 阅读 · 0 评论 -
2020-11-12
输入10个学生的姓名、学号和成绩,将其中不及格者的姓名、学号和成绩输出。#include <iostream>#include <string>using namespace std;const int n=10;string name[n];int num[n],score[n];int main(){ int i; void input_data(); input_data(); cout<<endl<<"The list fail原创 2020-11-12 07:36:37 · 83 阅读 · 0 评论 -
2020-11-12
输入n个字符串,把其中以字母A打头的字符串输出。#include <iostream>#include <string>using namespace std;int main(){ const int n=5; string str; for(int i=0;i<n;i++) { cout<<"please input string:"; cin>>str; if(str[0]=='A') cout<<s原创 2020-11-12 07:14:07 · 110 阅读 · 0 评论 -
2020-11-12
输入n个字符串,将他们按照字母由小到大的顺序排列并输出。#include <iostream>#include <string>using namespace std;int main(){ const int n=5; int i,j; string str[n],temp; cout<<"please input strings:"<<endl; for(i=0;i<n;i++) { cin>>str[i];原创 2020-11-12 07:08:41 · 85 阅读 · 0 评论 -
2020-11-11
编写一程序,将两个字符串连接起来,结果取代第一个字符串。#include <iostream>using namespace std;int main(){ char s1[80],s2[40]; cout<<"input string1:"; cin>>s1; cout<<"input string2:"; cin>>s2; strcat(s1,s2); cout<<"The new string is:"<原创 2020-11-11 22:58:25 · 82 阅读 · 0 评论 -
2020-11-11
有一行电文,将第1个字母变成第26个字母,第i个字母变成(26-i+1)个字母…非字母字符不变。要求编程序将密码译回原文,并打印出密码和原文。#include <iostream>using namespace std;int main(){ int j,n; char ch[80],tran[80]; cout<<"input cipher code:"; gets(ch); cout<<"cipher code:"<<ch<<原创 2020-11-11 22:53:50 · 106 阅读 · 0 评论 -
2020-11-11
#include <iostream>#include <string>using namespace std;int main(){ string stars="*****"; int i,j; for(i=0;i<5;i++) { cout<<" "; for(j=1;j<=i;j++) cout<<" "; cout<<stars<<endl; } return 0;}原创 2020-11-11 07:41:29 · 85 阅读 · 0 评论 -
2020-11-10
#include <iostream>using namespace std;int main(){ char a[5]={'*','*','*','*','*'}; int i,j,k; const char space=' '; for(i=0;i<5;i++) { cout<<endl; cout<<" "; for(j=1;j<=i;j++) cout<<space; for(k=0;k<5原创 2020-11-10 22:57:07 · 90 阅读 · 0 评论