C++大作业报告(共85页).doc
《C++大作业报告(共85页).doc》由会员分享,可在线阅读,更多相关《C++大作业报告(共85页).doc(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 C+大作业报告 班级 姓名 总学号 一题目:21内容:用三种循环语句完成求100以内的质数设计思路:1既不是质数也不是合数,所以直接从2考虑。找出来这些数字就是要保证这个数只能让1和其本身整除,所以让这个数先除以2,然后慢慢整除其小于除以2后的数,然后输出这些数。 程序代码:while 循环#includeusing namespace std;int main()int i=2;int j,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+;return
2、0;Do while 循环#includeusing namespace std;void main()int i=2;int j,n,m;dom=1;n=i/2;j=2;doif(i%j=0)m=0;break;j+;while(j=n)if(m)coutiendl;i+while(i101);return 0;For 循环#includeusing namespace std;void main()int i,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;return
3、 0;运行结果:结论: 不管for还是while还是do while,他们的循环体都是一样的,所以只要编出来一个就等于全编出来了,而且程序要设计尽量简单。题目:22内容:输入一个有符号的十进制数,转换成机内二进制数输出(要求用位操作运算)。设计思路:利用位运算将二进制的每一位取出存入数组,然后按要求输出。程序代码:#include using namespace std;void main()char a;int t8;int i;couta;for(i=0;i1;for(i=7;i=0;i-)coutti;coutendl;system(pause);结果: 结论:只有掌握位运算规则,才能编
4、出来程序二内容: 书上P144,4-10 设计一个用于人事管理的“人员”类 .由于考虑到通用性,这里只抽象出所有人员都具有的属性:编号,性别,出生日期,身份证号.(“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数、复制构造函数、内联成员函数、带默认形参值的成员函数、类的组合。)设计思路:通过构造函数,实现人员的录入和输出。程序代码:#includeusing namespace std;class dateprivate: int year; int month; int day;public: date(int a=0,int b=0,in
5、t c=0)year=a;month=b;day=c; inline void setyear(int y)year=y; void setmonth(int m) month=m; void setday(int d) day=d; void showdate() coutyear month day endl; ;class peopleprivate: char number100; char id100; char sex2; date birthday; public: people(); people(people&p); people(); void setnumber(char
6、* a) strcpy(number,a); void setid(char*); void setsex(char* c) strcpy(sex,c); void setbirthday(date d) birthday=d; char *getnumber() return number; char *getsex() return sex; char *getid() return id; date getbirthday() return birthday; ;date d;char m;people:people():birthday(d)void people:setid (cha
7、r*ids) strcpy(id,ids);int main() date birthday; cout录入信息endl; people p1; /people*p4=&p1,&p2,&p3,&p4; cout输入员工的出生日期endl; couta; birthday.setyear (a); coutb; birthday.setmonth (b); coutc; birthday.setday (c); cout输入编号numberstr; p1.setnumber (numberstr); cout输入身份证号idstr; p1.setid (idstr); cout输入性别sexst
8、r; p1.setsex (sexstr); cout输出信息endl; cout员工的出生日期; birthday.showdate (); cout编号为 p1.getnumber() 身份证号为 p1.getid() 性别为 p1.getsex() ; return 0;运行结果:结论: 要充分理解函数的概念,只有在理解的情况下才能编出程序。但是不能实现多个成员的录入和输出。内容: 书上P144,4-11定义并实现一个矩形类,有长、宽两个属性,由成员函数计算矩形的面积。设计思路:通过设计类,实现矩形的计算函数程序代码:#includeusing namespace std;class R
9、ectanglepublic:Rectangle(); float area(); void show();private:float a;float b;Rectangle:Rectangle() do coutplease input two numbers :ab;while(a= 0 | b= 0); float Rectangle:area()return a*b;void Rectangle:show()couta=a,b=b,area=area()endl;int main()Rectangle c;c.show();return 0;运行结果:结论: 要理解类的含义,理解每个定
10、义的作用!三内容:书上P186 5-7定义一个Cat类,拥有静态数据成员numOfCats,记录cat的个体数目,静态成员函数getNumOfCats(),读取numOfCats。设计程序测试这个类,体会静态数据成员和静态成员函数的用法!设计思路:定义一个cat类,通过构造函数,并且声明静态数据成员。代码:#include #include using namespace std;class Catpublic: Cat()+numOfCats; Cat(const Cat& cat)+numOfCats; virtual Cat()-numOfCats; static int getNumO
11、fCats()return numOfCats;private: static int numOfCats;int Cat:numOfCats=0;int main() Cat a; Cat b; coutnumOfCats:Cat:getNumOfCats()endl; Cat c(a); Cat* p=new Cat(); coutnumOfCats:Cat:getNumOfCats()endl; delete p; coutnumOfCats:Cat:getNumOfCats()endl; return 0;运行结果:结论:这部分与类密切联系,所以要掌握类,并且理解静态数据成员的使用.内
12、容:书上P186 5-14定义Boat类和Car两个类,二者都有weight属性,定义二者的友元函数getTotalWeight(),计算二者重量之和!设计思路:定义两个类,使其为友元函数,在其基础上进行所需的运算。代码:#includeusing namespace std;class Car;class Boatprivate: int Boatweight;public: Boat() Boatweight=450; friend int totalWeight(Boat &,Car &);class Carprivate: int Carweight;public: Car( ) Ca
13、rweight=450; friend int totalWeight(Boat &,Car &);int totalWeight(Boat &x,Car &y) return x.Boatweight+y.Carweight;int main() Boat a; Car b; cout这两者的总重量为totalWeight(a,b)endl; return 0;运行结果: 结论:在理解类的情况下,可以用友元函数。在编写程序时,可以有效的减少程序的冗长。四内容:书上P248 已知有一个数组名叫oneArray,用一条语句求出其元素的个数。 设计思路:利用sizeof函数代码:#include
14、using namespace std;int main() int array = 8, 4, 3, 4, 5,7,9,10; int i = sizeof(array)/sizeof(int); cout i endl; return 0;结果:结论:掌握基本函数的含义和用法内容:书上P249 6-20实现一个名为SimpleCircle的简单圆类。其数据成员int*itsRadius为一个指向其半径的指针,存放其半径值。设计数据成员的各种操作,给出这个类的完整实现并测试这个类。设计思路:利用类与友元函数代码:#include using namespace std;class Simpl
15、eCirclepublic:SimpleCircle();SimpleCircle(int);SimpleCircle(const SimpleCircle &);SimpleCircle() void SetRadius(int);int GetRadius()const; private:int *itsRadius; SimpleCircle:SimpleCircle()itsRadius = new int(5); SimpleCircle:SimpleCircle(int radius)itsRadius = new int(radius); SimpleCircle:SimpleC
16、ircle(const SimpleCircle & rhs)int val = rhs.GetRadius();itsRadius = new int(val); int SimpleCircle:GetRadius() constreturn *itsRadius;int main()SimpleCircle CircleOne, CircleTwo(9);cout CircleOne: CircleOne.GetRadius() endl;cout CircleTwo: CircleTwo.GetRadius() endl;return 0;结果:结论:要充分理解类的含义与用法,理解友元
17、的用法 五内容:书上P250 6-22编写函数void reverse(string &s),用递归算法是字符串倒置。算法设计:利用递归算法设计倒叙代码:#include#includeusing namespace std;void reverse (char *s)char t;static int i=0;t = *(s+strlen(s)-i-1);*(s+strlen(s)-i-1) = *(s+i);*(s+i) = t;i+;if(strlen(s)/2=i);else reverse (s);void main()char s100;cout请输入字符串:s;reverse(s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 作业 报告 85
限制150内