fatal error C1004: unexpected end of file found的问题

xiaowei5418 2009-06-03 04:28:08
#include<math.h>
#include<stdio.h>
void main()
{
int i,j,m1,n1,m2,n2,x,y;
double a[720][576],max,p1,HM1,HM2,PHM2,PM[720][576],HM[720][576],MaxV,MinValue,Edge,HM3,msum;
FILE *cp;
if((cp=fopen("shiyan33.bmp","rb"))==NULL)
printf("orignal file can not be opened.");
else
{ for(j=0;j<=576;j++)
{
for(i=0;i<=720;i++)
{
fread(&a[i][j],1,1,cp);
}
}
fclose(cp);
}
if((cp=fopen("shiyanjieguo.bmp","wb"))==NULL)
printf("save file can not be opened.");
else
{ max=a[0][0];
for(j=0;j<576;j++)
for(i=0;i<720;i++)
{
if(a[i][j]>max)
max=a[i][j];
}
//模糊变换
for(j=0;j<576;j++)
for(i=0;i<720;i++)
{
if (a[i][j]<=74)
{
p1 = (a[i][j]/74)*(a[i][j]/74);
if (p1<= 0.9) p1 = 2*(p1*p1);
HM1 = fabs((sqrt(p1))*74);
HM2 = (HM1/74)*(HM1/74);
if (HM2 >= 0.9)
{
HM2 = 1 - 2*(1 - HM2)*(1 - HM2);
}
PHM2 = fabs((sqrt(HM2))*74);
}
else
{
p1 = (a[i][j]/max)*(a[i][j]/max);
if (p1 <= 0.9) p1 = 2*(p1*p1);
HM1 = fabs((sqrt(p1))*max);
HM2 = (HM1/max)*(HM1/max);
if (HM2 >= 0.9) HM2 = 1 - 2*(1 - HM2)*(1 - HM2);
PHM2 = fabs((sqrt(HM2))*max);
}
PM[i][j]=PHM2;
HM[i][j]=HM2;
}

for(j=1;j<575;j++)
for(i=1;i<719;i++)
{
msum=0;
for(y=-1;y<=1;y++)
for(x=-1;x<=1;x++)
{
msum = msum + PM[i+x][j+y];
}
PM[i][j] = (msum - PM[i][j])/8;
}

for(j=0;j<576;j++)
for(i=0;i<720;i++)
{
if(PM[i][j]<=160 && PM[i][j]>=80)
{
if((a[i][j])<=74)
{
HM3=fabs((PM[i][j]/74)*(PM[i][j]/74));
if (HM3 <= 0.9) HM3 = 2*HM3*HM3;
else HM3 = 1-2*(1-HM3)*(1-HM3);
}
if(PM[i][j]>=80 && PM[i][j]<=120) //反变换
{
if(a[i][j]<=74) PM[i][j]= 0-((sqrt(HM3))*74);
else PM[i][j]= 0-((sqrt(HM3))*max);
}
if(PM[i][j]>=120 && PM[i][j]<=160)
{
if(a[i][j]<=74) PM[i][j]=((sqrt(HM3))*74);
else PM[i][j]=((sqrt(HM3))*max);
}
}

for(j=1;j<575;j++)
for(i=1;i<719;i++)
{
double mRec[3][3]={{PM[i-1][j-1],PM[i][j-1],PM[i+1][j-1]},{PM[i-1][j],PM[i][j],PM[i+1][j]},{PM[i-1][j+1],PM[i][j+1],PM[i+1][j+1]}};
mRec[2][2]=mRec[1][1];
MaxV=mRec[0][0];
for(m1=0;m1<=2;j++)
for(n1=0;n1<=2;i++)
{
if(mRec[m1][n1]>MaxV) MaxV=mRec[m1][n1];
}
MinValue=mRec[0][0];
for(m2=0;m2<=2;j++)
for(n2=0;n2<=2;i++)
{
if(mRec[m2][n2]<MinValue)
MinValue=mRec[m2][n2];
}
Edge=(MaxV-MinValue);
fwrite(&Edge,1,1,cp);
}
}
fclose(cp);
printf("\n文件已输出至linear_zoom.raw\n");
return;

}
...全文
166 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaowei5418 2009-06-08
  • 打赏
  • 举报
回复
不好意思 也许是括号的问题 我查了好久,我在下面添括号也不好使。现在问题解决了 我把程序写成各个函数的形式 就没有这些错误了!谢谢大家!
Proteas 2009-06-03
  • 打赏
  • 举报
回复
#include "stdafx.h"
  • 打赏
  • 举报
回复
明显是少了{}对,或者;符号。

你自己排查吧
mhjava 2009-06-03
  • 打赏
  • 举报
回复

代码可能缺少以下元素之一:

右大括号

右括号

结束的注释标记 (*/)

分号
nosxcy 2009-06-03
  • 打赏
  • 举报
回复
要坚决杜绝再次出现这种错误哦
w0911h 2009-06-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 coverallwangp 的回复:]
在文件的最后加个}

你少了个}
[/Quote]
up
coverallwangp 2009-06-03
  • 打赏
  • 举报
回复
在文件的最后加个}

你少了个}
xiaowei5418 2009-06-03
  • 打赏
  • 举报
回复
这个程序编译完出现shiyan.cpp(121) : fatal error C1004: unexpected end of file found这个错误啊 改了好久 麻烦高手帮我看看!

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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