本文目录一览:
C语言编程设计:运动的小车
用VS2012编写C程序执行编译后出现输出控制台后闪现 即使加入 system("PA...
答:system("PAUSE")是肯定可以的,要加在return 0的前面。加在后面的话程序已经结束了,system("PAUSE")用于执行不到。system()函数在stdlib.h里。
c语言程序实现小车走正方形
程序需要结合硬件,不同硬件程序也不一样,就算硬件一样,连线方法不同程序也不一样。程序所实现的功能也不同,所以就算有程序,移植性也比较差。下面是我的小车黑白循迹的程序,包含前行转弯等,希望能帮到你
#include reg52.h
sbit z0 = P1^0;
sbit z1 = P1^1;
sbit y0 = P1^2;
sbit y1 = P1^3;
sbit x = P1^4;
sbit m = P3^2;
sbit zm0 = P2^0;
sbit zm1 = P2^1;
sbit ym0 = P2^2;
sbit ym1 = P2^3;
unsigned int line=0,j=0;
void turnright()
{
ym0=1;
ym1=1;
zm0=1;
zm1=0;
}
void turnleft()
{
ym0=0;
ym1=1;
zm0=1;
zm1=1;
}
void zuozq()
{
ym0=0;
ym1=1;
zm0=0;
zm1=1;
}
void youzq()
{
ym0=1;
ym1=0;
zm0=1;
zm1=0;
}
void qianxing()
{
ym0=0;
ym1=1;
zm0=1;
zm1=0;
}
void stop()
{
ym0=1;
ym1=1;
zm0=1;
zm1=1;
}
void xunji()
{
if(z1==1 y0==1) //检测到黑线为低电位
qianxing();
if(z1==0 y0==0)
qianxing();
if(z1==0 y0==1)
turnleft();
if( y0==0z1==1)
turnright();
// if(z0==0 y1==1)
// turnleft();
// if( y0==0z0==1)
// turnright();
}
void yanshi(unsigned int i)
{
unsigned int j;
while(--i)
for(j=0;j12000;j++);
}
void wzhongduan()
{
IT0=1;
EA=1;
EX0=1;
}
void youzhuan90()
{
youzq();
yanshi(3);
while(1)
{
youzq();
if(x==0)
break;
}
}
void case2()
{
youzq();
yanshi(5);
while(1)
{
if(m==0)
{
stop();
yanshi(10);
//
break;
}
}
zuozq();
yanshi(5);
while(1)
{
if(x==0)
{
qianxing();
yanshi(5);
break;
}
}
}
void zhuanshen()
{
EA=0;
while(1)
{
youzq();
yanshi(2);
if(m==0)
{
yanshi(2);
j++;
}
if(j=4)
if(x==0)
{
xunji();
yanshi(3);
break;
}
}
EA=1;
}
void main()
{
wzhongduan();
while(1)
{
switch(line)
{
case 2:EA=0; case2();EA=1;break;
case 4:EA=0; case2();EA=1;break;
case 7: EA=0;youzhuan90();youzhuan90();youzhuan90();youzhuan90();EA=1;break;
case 10:EA=0; case2();EA=1;break;
case 12:EA=0; case2();EA=1;break;
case 15: EA=0;youzhuan90();youzhuan90();youzhuan90();youzhuan90();EA=1;break;
default :xunji();
}
}
}
void w0 () interrupt 0
{
line++;
}
C语言课程题目设计 运动的小车
#includegraphics.h
#includeconio.h
#includestdlib.h
# define PATH"d:\\tc"
main()
{
int i,j,imsize;
int x=60,y=68,k=2;
char*buffer1,*buffer2;
int gdriver=VGA,gmode=VGAHI;
initgraph(gdriver,gmode,PATH);
setfillstyle(1,GREEN);
bar(70,70,120,100);
bar(120,84,150,100);
setcolor(EGA_BROWN);
setfillstyle(1,EGA_BROWN);
circle(84,103,8);
floodfill(84,103,EGA_BROWN);
circle(134,103,8);
floodfill(134,103,EGA_BROWN);
bar(20,122,556,142);
bar(556,60,600,142);
imsize=imagesize(x,y,152,112);
buffer1=(char*)malloc(imsize);
buffer2=(char*)malloc(imsize);
getimage(x,y,152,112,buffer1);
while(!kbhit())
{
for(i=0;i=400;i+=k)
putimage(x+i,y,buffer1,COPY_PUT);
j=i-k+x;
for(i=0;i152-x;i+=k)
{
imsize=imagesize(j+i,y,152-x+j,112);
buffer2=(char*)realloc(buffer2,imsize);
getimage(j+i,y,152-x+j-k,112,buffer2);
putimage(j+i+k,y,buffer2,COPY_PUT);
}
}
getch();
free(buffer1);
free(buffer2);
closegraph();
}
用C语言编程:绘制一架小车,在屏幕上来回奔跑
用flash可以吗?C语言貌似有点难
不过我想到一种方法 你用字符绘制成小车 然后统一输出 做一个循环 反复输出 每次输出 空格加1 做成++ 当输出当一定数值时 再做成-- 这样就应该能像你说的那样来回跑了吧!