小弟菜鸟,新得一程序,调试7警告,一错误,不知道怎么解决,请高手大哥帮忙调试解决问题,在线请教!!!
#include<stdlib.h>
#include<stdio.h>
#include<dos.h>
union REGS r;
int s=0;
int xtop,ytop,xbottom,ybottom;
void drawrh(int x,int y)
{line(x,y,x+15,y);
line(x+15,y-5,x+15,y+5);
line(x+15,y-5,x+35,y-5);
line(x+15,y+5,x+35,y+5);
line(x+35,y-5,x+35,y+5);
line(x+35,y,x+50,y);
}
void mouse(int x,int y)
{
line(x-5,y,x+5,y);
line(x,y-5,x,y+5);
}
void read(int *x,int *y,int *mbutt,int *oldx,int *oldy)
{
*oldx=*x;
*oldy=*y;
do
{r.x.ax=3;
int86(51,&r,&r);
*x=r.x.cx;
*y=r.x.dx;
*mbutt=r.x.bx;
}while(*x==*oldx&&*y==*oldy&&*mbutt==0);
}
void tuo(int *butt,int *mx,int *my,int *ox,int *oy)
{
char *p;
while(*butt==1)
{
mouse(*ox,*oy);
if(s==0)
{
s=1;
drawrh(*mx,*my);
}
read(mx,my,butt,ox,oy);
drawrh(*ox,*oy);
drawrh(*mx,*my);
mouse(*mx,*my);
bar(5,5,100,25);
scanf(p,"%d %d",*mx,*my);
outtextxy(10,10,p);
outtextxy(60,10,stry);
}
xtop=(*mx);ytop=(*my-5);
xbottom=(*mx+50);ybottom=(*my+5);
}
void main()
{
int mx,my,ox,oy;
int butt;
char *strx,*stry;
int gd=DETECT,gm;
registerbgidriver( EGAVGA_driver );
initgraph(&gd,&gm,"e:\\tc\\bgi");
drawrh(50,130);
setwritemode(XOR_PUT);
r.x.ax=3;
int86(51,&r,&r);
mx=r.x.dx;
my=r.x.cx;
butt=r.x.bx;
mouse(mx,my);
setfillstyle(1,BLACK);
for(;;)
{
bar(5,5,100,25);
scanf(strx,"%d",mx);
scanf(stry,"%d",my);
outtextxy(10,10,strx);
outtextxy(60,10,stry);
read(&mx,&my,&butt,&ox,&oy);
mouse(mx,my);
delay(20);
if((s==0)&&mx>50&&mx<100&&my>125&&my<135&&butt==1)
{
tuo(&butt,&mx,&my,&ox,&oy);
}
if(s==1&&mx>(xtop)&&mx<(xbottom)&&my<(ybottom)&&my>(ytop)&&butt==1)
{
drawrh(xtop,ytop+5);
s=0;
tuo(&butt,&mx,&my,&ox,&oy);
}
mouse(ox,oy);
mouse(mx,my);
if(butt==2)
{
closegraph();
exit(0);
}
}
}
PS:这程序的问题是(利用光标作图程序)想请教一下高手们一下,这程序是不是能达到这目的,还有scanf输出语句( scanf(p,"%d %d",*mx,*my);)里面是不是能用 *mx,*my ?而不是用&mx,&my?前者可行吗?
PS:这调试是出的七警告一错误,我觉得是一个地方的错误才导致的,不知道是不是这原因,请各位高手大哥一定调试解答,小弟急于知道答案!!!
PS:( initgraph(&gd,&gm,"e:\\tc\\bgi");这句话是什么意思,不懂!!!汗~~~~另(union REGS r;)这句也不懂,但见好多程序也用了的,小弟初学,请一定帮忙解答!!!谢谢各位
相关推荐
【工业自动化】欧姆龙PLC产品线与编程软件应用:从选型架构到调试排错的全流程技术指南
内容概要:本文《欧姆龙PLC与编程软件完全手册》系统介绍了欧姆龙PLC的产品架构、软件体系、通信协议、选型策略及编程调试技巧。重点区分了两大技术平台:基于CX-Programmer的传统C系列(CP/CJ/CS)与基于Sysmac Studio的新一代Sysmac平台(NJ/NX/NY),强调二者在软件生态、寻址方式和通信架构上的根本差异。手册详细对比了各系列PLC的性能参数,并提供与西门子产品的功能对标,帮助用户快速定位。深入讲解了编程操作中的关键问题,如任务结构设计、间接寻址、FB封装陷阱、在线调试五件套等,特别指出“FB使能关闭时状态不初始化”等易出错点。最后汇总了选型路径与现场避坑清单,极具实战指导价值。; 适合人群:具备一定工业自动化基础,从事PLC编程、设备调试、系统集成的研发工程师和技术人员,尤其是从西门子平台转向欧姆龙或参与新项目选型的1-5年经验从业者。; 使用场景及目标:① 新项目选型时判断应选用C系列还是Sysmac平台;② 编程调试过程中掌握高效操作技巧与常见问题排查方法;③ 实现跨平台迁移、系统升级或接手他人项目时规避架构与逻辑陷阱;④ 提升对欧姆龙PLC任务机制、间接寻址、FB设计等高级功能的理解与应用能力。; 阅读建议:本手册理论结合实践,建议按“先架构后操作”的顺序阅读,重点章节需结合实际工程反复演练。特别是FB设计规范、任务切换处理、强制操作收尾流程等内容,应在仿真环境中验证后再应用于现场。注意版本匹配问题,操作前确认所用软件与控制器固件版本兼容。
CISP-CSE注册云安全工程师备考资源包
CISP-CSE注册云安全工程师备考资源包
科技中介服务机构如何通过AI技术降低技术评估与匹配服务的操作门槛?.docx
科技中介服务机构如何通过AI技术降低技术评估与匹配服务的操作门槛?
国央企创新负责人如何借助平台实现创新资源的高效配置与项目落地?.docx
国央企创新负责人如何借助平台实现创新资源的高效配置与项目落地?
高校技术转移办公室人员如何高效筛选并推介科技成果?.docx
高校技术转移办公室人员如何高效筛选并推介科技成果?


新手乐园
