vfp程序设计课程设计书.docx
《vfp程序设计课程设计书.docx》由会员分享,可在线阅读,更多相关《vfp程序设计课程设计书.docx(13页珍藏版)》请在冰豆网上搜索。
vfp程序设计课程设计书
吉首大学
课程设计说明书
课程名称:
C语言程序设计
题目名称:
使用C语言实现画图功能
学院:
XXXXXXXXXXX
专业班级:
XXXX专业XXXX级XX班
姓名:
XXXXX
学号:
XXXXXXXXXXXXXXXXXXXX
指导教师:
XXX
评定成绩:
指导老师签名:
20XX年XX月XX日
1、题目名称
使用C语言实现画图功能
二、选题背景
吉首大学大一计算机期末作业
三、设计目标
学习掌握C语言,利用C语言编程画出图像;
四、可行性分析
MicrosoftVisualC++6.0简介
VisualC++是一个功能强大的可视化软件开发工具。
自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。
虽然微软公司推出了VisualC++.NET(VisualC++7.0),但它的应用的很大的局限性,只适用于Windows2000,WindowsXP和WindowsNT4.0。
所以实际中,更多的是以VisualC++6.0为平台。
VisualC++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrateddevelopmentenvironment,IDE)。
VisualC++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导ClassWizard等开发工具。
这些组件通过一个名为DeveloperStudio的组件集成为和谐的开发环境。
根据以上对开发工具的功能的了解,我们相信,依靠MicrosoftVisualC++6.0能开发出我们所期待的系统。
因此,在开发工具方面是可行的。
五、需求分析
一.功能需求(完成的功能)
能够运行VC6的计算机设备。
二.环境需求(硬件、软件)
Win7操作系统,vc6软件,EasyX_v20120603(beta)。
六、系统分析与设计
#include
#include
#include
#include
#include
#defineD150
#defineTOTAL200
#definePI3.14159
voidAPPLE()
{
setlinestyle(PS_SOLID,NULL,10);
intx,y,r,a,b,n;
floatjiao;
a=480;b=300;r=40;n=0;
for(jiao=0;jiao<=2*PI;jiao+=1/(4*PI))
{
x=a+r*cos(jiao-PI/2);
y=b+r*sin(jiao-PI/2);
setcolor(RGB(217-1*n,203-(2/3)*n,203-(2/3)*n));
circle(x,y,(int)(2*r*sin(jiao/2)));
n++;
Sleep(20);
}
Sleep(200);
setlinestyle(PS_SOLID,NULL,1);
fillellipse(470,190,490,240);
a=513;b=468;r=35;
for(jiao=0;jiao<=2*PI;jiao+=1/(4*PI))
{
x=a+r*cos(jiao-PI/2);
y=b+r*sin(jiao-PI/2);
setcolor(RGB(1,207,251));
circle(x,y,(int)(2*r*sin(jiao/2)));
Sleep
(1);
}
a=645;b=300;r=35;
setlinestyle(PS_SOLID,NULL,10);
for(jiao=0;jiao<=2*PI;jiao+=1/(4*PI))
{
x=a+r*cos(jiao-PI/2);
y=b+r*sin(jiao-PI/2);
setcolor(RGB(1,207,251));
circle(x,y,(int)(2*r*sin(jiao/2)));
Sleep(30);
}
}
voidflower(intx,inty,COLORREFc)
{
intx1,y1,x2,y2;
intd=15;
doublee;
setcolor(c);
for(doublea=0;a<2*PI;a+=PI/360)
{
e=d*(1+sin(a*5));//花瓣数量Sleep(0);
x1=int(x+e*cos(a));
y1=int(y+e*sin(a));
x2=int(x+e*cos(a+PI/5));
y2=int(y+e*sin(a+PI/5));
line(x1,y1,x2,y2);
}
}
voidtie(intx,inty,COLORREFc)
{
intx1,y1,x2,y2;
intd=90;
doublee;
setcolor(c);setlinestyle(PS_SOLID,NULL,1);
for(doublea=0;a<2*PI;a+=PI/360)
{
e=d*(1+sin(a*2));//蝴蝶结数量
x1=int(x+e*cos(a));
y1=int(y+e*sin(a)/4);
x2=int(x+e*cos(a+PI/9));
y2=int(y+e*sin(a+PI/9)/4.5);
line(x1,y1,x2,y2);
Sleep
(1);
}
}
voidtie2(intx,inty,COLORREFc)
{
intx1,y1,x2,y2;
intd=90;
doublee;
setcolor(c);setlinestyle(PS_SOLID,NULL,1);
for(doublea=0;a<2*PI;a+=PI/360)
{
e=d*(1+sin(a*3));//蝴蝶结数量3
x1=int(x+e*cos(a));
y1=int(y+e*sin(a)/2);
x2=int(x+e*cos(a+PI/9));
y2=int(y+e*sin(a+PI/9)/4.5);
line(x1,y1,x2,y2);
Sleep
(1);
}
}
voidtie3(intx,inty,COLORREFc)
{
intx1,y1,x2,y2;
intd=90;
doublee;
setcolor(c);setlinestyle(PS_SOLID,NULL,1);
for(doublea=0;a<2*PI;a+=PI/360)
{
e=d*(1+sin(a*10));//蝴蝶结数量10
x1=int(x+e*cos(a));
y1=int(y+e*sin(a)/2);
x2=int(x+e*cos(a+PI/9));
y2=int(y+e*sin(a+PI/9)/4.5);
line(x1,y1,x2,y2);
Sleep
(1);
}
}
voidzuanshi(intx,inty,inta,intb,intc)//(x轴坐标,y轴坐标,三原色)
{
setlinestyle(PS_SOLID,NULL,3);
setcolor(RGB(a,b,c));
line(x-95,y-50,x+95,y-50);Sleep(100);
line(x-120,y,x+120,y);Sleep(100);
line(x-95,y-50,x-120,y);Sleep(100);
line(x+95,y-50,x+120,y);Sleep(100);
line(x-120,y,x,y+100);Sleep(200);
line(x+120,y,x,y+100);Sleep(200);
line(x-23,y-50,x-104,y-34);Sleep(200);
line(x+23,y-50,x+106,y-34);Sleep(200);
line(x+60,y,x+106,y-34);Sleep(200);
line(x-60,y,x-104,y-34);Sleep(200);
line(x,y-50,x-60,y);Sleep(500);
line(x,y-50,x+60,y);Sleep(500);
line(x,y,x,y+100);Sleep(500);
line(x-60,y,x,y+100);Sleep(500);
line(x+60,y,x,y+100);Sleep(500);
}
voidyuan()
{
setfillstyle(RGB(255,125,0));
fillcircle(730,60,50);
}
voiddraw(intcolor,intx,inty)
{
doublea,e;
intx1,y1,x2,y2;
setcolor(color);/*设置前景色*/
for(a=0;a<2*PI;a+=2*PI/720)
{
/*计算线段两个端点的横纵坐标*/
e=D*(1+sin(4*a));
x1=(int)(x+e*cos(a));
x2=(int)(x+e*cos(a+PI/20));
y1=(int)(y+e*sin(a));
y2=(int)(y+e*sin(a+PI/20));
line(x1,y1,x2,y2);
Sleep(5);/*延迟函数,实现动画效果*/
}
}
voiddenglong()
{
setcolor(RGB(68,129,227));
setlinestyle(PS_SOLID,NULL,7);
line(200,150,300,50);
line(300,50,370,50);Sleep(100);
line(350,50,350,75);Sleep(100);
setcolor(RGB(102,45,26));setlinestyle(PS_SOLID,NULL,3);
line(350,75,300,100);Sleep(100);
line(350,75,400,100);Sleep(100);
line(300,100,400,100);Sleep(100);
line(325,100,325,150);Sleep(100);
line(375,100,375,150);Sleep(100);
line(300,150,400,150);Sleep(100);
line(300,150,325,175);Sleep(100);
line(325,175,375,175);Sleep(100);
line(400,150,375,175);Sleep(100);
setlinestyle(PS_SOLID,NULL,1);
setfillstyle(RGB(255,121,73));
fillellipse(337,102,365,148);
}
voidmain()
{
initgraph(960,600);inti;
setbkcolor(RGB(1,207,251));
cleardevice();
setcolor(RGB(217,203,203));
setfillstyle(RGB(217,203,203));
setlinestyle(PS_SOLID,NULL,1);draw(GREEN,150,340);
setlinestyle(PS_SOLID,NULL,1);
setcolor(RED);setfillstyle(RGB(195,147,23));
bar3d(48,480,78,550,20,true);
flower(20,300,RGB(235,95,186));Sleep(100);
line(20,400,70,500);
flower(50,310,RGB(255,155,225));Sleep(100);
line(50,310,70,500);
flower(80,340,RGB(255,0,125));Sleep(100);
line(80,340,70,500);
flower(100,305,RGB(247,59,130));line(100,305,70,500);
flower(130,345,RGB(247,159,130));line(130,345,70,500);Sleep(100);
flower(10,325,RGB(247,159,130));line(10,325,70,500);Sleep(100);
flower(50,250,RGB(255,134,30));line(50,250,70,500);Sleep(100);
flower(30,400,RGB(255,134,130));line(30,400,70,500);Sleep(100);
flower(120,213,RGB(225,34,230));line(120,213,70,500);Sleep(100);
setfillstyle(RGB(195,147,23));
bar(49,481,77,549);
setfillstyle(RGB(217,203,203));
APPLE();tie(830,490,RGB(255,125,0));zuanshi(830,390,225,215,0);
setlinestyle(PS_SOLID,NULL,1);
setcolor(RGB(255,125,0));
yuan();
Sleep(500);
tie3(730,60,RGB(255,125,0));Sleep(0);
for(i=0;i<=5;i++)
{
flower(0+40*i,150,RGB(117-10*i,179-10*i,202+5*i));
Sleep(150);
}
for(i=0;i<=10;i++)
{
flower(200,150+40*i,RGB(67+10*i,129+10*i,227-5*i));
Sleep(150);
}
for(i=0;i<=9;i++)
{
flower(200+50*i,550,RGB(67+10*i,129+10*i,227-5*i));
Sleep(150);
}
for(i=0;i<=8;i++)
{
flower(650,550-40*i,RGB(167-10*i,229-10*i,182+5*i));
Sleep(150);
}
for(i=0;i<=8;i++)
{
flower(650+40*i,230,RGB(87+10*i,149+10*i,222-5*i));
Sleep(150);
}
denglong();
Sleep(1000);
setfont(25,0,"黑体");
setcolor(RGB(225,215,0));
outtextxy(730,570,"--潘佳文,艾烨");
getch();
closegraph();
}
七、系统实现
1、开发环境
(1)硬件要求(主机、外设等)
笔记本电脑,鼠标,键盘;
(2)软件要求(操作系统、数据库、编程语言)
Window7操作系统,c++语言;
2.主要界面
八、总结
通过这次课程设计,增加了我们对软件技术的了解,虽然还不明确软件技术包含的具体内容,但从学习C语言这门课程开始,已发现程序设计的好处,它对我们数学的学习也有很大的帮助。
在学习C语言的过程中也学到和巩固了许多计算机应用基础知识,对计算机的机体也有了一个较为详细的了解。
在具体操作中对这学期所学的C语言的理论知识得到巩固加强,达到实训的目的,也发现自己的不足之处,为我们以后的c语言学习奠定了基础,同时体会到C语言具有的语句简洁,使用灵活,执行效率高等特点。
发现上机操作的重要作用,特别是对数组和循环有了深刻的理解。
通过实际操作,学会C语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。
由于本课题中的许多知识点都没有学过都要靠自己到课外的资料中去查找。
在用的时候难免出现这样那样的错误。
这时候对参数的调整就非常重要了,而这一个个参数往往需要我们数十次的实验。
成绩
评阅
教师
日期
回顾起此次课程设计,至今我们仍感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,在这些日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
本次课程设计结束了,对于我们的影响很大。
我们通过这次实践学到了许多知识。