为什么我的程序一开始就结束了??请大虾们赐教!!小女子在线等。。

秋兔子 2007-05-03 09:37:53
写的内容是一个简单的图形编辑器,虽然编译成功,但因为根本无法运行,所以错误多多。。烦请各位硬着头皮帮我看看~~
系统报错:Abnormal program termination
代码如下:
#include <stdio.h>
int m,n;
char bmp[250][251];
void seek(int i,int j,char o,char c)
{ if(i>=1&&bmp[i-1][j]==o)
{bmp[i-1][j]=c;
seek(i-1,j,o,c);
if(j>=1&&bmp[i][j-1]==o)
{bmp[i][j-1]=c;
seek(i,j-1,o,c);
}
if(i<m-1&&bmp[i+1][j]==o)
{bmp[i+1][j]=c;
seek(i+1,j,o,c);
}
if(j<n-1&&bmp[i][j+1]==o)
{bmp[i][j+1]=c;
seek(i,j+1,o,c);
}
}
if(j>=1&&bmp[i][j-1]==o)
{bmp[i][j-1]=c;
seek(i,j-1,o,c);
if(i<m-1&&bmp[i+1][j]==o)
{bmp[i+1][j]=c;
seek(i+1,j,o,c);
}
if(j<n-1&&bmp[i][j+1]==o)
{bmp[i][j+1]=c;
seek(i,j+1,o,c);
}
}
if(i<m-1&&bmp[i+1][j]==o)
{bmp[i+1][j]=c;
seek(i+1,j,o,c);
if(j<n-1&&bmp[i][j+1]==o)
{bmp[i][j+1]=c;
seek(i,j+1,o,c);
}
}
if(j<n-1&&bmp[i][j+1]==o)
{bmp[i][j+1]=c;
seek(i,j+1,o,c);
}
return;
}

int main()
{int i,j,x,y,x1,x2,y1,y2,flag=0;
char name[71],ch,c;

while(flag==0)
{ scanf("%c%d%d\n",&ch,&m,&n);
memset(bmp,0,m*(n+1));
for(i=0;i<m;i++)
{bmp[i][n]='\0';} /* new */

ch=getchar();
switch(ch)
{ case 'I':{break;} /*new*/

case 'C':{memset(bmp,0,250*251);
for(i=0;i<m;i++)
{bmp[i][n]='\0';}
break; /*rubber*/
}

case 'L':{scanf("%d%d%c\n",&x,&y,&c);
bmp[x-1][y-1]=c;
break; /*pencil*/
}

case 'V':{scanf("%d%d%d%c\n",&x,&y1,&y2,&c);
for(i=y1-1;i<=y2-1;i++)
{bmp[i][x-1]=c;}
break; /*vertical line*/
}

case 'H':{scanf("%d%d%d%c\n",&x1,&x2,&y,&c);
for(i=x1-1;i<=x2-1;i++)
{bmp[y-1][i]=c;}
break; /*horizen line*/
}

case 'K':{scanf("%d%d%d%d%c\n",&x1,&y1,&x2,&y2,&c);
for(i=x1-1;i<=x2-1;i++)
for(j=y1-1;j<=y2-1;j++)
{bmp[i][j]=c;}
break;
} /*square*/

case 'F':{scanf("%d%d%c\n",&x,&y,&c);
if(c!=bmp[x-1][y-1])
{seek(x-1,y-1,bmp[x-1][y-1],c);
bmp[x-1][y-1]='c';
}
break;
} /*paint*/

case 'S':{scanf("%s",name);
break; /*name*/
}

case 'X':{flag=1;
break; /*end*/
}
}

printf("%s\n",name);
for(i=0;i<m;i++);
printf("%s",bmp[i]);
}

return 0;
}
...全文
1329 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangkuisoft 2007-05-05
  • 打赏
  • 举报
回复
大一有这种水平豁哥哥不懂唆,人妖一个
jeapg 2007-05-05
  • 打赏
  • 举报
回复
大一就能写出这么牛的程序
不错嘛
我们班上也有几个女的很牛
最后毕业后直接去华为了
lingzibb1028 2007-05-04
  • 打赏
  • 举报
回复
关注
systemthink 2007-05-04
  • 打赏
  • 举报
回复
关注
pstdouble 2007-05-04
  • 打赏
  • 举报
回复
哈哈 关注~~大一小女子很有钱途哦^^
huangyinvhai 2007-05-04
  • 打赏
  • 举报
回复
不是BUG 而是TC本来就没有这个头文件。
TC的功能对于现在来说已经有点不够了,当然锻炼C的能力还是可以的。
建议以后使用VC,如果你要做什么项目。
也可以用gcc。
秋兔子 2007-05-04
  • 打赏
  • 举报
回复
我郁闷,连我是女的都怀疑。。。不给计算机专业有女生阿!!严重抗议!!
还有楼上说我代码难看的同志,我不是有意的,本来TC上的挺好,但粘到记事本上就成这样了,以后贴之前会注意一下^-^
秋兔子 2007-05-04
  • 打赏
  • 举报
回复
我用的是TC2.0
不是吧。。这个编译器也太糟糕了,难道又是TC的一个bug?我昨天早上才发现一个浮点无法输入的bug今天又。。。我无语了。。
换编译器!换编译器!!
laiwusheng 2007-05-04
  • 打赏
  • 举报
回复
这是编辑哪门子图片的哟

我以前用Windows API写过一个简单的图像编辑器也有3000多行代码
jiangkeredgirl 2007-05-04
  • 打赏
  • 举报
回复
估计是严重早泄啊
aug_eight 2007-05-04
  • 打赏
  • 举报
回复
骗人的。这里没女人,还说小女子。
shaoshuai321 2007-05-04
  • 打赏
  • 举报
回复
补充下 注意点代码的对齐 女生写的编译通不过,程序效率都不是首要 先要看着漂亮
shaoshuai321 2007-05-04
  • 打赏
  • 举报
回复
我大1的时候还不能理解bmp能这样操作 楼主比我强多了 还是女的 厉害啊厉害啊 前途不可限量
yzzrn 2007-05-03
  • 打赏
  • 举报
回复
我记得memory.h里也有memset的
huangyinvhai 2007-05-03
  • 打赏
  • 举报
回复
这个是不能运行……各位老鸟看到没啊?我疑惑的是为什么我加了windows.h就可以运行了 另外memset就是windows.h里面定义的
干windows.h屁事?
非要窗口程序才用到这个吗?……
找不到?你用的是TC?
换VC试试。总之我是可以运行的 你贴的程序,而且没有错误 我试了。
各位不要有什么意见啊……程序没错。
yzzrn 2007-05-03
  • 打赏
  • 举报
回复
Attention, name is an array of character.

我果然是老了
yzzrn 2007-05-03
  • 打赏
  • 举报
回复
编译通过了,应该不是头文件的问题了
wxspll 2007-05-03
  • 打赏
  • 举报
回复
scanf("%s",name);
很久没有看C语言了,不知道LZ这句是对是错,是不是改为scanf("%s",&name);
---------------------

Attention, name is an array of character.
yzzrn 2007-05-03
  • 打赏
  • 举报
回复
scanf("%s",name);
很久没有看C语言了,不知道LZ这句是对是错,是不是改为scanf("%s",&name);
秋兔子 2007-05-03
  • 打赏
  • 举报
回复
试了一下
Error: Unable to open include file 'WINDOWS.H'
可恶的楼管。。不行了。。
加载更多回复(11)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