cadc++.docx

上传人:b****0 文档编号:12840442 上传时间:2023-04-22 格式:DOCX 页数:16 大小:208.10KB
下载 相关 举报
cadc++.docx_第1页
第1页 / 共16页
cadc++.docx_第2页
第2页 / 共16页
cadc++.docx_第3页
第3页 / 共16页
cadc++.docx_第4页
第4页 / 共16页
cadc++.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

cadc++.docx

《cadc++.docx》由会员分享,可在线阅读,更多相关《cadc++.docx(16页珍藏版)》请在冰豆网上搜索。

cadc++.docx

cadc++

第一题:

程序:

pDC->SetMapMode(7);

//pDC->SetWindowOrg(0,0);

pDC->SetViewportOrg(300,250);

pDC->SetWindowExt(50,100);

pDC->SetViewportExt(100,-100);

POINTpp[14]={0,0,0,120,-240,0,240,0,0,120,-160,0,

-160,40,-80,0,-80,80,0,0,80,80,80,0,160,40,160,0};

pDC->MoveTo(pp[0]);

for(inti=1;i<=4;i++){pDC->LineTo(pp[i]);}

pDC->MoveTo(pp[5]);

for(i=6;i<=13;i++){pDC->LineTo(pp[i]);}

第二题

pDC->SetViewportOrg(300,100);

inti;

for(i=0;i<15;i++)

