ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:100.96KB ,
资源ID:29624651      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29624651.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(丽水学院期末C复习信息09史杨杨.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

丽水学院期末C复习信息09史杨杨.docx

1、丽水学院期末C复习信息09史杨杨实验一 C+类的定义及成员引用一、实验目的:1. 掌握类和对象的概念及特性;2. 掌握C+类和对象的定义;3. 掌握对象成员的基本引用方法;4. 掌握简单的面向对象程序的编写;二、实验任务题目1 图形类设计设计三个图形类:Circle(圆)、Rectangle(矩形)、Triangle(三角形);1、Cirlce 类基本信息:圆心坐标、半径;Rectangle 类基本信息:长、宽;Triangle 类基本信息:三个顶点坐标;其中:成员变量为 private 属性,成员函数为public 属性;2、每个图形类有计算图形的面积GetArea(),显示图形的基本信息函

2、数Show(),修改基本信息的函数Set(形参)。以Circle 类为例:通过GetArea()计算圆的面积,Show()函数中显示圆心坐标、直径、周长、面积等基本信息;Set(int x,int y, int r)函数可以修改圆心坐标和半径。3、当输入数据为不合理数据时(例如:输入的三角形的顶点是否能组成一个三角形),提示用户输入错误;测试数据1、Circle 类测试数据:圆心:(20,30) 半径:5(-20,40) 30(40,-10) -52、Rectangle 类测试数据:顶点坐标:20,5040,5-9,1043,-83、Triangle 类测试数据:顶点:(20,30)、(40,

3、50)、(40,20)(10,10)、(50,10)、(35,10)源程序:#include#include#includeusing namespace std;/圆的面积 class Circle private: int x; int y; int r; public: Circle () int x=0; int y=0; int r=0; float Circle_GetArea(); void Circle_show(); void Circle_set(int a,int b,int c) x=a; y=b; r=c; ;float Circle:Circle_GetArea()

4、 float s; s=3.14*r*r; return s;void Circle:Circle_show() float s;if(r0) cout(x,y)setw(6)rsetw(6)2*rsetw(6)2*3.14*rsetw(6)sendl; else cout输入的数据错误!=b) a=b; if(a=c) a=c; if(b=c) b=c; if(x1-x4)*(x1-x2)+(y1-y4)*(y1-y2)=0&(x1-x2=x4-x3)&(y1-y2=y4-y3) length=a; width=b; ;float Rectangle: Rectangle_GetArea()

5、 float z; z=length*width; return z; void Rectangle:Rectangle_show() float z;if(z0) cout矩形的长:lengthsetw(2) 宽: widthsetw(2) 面积: zendl; else cout输入数据错误!l3&l1+l3l2&l2+l3l1) d=(l1+l2+l3)/2; s=sqrt(d*(d-l1)*(d-l2)*(d-l3); else s=0; void Triangle_show(); void Triangle_set(int x1,int y1,int x2,int y2,int x3

6、,int y3) m1=x1; n1=y1; m2=x2; n2=y2; m3=x3; n3=y3; float a,b,c; a=sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2); b=sqrt(x1-x3)*(x1-x3)+(y1-y3)*(y1-y3); c=sqrt(x3-x2)*(x3-x2)+(y3-y2)*(y3-y2); l1=a; l2=b; l3=c; ;void Triangle:Triangle_show() float s; int c; c=!s; switch(c) case 0: cout三角形三点坐标;setw(2)(m1,n1)setw

7、(2)(m2,n2)setw(2)(m3,n3)endl; cout三角形边长:setw(2)l1 l2 l3endl; cout三角形的面积:setw(2)sendl; break; case 1: cout输入数据错误!x1y1r1; cinx2y2r2; cinx3y3r3; cina1b1; cina2b2; cina3b3; cina4b4; cink1l1k2l2k3l3; cink4l4k5l5k6l6; c1.Circle_set( x1, y1,r1); c2.Circle_set(x2, y2, r2); c3.Circle_set( x3, y3, r3); r.Rect

8、angle_set(a1,b1,a2,b2,a3,b3,a4,b4); t1.Triangle_set(k1,l1,k2,l2,k3,l3); t2.Triangle_set(k4,l4,k5,l5,k6,l6); cout-圆-endl;cout圆心坐标setw(6)直径setw(6)半径setw(6)周长setw(6)面积endl; c1.Circle_GetArea(); c1.Circle_show(); c2.Circle_GetArea(); c2.Circle_show(); c3.Circle_GetArea(); c3.Circle_show(); cout-矩形-endl;

9、 r.Rectangle_GetArea(); r.Rectangle_show(); cout-三角形- endl; t1.Triangle_GetArea(); t1.Triangle_show(); t2.Triangle_GetArea(); t2.Triangle_show(); return 0;运行结果: 题目2 学生类设计 设计一个 Studnet(学生)类1、基本信息:学号、姓名、性别、出生日期、年级、班级、院系、专业;其中:基本信息为 private 属性,成员函数为public 属性;2、Student 类有多个构造函数:缺省构造函数、带参数的构造函数、带默认参数的构造函

10、数3、基本功能:1)可以从键盘输入学生的基本信息;2)SetInfo(形参表)函数可以修改学生的基本信息函数,例如:班级、专业等;3)Show()函数显示学生信息;4) 当输入数据为不合理数据时,提示用户输入错误;测试数据1、学号:2005001 姓名:zhangesan 出生日期:85 年11 月年级:05 级班级:jy01 院系:computer 专业:application2、学号:2005002 姓名:lihuan 出生日期:84 年11 月3、学号:2005003 姓名:wang 出生日期:85 年7 月年级:05 级班级:jy01 院系:computer 专业:software4、

