圆等C++作业.docx
- 文档编号:29286768
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:13
- 大小:17.22KB
圆等C++作业.docx
《圆等C++作业.docx》由会员分享,可在线阅读,更多相关《圆等C++作业.docx(13页珍藏版)》请在冰豆网上搜索。
圆等C++作业
1.定义一个时钟类
#include
classClock
{public:
voidSetTime(intnewH,intnewM,intnewS);
voidShowTime();
private:
inthour,minute,second;
};
voidClock:
:
SetTime(intnewH=0,intnewM=0,intnewS=0)
{hour=newH;minute=newM;second=newS;
}
voidClock:
:
ShowTime()
{cout< "< "< } intmain() {inta,b,c; ClockmyClock; myClock.SetTime(); myClock.ShowTime(); cout<<"pleaseinputaclock"< cin>>a>>b>>c; myClock.SetTime(a,b,c); myClock.ShowTime(); } 2.定义一个圆类,计算圆的面积。 #include classCircle{ floatr; public: voidsetR(floatR); floatarea(); voidshowarea(); }; voidCircle: : setR(floatR) {r=R;} floatCircle: : area() {return3.14*r*r;} voidCircle: : showarea() {cout<<"圆的面积为: "< voidmain() {floata; Circlec; cin>>a; c.setR(a); c.showarea(); } 3.定义一个复数类,构造两个对象,分别调用两个成员函数,进行加减运算。 #include classcomplex{ private: floatreal,imag; public: voidsetcomplex(floatreal,floatimag); floatgetreal(); floatgetimag(); complexadd(complexcp1,complexcp2); complexplus(complexcp1,complexcp2); }; voidcomplex: : setcomplex(floatr,floati) {real=r;imag=i;} floatcomplex: : getreal(){returnreal;} floatcomplex: : getimag(){returnimag;} complexcomplex: : add(complexcp1,complexcp2) {complexcp3; cp3.setcomplex(cp1.getreal()+cp2.getreal(),cp1.getimag()+cp2.getimag()); returncp3; } complexcomplex: : plus(complexcp1,complexcp2) {complexcp3; cp3.setcomplex(cp1.getreal()-cp2.getreal(),cp1.getimag()-cp2.getimag()); returncp3; } voidmain() {complexcp1,cp2,cp3; cp1.setcomplex(5,6); cp2.setcomplex(3,4); cp3=cp3.add(cp1,cp2); cout<<"两个复数的和为: "< cp3=cp3.plus(cp1,cp2); cout<<"两个复数的差为: "< 4.设计一个用于人事管理的人员类,所有人员具有的属性有;编号、性别、出生日期、身份证号码等。 其中出生日期声明为一个日期类的对象。 用成员函数实现对人员信息的录入和显示。 #include #include classCWorker{ charname[10]; charstreet[30]; charcity[20]; charprovince[10]; charpost[10]; public: CWorker(char*pn,char*ps,char*pc,char*pp,char*ppost); voidChangeName(char*pn); voidDisplay(); }; CWorker: : CWorker(char*pn,char*ps,char*pc,char*pp,char*ppost) { strcpy(name,pn); strcpy(street,ps); strcpy(city,pc); strcpy(province,pp); strcpy(post,ppost); } voidCWorker: : ChangeName(char*pn) { strcpy(name,pn); } voidCWorker: : Display() { cout< } voidmain() { CWorkerworker("张三","科技路","西安市","陕西省","710054"); worker.Display(); worker.ChangeName("李四"); worker.Display();} 阶乘分之一求和 #include longfact(intx) {inty,a=1; for(y=1;y<=x;y++) a=a*y; returna;} floatsum(intn) {floatz,b=0;inta; for(a=1;a<=n;a++) {z=1.0/fact(a); b+=z;} returnb;} main() {intn;floats; cout<<"请输入一个数n: "; cin>>n; s=sum(n); cout<<"阶乘分之一求和为: "< 最大元素后面插入字符 #include #include main() {chara[3],charb[2],charc[5]; inti=0,j=0,k=0,m; cout<<"请输入字符a"< gets(a); cout<<"请输入字符串b"< gets(b); {if(a[i]>a[i+1]) i=m; if(i {for(i=0,k=0;i c[j++]=a[j];} else if(i {for(k,j=0;b[j]! ='\0';j++) c[k++]=b[j];} else {for(;a[i]! ='\0';i++) c[k++]=a[i];} else c[j]=strcat(a,b)}; puts(c);} C++期中作业 #include #include #include structstudent {intnum; charname[8]; floateng; floatC; floatmath; floatsum;}; voidget(students[],intn) {inti; for(i=0;i<5;i++) { cout<<"请输入第"< "< cout<<"学号: "; cin>>s[i].num; cout<<"英语: "; cin>>s[i].eng; cout<<"C: "; cin>>s[i].C; cout<<"math: "; cin>>s[i].math; cout<<"姓名: "; fflush(stdin); cin>>s[i].name;}} voidprint1(students[],intn) {inti; cout<<"学号"<<'\t'<<"姓名"<<'\t'<<"英语"<<'\t'<<"C"<<'\t'<<"数学"<<'\t'<<'\n'; for(i=0;i cout< voidprint2(students[],intn) {inti; cout<<"学号"<<'\t'<<"姓名"<<'\t'<<"总分"<<"\n"; for(i=0;i<5;i++) s[i].sum=s[i].C+s[i].eng+s[i].math; for(i=0;i<5;i++) cout< voidprint3(students[],intn) {inti,j; floatt; for(i=0;i<5;i++) s[i].sum=s[i].C+s[i].eng+s[i].math; for(j=0;j<5;j++) for(i=0;i<5-j;i++) if(s[i].sum>s[i+1].sum) {t=s[i].sum; s[i].sum=s[i+1].sum; s[i+1].sum=t;} cout<<"排序后的为: \n"; for(i=1;i<=5;i++) cout< cout< voidmain() { studentstu[5]; inta,d,c,i; chare[10]; for(;;) { cout<<"Welcometoenterthestudents'system"< cout<<"<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"< cout<<"| (1): 信息输入(INPUT)|"< cout<<"| (2): 显示信息(DISPLAY)|"< cout<<"|(3): 总分统计(COUNT)|"< cout<<"|(4): 总分排序(SORT)|"< cout<<"|(5): 查询(QUERT)|"< cout<<"---------执行区--------"< cout<<"请输入所要执行的命令: "; cin>>a; switch(a) {case1: get(stu,5);break; case2: print1(stu,5);break; case3: print2(stu,5);break; case4: print3(stu,5);break; case5: cout<<"请选择用学生的学号或姓名进行查询"< cout<<"1: 按学号查询"< cout<<"2: 按姓名查询"< cin>>c; switch(c) {case1: cout<<"请输入您要查询的学生学号"< cin>>d; for(i=0;i<5;i++) if(d==stu[i].num) {cout<<"您要查询的学生信息为"< cout<<"学号"<<'\t'<<"姓名"<<'\t'<<"英语"<<'\t'<<"C"<<'\t'<<"数学"<<'\t'<<"总分"<<'\t'<<'\n'; cout< case2: cout<<"请输入您要查询的学生姓名"< gets(e); for(i=0;i<5;i++) if(strcmp(e,stu[i].name)==0) {cout<<"您要查询的学生信息为"< cout<<"学号"<<'\t'<<"姓名"<<'\t'<<"英语"<<'\t'<<"C"<<'\t'<<"数学"<<'\t'<<"总分"<<'\t'<<'\n'; cout< } default: cout<<"您的输入有误,请重新输入"< } } 十进制转八进制(递归法) #include voidfuction(inta) { if(a==0) return; else { fuction(a/8); printf("%d",a%8); } } voidmain() { inta; printf("请输入一个10进制数: "); scanf("%d",&a); printf("\n转换后得到的8进制数: "); if(a==0) printf("%d",a); else fuction(a); printf("\n"); } 4.描述一个矩形类,计算它的周长、面积,并能改变矩形的大小。 #include classyuan{ private: floata; floatb; floats,l; public: voidarea(floatA,floatB) {a=A;b=B;s=a*b; l=2*(a+b);} voidshow() {cout< cout< }; voidmain() {yuany; floatc,d; cout<<"请输入矩形的边长为: "; cin>>c; cin>>d; y.area(c,d); y.show();} 6.创建一个CWorker类,其中的属性包括: 姓名、街道地址、城市、省和邮政编码。 将构造函数、ChangeName()、Display()的函数原型放在类内定义,其中构造函数初始化每个数据成员,ChangeName()用以更改姓名,Display()用于将完整的对象数据打印出来。 7.使用友元函数计算两点间的距离。 8.修改Point类,引入静态数据成员countP用于统计Point类的对象个数。 9.修改Point类,引入静态数据成员countP用于统计Point类的对象个数,用静态函数访问。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 作业