有个c程序不懂,麻烦大神看看~~

#include
#include
struct e
{
char a[10];
char b[10];
}z;
int main()
{ int t=0;
char s[10],d[10];
FILE *p;
void as();
if ((p=fopen("m.txt","r+"))==NULL)
{
p=fopen("m.txt","w+");
t=1;
}
if(t==1)
{
printf("当前没有任何用户\n");
printf("请新建用户名: ");
scanf("%s",s);
printf("为用户设置密码: ");
scanf("%s",d);
strcpy(z.a,s);
strcpy(z.b,d);
fprintf(p,"%s %s",z.a,z.b);
fclose(p);
}
if(t==0)
{
printf("请输入用户名: ");

scanf("%s",s);
   fscanf(p,"%s %s",z.a,z.b);
   fclose(p);
   if (!strcmp(z.a,s))
{
    printf("请输入密码:");
 scanf("%s",d);getchar();
       if(!strcmp(z.b,d))
 {  char i;
          printf("是否要修改密码?(输入y修改,n退出!)");
          scanf("%c",&i);
          if(i=='y')
 {   
              printf("请输入修改密码:");
           scanf("%s",z.b);
              p=fopen("m.txt","w+");
              fprintf(p,"%s %s",z.a,z.b);
  fclose(p);

int main()

{

char str[31],temp[31]; //定义IP地址为32位的字符类型
int a,b,c,d; //定义IP地址的四个字节为a,b,c,d,并且均为整型的
Printf(“请输入IP地址”);

while(gets(str) != NULL) ;
{

if(scanf(str,"%d.%d.%d.%d",&a,&b,&c,&d)==4

&& a>=0 && a<=255

&& b>=0 && b<=255

&& c>=0 && c<=255

&& d>=0 && d<=255) //IP地址每个字节的范围限制
{

printf(temp,"%d.%d.%d.%d",a,b,c,d);

if(strcmp(temp,str)==0)

{

printf("IP地址合法\n");

}

else

{

printf("IP地址不合法\n");

}

}

else

{

printf("IP地址不合法\n");
}

}

return 0;

}
C:\Users\Administrator\Desktop\Cpp1.cpp(83) : fatal error C1004: unexpected end of file found
这是什么意思,有大神帮忙解决下吗

代码错得太多了,这个程序有两个main函数,还各干各的。前一个函数代码不全,括号都不配对,后面程序printf大小写都不对,变成Printf,感觉你的代码是胡乱从word文档里粘贴的。

1.将两个main函数里的代码分别封装到一个函数里
2.IP那个函数里的scanf和printf都应该改成sscanf和sprintf

 #include<stdio.h>
#include<string.h>
struct e
{
    char a[10];
    char b[10];
}z;
void fun1()
{ 
    int t=0;
    char s[10],d[10];
    FILE *p;
    void as();
    if ((p=fopen("m.txt","r+"))==NULL) 
    {
        p=fopen("m.txt","w+");
        t=1;
    }
    if(t==1)
    {
        printf("当前没有任何用户\n");
        printf("请新建用户名: ");
        scanf("%s",s);
        printf("为用户设置密码: ");
        scanf("%s",d);
        strcpy(z.a,s);
        strcpy(z.b,d);
        fprintf(p,"%s %s",z.a,z.b);
        fclose(p);
    }
    if(t==0)
    {
        printf("请输入用户名: ");
        scanf("%s",s);
        fscanf(p,"%s %s",z.a,z.b);
        fclose(p);
        if (!strcmp(z.a,s))
        {
            printf("请输入密码:");
            scanf("%s",d);getchar();
            if(!strcmp(z.b,d))
            {  
                char i;
                printf("是否要修改密码?(输入y修改,n退出!)");
                scanf("%c",&i);
                if(i=='y')
                {   
                    printf("请输入修改密码:");
                    scanf("%s",z.b);
                    p=fopen("m.txt","w+");
                    fprintf(p,"%s %s",z.a,z.b);
                    fclose(p);
                }
            }
        }
    }
}
void fun2()
{
    char str[31],temp[31]; //定义IP地址为32位的字符类型
    int a,b,c,d; //定义IP地址的四个字节为a,b,c,d,并且均为整型的
    printf("请输入IP地址");
    fflush(stdin);
    while(gets(str) != NULL)
    {
        if(sscanf(str,"%d.%d.%d.%d",&a,&b,&c,&d)==4
            && a>=0 && a<=255
            && b>=0 && b<=255
            && c>=0 && c<=255
            && d>=0 && d<=255) //IP地址每个字节的范围限制
        {
            sprintf(temp,"%d.%d.%d.%d",a,b,c,d);
            if(strcmp(temp,str)==0)
            {
                printf("IP地址合法\n");
            }
            else
            {
                printf("IP地址不合法\n");
            }
        }
        else
        {
            printf("IP地址不合法\n");
        }
    }
} 

int main()
{
    fun1();
    fun2();
}

图片说明