c课程设计Word文件下载.docx

上传人:b****3 文档编号:14935689 上传时间:2022-10-26 格式:DOCX 页数:36 大小:153.64KB
下载 相关 举报
c课程设计Word文件下载.docx_第1页
第1页 / 共36页
c课程设计Word文件下载.docx_第2页
第2页 / 共36页
c课程设计Word文件下载.docx_第3页
第3页 / 共36页
c课程设计Word文件下载.docx_第4页
第4页 / 共36页
c课程设计Word文件下载.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

c课程设计Word文件下载.docx

《c课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《c课程设计Word文件下载.docx(36页珍藏版)》请在冰豆网上搜索。

c课程设计Word文件下载.docx

}//缺省构造函数

Tpoint(Ta,Tb,Tc)

{x=a;

y=b;

z=c;

}//带参数的构造函数

Tpoint(Tpoint&

a);

Tgetx(){returnx;

}//返回坐标点的x值

Tgety(){returny;

}//返回坐标点的y值

Tgetz(){returnz;

}//返回坐标点的z值

TTpointmove(Tmx,Tmy,Tmz)

{x+=mx;

y+=my;

z+=mz;

//移动位置(修改坐标值)

}

voidinput()

{cout<

<

"

请分别输入点的坐标x,y,z的值:

endl;

cin>

>

x>

y>

z;

//输入球面上一点的坐标值

voidoutput()

{

cout<

("

x<

"

y<

z<

)"

Tpoint<

T>

operator=(Tpoint<

&

p1);

};

Tpoint<

:

(Tpoint<

p1)

x=p1.getx();

y=p1.getx();

z=p1.getz();

//取坐标值

}

operator=(Tpoint<

p2)

x=p2.getx();

y=p2.getx();

z=p2.getz();

return*this;

classTball

m;

doubleradius;

Tball<

()

{radius=0;

zx,Tzy)

{m=zx;

radius=zy;

Tvolume()

{return(4.0/3)*PI*radius*radius*radius;

Tarea()

{return4*PI*radius*radius;

voidsetradius()

{

请输入球的半径:

radius;

voidsetTpoint()

请输入球的圆心坐标"

m.input();

球的圆心坐标为"

;

m.output();

球的半径为"

radius<

voidTballmove(Tmx,Tmy,Tmz)

{m.Tpointmove(mx,my,mz);

voidmain()

Tball<

double>

x1;

x1.setradius();

x1.setTpoint();

cout<

球的表面积为"

x1.area()<

球的体积为"

x1.volume()<

x1.output();

system("

pause"

);

【实验过程】

【实验体会】

先熟悉老师给的定义点坐标的平面类,然后利用模板类定义球面点坐标类,定义PI的值,根据类实现函数的重载等操作。

在定义了球类后,设置一个点作为球的球心,并初始化球心坐标。

然后,根据要求,分别设计球体面积和体积的算法公式。

虽然这是一个比较简单的程序设计,但刚开始时,我基本上是无从下手,再看了模板类后,我照着编了一个,然后经过不断的调试,我终于完成了第一个程序,自豪感油然而生。

3通讯簿管理(顺序表的应用)

【问题描述】通讯簿是一个线性表,可以存储一定数量的联系人记录,提供查找、插入、删除和修改等操作。

通讯簿的特点是以查找为主要操作,要求快速查找到指定对象的位置,故宜采用具有随机访问功能的顺序表。

【数据结构】使用顺序表SeqList建立通讯簿。

作为表项的联系人记录,至少应包括以下属性:

{序号,姓名,与本人关系,电话号码}

其中序号具有唯一性。

序号和姓名可作为查找的主要关键字。

与本人关系可枚举为“亲人”、“朋友”和“同事”,主要作用是为联系人分组,并作为次要关键字。

将上述联系人记录定义为一个结构(struct),在主程序中建立模板类顺序表SeqList的对象时用该结构实例化表结点的类型。

【主要功能】程序应为用户提供操作选择界面,必要的操作包括:

查找某人电话号码,添加新记录,修改记录,删除记录,打印亲人清单、朋友清单或同事清单以及退出等。

另外,为初始化方便,原始数据可存储在磁盘文件中。

string.h>

stdlib.h>

staticintn=1;

enumRelation{Friends,Familiers,Colleague};

template<

structPerson

{charNum[10];

//编号

charPhoNum[12];

//电话号码

charName[20];

//姓名

intm;

//关系

Person(int&

ite){m=ite;

Person(int&

p1,charName[],charP[],charitem[])

{for(inti=0;

i<

20;

i++){Name[i]=Name[i];

for(intj=0;

j<

11;

j++){PhoNum[j]=P[j];

for(intk=0;

k<

10;

k++){Num[k]=item[k];

m=p1;

}};

classSeqList

{protected:

Person<

*data;

SeqList<

(T&

x){data=newPerson<

(x);

boolInput();

voidOutput();

voidInsert();

voidSearch();

voidShow_All();

voidDelete();

voidCorrect();

voidShow_Select();

voidShow_Friends();

voidShow_Familiers();

voidShow_Colleague();

boolSeqList<

Input()

{staticintl;

请输入您要添加的人的编号:

"

cin>

data[l].Num;

请输入您要添加的人的姓名:

data[l].Name;

请输入您要添加的人的电话:

data[l].PhoNum;

cout<

请输入您要添加人与您的关系

(1)亲人

(2)同事(3)朋友"

data[l].m;

l++;

n++;

returntrue;

voidSeqList<

Insert()

{this->

Input();

信息已保存好!

Search()

{charpr[20];

请输入您要查找的姓名或序号:

pr;

boolflag=1;

for(intli=0;

li<

n-1;

li++)

{if(IfEqual(pr,data[li].Name)||IfEqual(pr,data[li].Num))

姓名:

data[li].Name<

\t\t"

序号:

data[li].Num<

\t"

电话:

data[li].PhoNum[k]!

='

\0'

k++)

data[li].PhoNum[k];

'

\t'

Switch(data[li].m);

flag=0;

}}

if(flag)cout<

没有您需要的信息!

请查证后再试!

Show_All()

{cout<

所有人的信息如下:

for(intlm=0;

lm<

lm++)

data[lm].Num<

data[lm].Name<

data[lm].PhoNum[k]!

data[lm].PhoNum[k];

Switch(data[lm].m);

Show_Select()

{cout<

请选择要显示联系人与您的关系

(1)亲人,

(2)同事,(3)朋友.我的:

cin>

m;

switch(m)

case1:

{Show_Familiers();

break;

}

case2:

{Show_Colleague();

case3:

{Show_Friends();

case4:

{Search();

default:

关系设置错误!

请重新设置!

}}

Show_Friends()

所有朋友的信息如下:

{if(data[lm].m==3)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

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

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