欢迎来到天天文库
浏览记录
ID:59228232
大小:559.50 KB
页数:34页
时间:2020-09-22
《VC6.0IDE使用和程序调试技巧.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、VC6.0IDE的使用和程序调试技巧VC6.0IDE的使用程序调试技巧作业分析1一、如何用IDE创建文件和项目2首先,创建一个项目project345然后,给项目添加头文件和源代码文件6添加definition.h和main.c之后的界面文件里面什么也没有107二、在definition.h和main.c之内添加相关的程序代码82米3米Va2、1基本思路:由于每个球受到的作用力是可以计算的,那么每次时间增加量为t后的球位置也是可以计算的(牛顿定理)。在新位置,可以判断球是否已经落袋。如此反复,就可以模拟整个过程。9t1t2t3t4t
2、n102米3米VaY轴X轴坐标体系的选择2011初试化函数init()作用力计算ForceCal()运动位置BallNewState()RemoveFromBallList()ResultOutput程序的流程121、一些常数是必须提前知道的:#defineTOTALBALLNUMBER17#defineORIGINX0//球阵列的中心位置#defineORIGINY0#defineHEIGHT3.0//高,Y轴#defineWIDTH2.0//宽,X轴#defineCORNER0.1//球袋的尺寸,大小有什么影响?#defineIN
3、TERVAL0.1//球之间的间隔#defineMAXDISTANCE0.3//这样所有的球都有一定的初速度,为什么?2、2程序编制之前必须进行一些定义132、定义球的结构typedefstruct{intNo;floatx,y;floatvx,vy;floatax,ay;floatmass;}BilliardsType;3、定义落袋球记录数据结构typedefstruct{floatElapsedTime;intBallNo;}RecordingType;144、定义相关的全局变量(一般应该少用)BilliardsType*Ball
4、List;//球的名单RecordingType*ResultList;//落袋球的记录floatCurrentTime,MinTimeInterval;intCurrentBallNumber;//现在桌面上还有几个球?35152、3各个函数的基本过程16main(){Init();while(CurrentBallNumber>1)//如果有的球就是不落袋会怎么样?{ForceCal();BallNewState();RemoveFromBallList();CurrentTime+=MinTimeInterval;//记录已经运
5、动的时间}ResultOutput();//释放申请的内存free(ResultList);free(BallList);}17voidInit(){//给指针申请内存BallList=(BilliardsType*)calloc(TOTALBALLNUMBER,sizeof(BilliardsType));ResultList=(RecordingType*)calloc(TOTALBALLNUMBER,sizeof(RecordingType));if(BallList==NULL)printf("memapplicationfo
6、rBallListfailed");if(ResultList==NULL)printf("memapplicationforBallListfailed");//给定各个静止球的初始状态,球排o列成4x4方形,给一定的初速度BallList[XCounter].No=XCounter;BallList[XCounter].x=ORIGINX+INTERVAL*(XCounter%4-2);//4和2可用宏定义BallList[XCounter].y=ORIGINY+INTERVAL*(int)(XCounter/4-2);//输入运
7、动球的位置和速度,也初始化其他参数//其它的需要初始化的参数CurrentTime=0;MinTimeInterval=0.0001;//越小越精度高CurrentBallNumber=TOTALBALLNUMBER;}5018voidBallNewState(){floatt;t=MinTimeInterval;//仅仅是为了书写方便for(intBallOne=0;BallOne8、lList[BallOne].ax*t*t/2.0;BallList[BallOne].y+=BallList[BallOne].vy*t+BallList[BallOne].ay*t*t/2.0;//球是不能出球桌的,
8、lList[BallOne].ax*t*t/2.0;BallList[BallOne].y+=BallList[BallOne].vy*t+BallList[BallOne].ay*t*t/2.0;//球是不能出球桌的,
此文档下载收益归作者所有