11、学号:2005004 姓名:zhan 出生日期:85 年11 月年级:05 级班级:jy025、学号:2005005 姓名:song 出生日期:85 年11 月思考与扩展采用什么方式可以让学号自动按输入顺序生成?源程序代码:#include#include#includeusing namespace std;class Student private: int number; string name; string year; string grade; string clas; string department; string profession; public: Student( )

12、 grade=05级; Student(string cla); /Student:Student(int num=2005001):number(num) void setInto( int b, string b1,string b2,string b3,string b4,string b5,string b6) number=b; name=b1; year=b2; grade=b3; clas=b4; department=b5; profession=b6; void show(); Student:Student(string cla) clas=cla; void Studen

13、t:show() cout学号:numbersetw(6)姓名:namesetw(10)出生日期:yearsetw(6)年级:gradesetw(6)班级:classetw(6)院系:departmentsetw(6)专业:professionendlendl; int main() Student stud5; int i,j,num; for(i=0,num=2005001;ia1a2a3a4a5a6; studi.setInto(num,a1, a2, a3,a4, a5,a6); studi.show(); return 0; 实验二 C+中的构造函数与析构函数一、实验目的:5. 掌握

14、C+中使用构造函数创建对象;6. 掌握C+中使用析构函数释放对象;7. 掌握构造函数的重载特性;8. 掌握类相关的指针及数组的使用方法;9. 掌握const成员及static成员的特性;10. 掌握友元的特性。二、实验任务题目 人员管理设计某小型公司的 employee(人员)类(1)类1)employee 类:基本信息:编号、姓名、性别、出生日期、职位等;出生日期使用自定义的 Date(日期)类;其中:基本信息为 private 属性,成员函数为public 属性;多个构造函数:缺省构造函数、带参数的构造函数、带默认参数的构造函数;可以从外部访问类成员的友员函数;2)Date 类:成员变量:

15、年、月、日成员函数:SetYear(int year)、SetMonth(int month)、SetDay(int day)GetYear()、GetMonth()、GetDay()(2)基本功能:1)职工信息的录入;2)职工信息的显示;3)用对象数组保存已输入的职工对象;4)可以修改人员的基本信息,如:姓名、职位等;5)可以通过编号或姓名进行人员查询;(3)实验提示1)注意带参数的构造函数和带默认参数的构造函数的声明与定义;2)定义employee 类的成员变量时,应注意变量类型的声明;3)在查询时,通过申明成employee 类的友元函数来访问类的成员变量;实验提示1、注意带参数的构造函

16、数和带默认参数的构造函数的声明与定义;2、定义employee 类的成员变量时,应注意变量类型的声明;3、在查询时,通过申明成employee 类的友元函数来访问类的成员变量;测试数据1、编号:10001 姓名:jack 出生日期:80 年11 月1 日职位:普通2、编号:10002 姓名:andy 出生日期:75 年1 月9 日职位:经理3、编号:10003 姓名:alex 出生日期:81 年4 月3 日职位:秘书4、编号:10005 姓名:lili 出生日期:82 年10 月1 日职位:技师源代码: #include #include #define N 100using namespac

17、e std;class Dateprivate: int year; int month; int day;public: void SetYear(int x) year=x; void SetMonth(int x) month=x; void SetDay(int x) day=x; int GetYear() return year; int GetMonth() return month; int GetDay() return day; Date():year(2000),month(1),day(1) Date(int x, int y,int z) year=x; month=

18、y; day=z; ;class employeeprivate: int no; string name;string sex; Date birth;string pos;public: employee():no(0),birth(2000,1,1) name=Andy; sex=male; pos=intern; employee(int n, string str,string y,Date day,string p) no = n; name=str; sex=y; birth=day; pos=p; friend string Getname(employee x) string

19、 name1; name1 =x.name; return name1; friend int Getno(employee x) return x.no; friend string Getsex(employee x) string sex1; sex1=x.sex ; return sex1; friend Date Getbirth(employee x) return x.birth; friend string Getpos(employee x) string pos1; pos1=x.pos; return pos1; friend void display() coutntt

20、=endl; couttt1:录入 2:显示 3:修改 4:查找 0:退出endl; couttt=endl; coutchoose; while(choose!=0) switch(choose) case 1: if(num=100) coutfull!n; continue; coutn; coutymd; coutstr; couts; coutp; personsnum+=new employee(n,str,s,Date(y,m,d),p); break; case 2: cout编号t姓名t性别t生日tt职务endl; for(i=0;inum;i+) coutGetno(*pe

21、rsonsi)tGetname(*personsi)tGetsex(*personsi)tGetbirth(*personsi).GetYear() 年Getbirth(*personsi).GetMonth()月Getbirth(*personsi).GetDay()日tGetpos(*personsi)endl; break; case 3: coutn; for(i=0;i=num-1;i+) if(n=Getno(*personsi) coutntt=endl; couttt1:名字修改 2:职位修改endl; couttt=endl; cout选择您要进行的修改方式:choose1; switch(choose1) case 1: coutstr; n=Getno(*personsi); s=Getsex(*personsi); y=Getbirth(*personsi).GetYear(); m=Getbirth(*personsi).GetMonth(); d=Getbirth(*personsi).GetDay(); p=Getpos(*personsi); delete personsi; personsi= new employee(n,str,s,Date(y,m,d),p); break; case 2: coutp; n=Getno(*pers

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1