C++大作业报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

C++大作业报告班级姓名总学号一题目:2—1内容:用三种循环语句完成求100以内的质数设计思路:1既不是质数也不是合数,所以直接从2考虑。找出来这些数字就是要保证这个数只能让1和其本身整除,所以让这个数先除以2,然后慢慢整除其小于除以2后的数,然后输出这些数。程序代码:while循环#includeiostreamusingnamespacestd;intmain(){inti=2;intj,n,m;while(i101){m=1;n=i/2;j=2;while(j=n){if(i%j==0){m=0;break;}j++;}if(m)coutiendl;i++;}return0;}Dowhile循环#includeiostreamusingnamespacestd;voidmain(){inti=2;intj,n,m;do{m=1;n=i/2;j=2;do{if(i%j==0){m=0;break;}j++;while(j=n)if(m)coutiendl;i++}while(i101);}return0;}For循环#includeiostreamusingnamespacestd;voidmain(){inti,j,n,m;for(i=2;i101;i++){m=1;n=i/2;for(j=2;j=n;j++){if(i%j==0){m=0;break;}}if(m)coutiendl;}return0;}运行结果:结论:不管for还是while还是dowhile,他们的循环体都是一样的,所以只要编出来一个就等于全编出来了,而且程序要设计尽量简单。题目:2—2内容:输入一个有符号的十进制数,转换成机内二进制数输出(要求用位操作运算)。设计思路:利用位运算将二进制的每一位取出存入数组,然后按要求输出。程序代码:#includeiostreamusingnamespacestd;voidmain(){chara;intt[8];inti;cout请输入一个数y:\n;cina;for(i=0;i8;i++){t[i]=a&0x01;a=a1;}for(i=7;i=0;i--)coutt[i];coutendl;system(pause);}结果:结论:只有掌握位运算规则,才能编出来程序二内容:书上P144,4-10设计一个用于人事管理的“人员”类.由于考虑到通用性,这里只抽象出所有人员都具有的属性:编号,性别,出生日期,身份证号.(“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数、复制构造函数、内联成员函数、带默认形参值的成员函数、类的组合。)设计思路:通过构造函数,实现人员的录入和输出。程序代码:#includeiostreamusingnamespacestd;classdate{private:intyear;intmonth;intday;public:date(inta=0,intb=0,intc=0){year=a;month=b;day=c;}inlinevoidsetyear(inty){year=y;}voidsetmonth(intm){month=m;}voidsetday(intd){day=d;}voidshowdate(){coutyearmonthdayendl;}};classpeople{private:charnumber[100];charid[100];charsex[2];datebirthday;public:people();people(people&p);~people(){};voidsetnumber(char*a){strcpy(number,a);}voidsetid(char*);voidsetsex(char*c){strcpy(sex,c);}voidsetbirthday(dated){birthday=d;}char*getnumber(){returnnumber;}char*getsex(){returnsex;}char*getid(){returnid;}dategetbirthday(){returnbirthday;}};dated;charm;people::people():birthday(d){}voidpeople::setid(char*ids){strcpy(id,ids);}intmain(){datebirthday;cout录入信息endl;peoplep1;//people*p[4]={&p1,&p2,&p3,&p4};cout输入员工的出生日期endl;cout年;inta;cina;birthday.setyear(a);cout月;intb;cinb;birthday.setmonth(b);cout日;intc;cinc;birthday.setday(c);cout输入编号endl;charnumberstr[20];cinnumberstr;p1.setnumber(numberstr);cout输入身份证号endl;charidstr[20];cinidstr;p1.setid(idstr);cout输入性别endl;charsexstr[30];cinsexstr;p1.setsex(sexstr);cout输出信息endl;cout员工的出生日期;birthday.showdate();cout编号为p1.getnumber()身份证号为p1.getid()性别为p1.getsex();return0;}运行结果:结论:要充分理解函数的概念,只有在理解的情况下才能编出程序。但是不能实现多个成员的录入和输出。内容:书上P144,4-11定义并实现一个矩形类,有长、宽两个属性,由成员函数计算矩形的面积。设计思路:通过设计类,实现矩形的计算函数程序代码:#includeiostreamusingnamespacestd;classRectangle{public:Rectangle();floatarea();voidshow();private:floata;floatb;};Rectangle::Rectangle(){do{coutpleaseinputtwonumbers:endl;cinab;}while(a=0||b=0);}floatRectangle::area(){returna*b;}voidRectangle::show(){couta=a,b=b,area=area()endl;}intmain(){Rectanglec;c.show();return0;}运行结果:结论:要理解类的含义,理解每个定义的作用!三内容:书上P1865-7定义一个Cat类,拥有静态数据成员numOfCats,记录cat的个体数目,静态成员函数getNumOfCats(),读取numOfCats。设计程序测试这个类,体会静态数据成员和静态成员函数的用法!设计思路:定义一个cat类,通过构造函数,并且声明静态数据成员。代码:#includeiostream#includestringusingnamespacestd;classCat{public:Cat(){++numOfCats;}Cat(constCat&cat){++numOfCats;}virtual~Cat(){--numOfCats;}staticintgetNumOfCats(){returnnumOfCats;}private:staticintnumOfCats;};intCat::numOfCats=0;intmain(){Cata;Catb;coutnumOfCats:Cat::getNumOfCats()endl;Catc(a);Cat*p=newCat();coutnumOfCats:Cat::getNumOfCats()endl;deletep;coutnumOfCats:Cat::getNumOfCats()endl;return0;}运行结果:结论:这部分与类密切联系,所以要掌握类,并且理解静态数据成员的使用.内容:书上P1865-14定义Boat类和Car两个类,二者都有weight属性,定义二者的友元函数getTotalWeight(),计算二者重量之和!设计思路:定义两个类,使其为友元函数,在其基础上进行所需的运算。代码:#includeiostreamusingnamespacestd;classCar;classBoat{private:intBoatweight;public:Boat(){Boatweight=450;}friendinttotalWeight(Boat&,Car&);};classCar{private:intCarweight;public:Car(){Carweight=450;}friendinttotalWeight(Boat&,Car&);};inttotalWeight(Boat&x,Car&y){returnx.Boatweight+y.Carweight;}intmain(){Boata;Carb;cout这两者的总重量为totalWeight(a,b)endl;return0;}运行结果:结论:在理解类的情况下,可以用友元函数。在编写程序时,可以有效的减少程序的冗长。四内容:书上P248已知有一个数组名叫oneArray,用一条语句求出其元素的个数。设计思路:利用sizeof函数代码:#includeiostreamusingnamespacestd;intmain(){intarray[]={8,4,3,4,5,7,9,10};inti=sizeof(array)/sizeof(int);coutiendl;return0;}结果:结论:掌握基本函数的含义和用法内容:书上P2496-20实现一个名为SimpleCircle的简单圆类。其数据成员int*itsRadius为一个指向其半径的指针,存放其半径值。设计数据成员的各种操作,给出这个类的完整实现并测试这个类。设计思路:利用类与友元函数代码:#includeiostreamusingnamespacestd;classSimpleCircle{public:SimpleCircle();SimpleCircle(int);SimpleCircle(constSimpleCircle&);~SimpleCircle(){}voidSetRadius(int);intGetRadius()const;private:int*itsRadius;};SimpleCircle::SimpleCircle(){itsRadius=newint(5);}SimpleCircle::SimpleCircle(intradius){itsRadius=newint(radius);}SimpleCircle::SimpleCircle(constSimpleCircle&rhs){intval=rhs.GetRadius();itsRadius=newint(val);}intSimpleCircle::GetRadius()const{return*itsRadius;}intmain(){SimpleCircleCircleOne,CircleTwo(9);coutCircleOne:CircleOne.GetRadius()endl;coutCircleTwo:CircleTwo.GetRadius()

1 / 85
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功