{

CPenpen(PS_SOLID,1,RGB((255-i*10),i+10,i+80));

pDC->SelectObject(pen);

pDC->SelectStockObject(NULL_BRUSH);

pDC->Ellipse(CRect(300-10*i,100,300+10*i,100+20*i));

第三题

doublex[11]={0},y[11]={0};

inti,j;

CRectrc;

GetClientRect(&rc);

pDC->SetViewportOrg(rc.right/2,rc.bottom/2);

for(i=1;i<=9;i+=2){

x[i]=100*cos(1.5708+(i-1)*2*3.141592654/10);

y[i]=-100*sin(1.5708+(i-1)*2*3.141592654/10);}

for(j=2;j<=10;j+=2){

x[j]=38.2*cos(1.5708+(j-1)*2*3.141592654/10);

y[j]=-38.2*sin(1.5708+(j-1)*2*3.141592654/10);}

x[11]=x[1],y[11]=y[1];

for(i=1;i<=11;i++)

pDC->LineTo((int)x[i],(int)y[i]);

for(i=1;i<=5;i++)

{j=i+5;

pDC->MoveTo((int)x[i],(int)y[i]);

pDC->LineTo((int)x[j],(int)y[j]);}

第四题

intx0,y0,i;

CRectrc;

GetClientRect(&rc);

pDC->SetViewportOrg(rc.right/2,rc.bottom/2);

POINTpp[6]={-5,0,-5,-100,5,-100,5,0,85,0,-85,0};

pDC->MoveTo(pp[0]);

for(i=0;i<6;i++)

pDC->LineTo(pp[i]);

CRectr1(-85,-10,-65,10);

CRectr2(65,-10,85,10);

CRectr3(-15,-80,5,-60);

CRectr4(-5,-80,15,-60);

POINTp[8]={-75,-10,-15,-70,-5,-80,5,-80,15,-70,75,-10,-15,-10,15,-10};

pDC->MoveTo(p[0]);

pDC->Arc(r1,p[0],pp[5]);

pDC->MoveTo(pp[4]);

pDC->Arc(r2,pp[4],p[5]);

pDC->MoveTo(p[2]);

pDC->Arc(r3,p[2],p[1]);

pDC->MoveTo(p[4]);

pDC->Arc(r4,p[4],p[3]);

pDC->MoveTo(p[0]);

pDC->LineTo(p[6]);

pDC->LineTo(p[1]);

pDC->MoveTo(p[4]);

pDC->LineTo(p[7]);

pDC->LineTo(p[5]);

CRectrc;

GetClientRect(&rc);

intx0,y0;

x0=(int)rc.right/2;

y0=(int)rc.bottom/2;

pDC->SetViewportOrg(x0,y0);

inti;

POINTp[6]={-82.91561976,-125,-280,-125,-280,100,280,100,280,-125,82.91561976,-125};

pDC->MoveTo(p[0]);

for(i=0;i<6;i++)

pDC->LineTo(p[i]);

CRectr1(-150,-150,150,150);

pDC->MoveTo(p[5]);

pDC->Arc(r1,p[5],p[0]);

POINTpp[4]={-60,80,-60,100,60,100,60,80};

pDC->MoveTo(pp[0]);

for(i=0;i<4;i++)

pDC->LineTo(pp[i]);

CRectr2(-100,-100,100,100);

pDC->MoveTo(pp[3]);

pDC->Arc(r2,pp[3],pp[0]);

第六题

在程序预处理理部分添加函数头和宏定义:

#include"math.h"

#definexp(phi)a*cos(phi)

#defineyp(phi)b*sin(phi)

在voidCMy166View:

:

OnDraw(CDC*pDC)中添加如下程序代码:

CRectrc;

GetClientRect(&rc);

pDC->SetViewportOrg(rc.right/2,rc.bottom/2);

inta,b;

a=140;b=50;

pDC->Arc(-70,70,70,-70,70,0,-70,0);

inti;

doubledt,xf,yf,phi,x,y,theta;

dt=.01745;

x=xp(0);y=yp(0);

pDC->MoveTo(x,y);

for(i=1;i<=360;i++){

phi=i*dt;

xf=a*cos(phi);yf=b*sin(phi);

if(yf<0&&sqrt(xf*xf+yf*yf)<70)

pDC->SelectStockObject(NULL_PEN);

else

pDC->SelectStockObject(BLACK_PEN);

x=xp(phi);

y=yp(phi);

pDC->LineTo(x,y);

}

第七题

在程序预处理理部分添加函数头#include"math.h"

在voidCMy166View:

:

OnDraw(CDC*pDC)中添加如下程序代码:

CRectrc;

GetClientRect(&rc);

intx0,y0,i;

x0=(int)rc.right/2;

y0=(int)rc.bottom/2;

pDC->SetViewportOrg(x0,y0);

doublex1,y1;

x1=100*pow(3,.5)/2;y1=100;

intx2,y2;

x2=(int)x1;y2=(int)y1;

pDC->Ellipse(-100,-100,100,100);

pDC->Ellipse(-x2,-y2,x2,y2);

pDC->Ellipse(-50,-100,50,100);

POINTp[12]={0,100,-50,x2,-x2,50,-100,0,-x2,-50,-50,-x2,0,-100,50,x2,x2,50,100,0,x2,-50,50,-x2};

for(i=0;i<6;i++)

{pDC->MoveTo(p[i]);

pDC->LineTo(p[i+6]);}

第八题

在程序的预处理部分添加函数头和宏定义:

#include"math.h"

#defineR(theta)cos(1.5*theta)*s

在voidCMy168View:

:

OnDraw(CDC*pDC)中添加如下程序代码:

intx0,y0,x,y,s=120;

doubler,theta;

CRectrc;

GetClientRect(&rc);

x0=rc.right/2;y0=rc.bottom/2;

pDC->SetMapMode(MM_TEXT);

pDC->SetViewportOrg((int)x0,(int)y0);

for(theta=0;theta<20*3.14;theta+=0.2)

{r=R(theta);

x=(int)(r*cos(theta));

y=(int)(r*sin(theta));

pDC->MoveTo(0,0);

pDC->LineTo(x,y);

}

第九题

在程序的预处理部分添加函数头和宏定义:

#include"math.h"

#definexp(x,y)cos(phi)*x+sin(phi)*y

#defineyp(x,y)cos(phi)*y-sin(phi)*x

在voidCMy169View:

:

OnDraw(CDC*pDC)中添加如下程序代码:

inti;

doubledt=0.01745,x,y,a,b,phi,x1,y1,a1,b1;

phi=45*dt;

CRectrc;

GetClientRect(&rc);

pDC->SetViewportOrg(rc.right/2,rc.bottom/2);

pDC->Ellipse(-150,-150,150,150);

pDC->Ellipse(-140,-140,140,140);

for(i=0;i<=6;i++)

{x1=pow((140*140-20*20*i*i),0.5);y1=-20*i;

a1=-x1;b1=y1;

x=xp(x1,y1);y=yp(x1,y1);

a=xp(a1,b1);b=yp(a1,b1);

pDC->MoveTo(x,y);

pDC->LineTo(a,b);

}

for(i=0;i<=6;i++)

{x1=pow((140*140-20*20*i*i),0.5);y1=20*i;

a1=-x1;b1=y1;

x=xp(x1,y1);y=yp(x1,y1);

a=xp(a1,b1);b=yp(a1,b1);

pDC->MoveTo(x,y);

pDC->LineTo(a,b);

}

第十题

在程预处理部分添加函数头和宏定义:

#include"math.h"

#definefnx(x)(int)(x0+(x)*s1)

#definefny(x,y)(int)(y0-(y+0.4*x)*s1)

在voidCMy1610View:

:

OnDraw(CDC*pDC)中添加如下程序代码:

inti;

doubles1=1.5,x,x0,y0;

CRectrc;

GetClientRect(&rc);

pDC->SetViewportOrg(rc.right/2,rc.bottom/2);

pDC->MoveTo(fnx(0),fny(0,0));

pDC->LineTo(fnx(200),fny(200,0));

pDC->MoveTo(fnx(0),fny(0,65));

pDC->LineTo(fnx(200),fny(200,65));

for(i=1;i<=6;i++)

{x=40*(i-1);

pDC->MoveTo(fnx(x),fny(x,65));

pDC->LineTo(fnx(x),fny(x,-25));}

for(i=1;i<=5;i++)

{x=20+40*(i-1);

pDC->MoveTo(fnx(x),fny(x,65));

pDC->LineTo(fnx(x),fny(x,0));}

第十一题

在程序的预处理部分添加函数头和宏定义:

#include"math.h"

#definefnx(x)(int)(x0+(x)*s)

#definefny(y)(int)(y0-(y)*s)

#definexp(phi)cos(phi)*a*c-sin(phi)*b*s+xc

#defineyp(phi)cos(phi)*a*s+sin(phi)*b*c+yc

在voidCMy1611View:

:

OnDraw(CDC*pDC)中添加如下程序代码:

intj;

doublea=3.141592654/8,s1=1.0,x,y,x0,y0,a,b,c,s,xc,yc,phi,theta,i;

CRectrc;

GetClientRect(&rc);

pDC->SetViewportOrg(rc.right/2,rc.bottom/2);

a=100;b=40;xc=0;yc=0;

for(i=0;i<=180;i+=22.5)

{theta=i*a;

c=cos(theta);s=sin(theta);

x=xp(0);y=yp(0);

pDC->MoveTo(fnx(x),fny(y));

for(j=1;j<=360;j++)

{phi=j*a;

x=xp(phi);y=yp(phi);

pDC->LineTo(fnx(x),fny(y));}}

第十二题

在预处理部分添加宏定义:

#definefnx(x)(int)(x0+(x)*s*s1)

#definefny(x)(int)(y0-(x)*s1)

添加变量:

inti,x0,y0,s;

doubles1;

并添加函数:

draw();

在自定义函数部分添加程序代码如下:

inti;

CClientDCdc(this);

dc.MoveTo(fnx(0),fny(50));

dc.LineTo(fnx(300),fny(50));

dc.Rectangle(fnx(165),fny(50),fnx(215),fny(250));

dc.Rectangle(fnx(155),fny(250),fnx(225),fny(260));

dc.Arc(fnx(190-25),fny(260-25),fnx(190+25),fny(260+25),x0+300,fny(260),x0-300,fny(260);

dc.MoveTo(fnx(215),fny(55));

dc.LineTo(fnx(300),fny(55));

dc.MoveTo(fnx(215),fny(190));

dc.LineTo(fnx(300),fny(190));

dc.MoveTo(fnx(215),fny(195));

dc.LineTo(fnx(300),fny(195));

for(i=1;i<=4;i++)

{

dc.MoveTo(fnx(215+20*i),fny(55));

dc.LineTo(fnx(215+20*i),fny(190));

}

在voidCMy1612View:

:

OnDraw(CDC*pDC)中添加如下程序代码:

CRectrc;

GetClientRect(&rc);

x0=rc.right/2;

y0=rc.bottom/2+100;

intx,y;

x=x0-50;y=y0-180;

CStringw="欢迎参观指导";

TEXTMETRICtm;

pDC->TextOut(x,y,w);

s=1;s1=.5;

draw();

s=-s;

draw();

CRectrc;

GetClientRect(&rc);

x0=rc.right/2;

y0=rc.bottom/2+100;

intx,y;

x=x0-50;y=y0-180;

CStringw="欢迎参观指导";

TEXTMETRICtm;

pDC->TextOut(x,y,w);

s=1;s1=.5;

draw();

s=-s;

draw();

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

当前位置:首页 > 解决方案 > 学习计划

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

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