有两个关于“{”的错误

113行的{去掉后还是一样的错误提示

img

img

#include
#include
#include
#include <windows.h>
#include
#include
#include<stdio.h>

void fun1();
void input();
void change();
void deleted();
void find();
void print();

typedef struct Match {
struct Match *next; //为创建链表做准备
int number; //比赛项目编号
char call[10]; //比赛项目名称
char time[10]; //比赛时间
char place[20]; //比赛地点
} Match;

typedef struct Athlete {
struct Athlete *next; //为创建链表做准备
int number; //运动员编号
char name[10]; //运动员姓名
char part[20]; //运动员所在班级
char sex[20]; //运动员性别
int age; //运动员年龄
}Athlete;

typedef struct Message {
struct Message *next; //为创建链表做准备
char name[10]; //运动员姓名
char avent[10]; //运动员参加的比赛项目名称
int score; //比赛成绩
int ca; //比赛名次
} Message;

int main()
{
int i, ok = 0;

printf("欢迎进入校运动会管理界面\n");
printf("**********************************************************************\n");

fun1();
    
    scanf("%d", &i);
    switch (i) {
    case 1:
        input();
        break;
    case 2:
        change();
        break;
    case 3:
        deleted();
        break;
    case 4:
        find();
        break;
    case 5:
        print();
        break;
    case 6:
        return 0;
    default:
        printf("您输入数据有误!\n");
    } 

//下面是主菜单的内容选项:

{
printf("******************************\n");
printf("\n");
printf("学校运动会管理系统\n");
printf("----数据录入 请按:1----\n");
printf("----数据修改 请按:2----\n");
printf("----数据删除 请按:3----\n");
printf("----数据查询 请按:4----\n");
printf("----数据显示 请按:5----\n");
printf("----退出系统 请按:6----\n");
printf("\n");
printf("*******************************\n");
printf("\n");
printf("*****请输入一个数据,并按回车键!*****\n");
}

int input()
{
printf("\n");
printf("\t\t\t请输入要输入的信息:\n");
printf("\t\t比赛项目信息输入 请按:1\n");
printf("\t\t运动员信息输入 请按:2\n");
printf("\t\t比赛赛事信息输入 请按:3\n");
int j;

fseek(stdin, 0, SEEK_END);
scanf("%d", &j);
switch (j) {
case 1:
input1();
break;
case 2:
}
input2();
break;
case 3:
input3();
break;
default:
printf("输入数据有误!");
}
return 0;
}

void input1()
{

FILE *fout = fopen("d:\比赛项目.dat", "a+");
char ch;
Match a;
do {
printf("请分别输入比赛项目编号、名称、比赛时间、比赛地点\n");

    scanf("%d%s%s%s", &a.number, a.call, a.time, a.place);
    a.next = NULL;
    fwrite((char *)&a, sizeof(Match), 1, fout);
    printf("是否继续输入,如果继续键入Y|y\n");
    fseek(stdin, 0, SEEK_END);
    //getchar();
    scanf("%c", &ch);
} while (ch == 'y' || ch == 'Y');
fclose(fout);

}

void input2()
{
FILE* fout = fopen("e:\运动员.dat", "a+");//fopen("e:\运动员.dat", "a+")
//表示在e盘打开一个运动员.dat文件,a+表示对这个文件操作为追加操作,即后面往文件写入的内容不覆盖前面的内容
//FILE* fout表示定义一个FILE类型的指针fout,该指针指向这个文件在磁盘中的位置,可以通过该指针访问这个运动员.dat文件
char ch;
Athlete b;
do {
printf("请分别输入运动员编号,姓名,性别,年龄,所属班级");
scanf("%d%s%s%d%s", &b.number, b.name, b.sex, &b.age, b.part);
b.next = NULL;
fwrite((char *)&b, sizeof(Athlete), 1, fout);
printf("是否继续输入,如果继续键入Y|y\n");

    scanf("%c", &ch);
} while (ch == 'y' || ch == 'Y');//判断输入的字符是不是y或Y

}

void input3()
{
FILE* fout = fopen("d:\比赛赛事.dat", "a+");
//fopen("e:\运动员.dat", "a+")表示在e盘打开一个运动员.dat文件,a+表示对这个文件操作为追加操作,即后面往文件写入的内容不覆盖前面的内容
//FILE* fout表示定义一个FILE类型的指针fout,该指针指向这个文件在磁盘中的位置,可以通过该指针访问这个运动员.dat文件
char ch;
Message c;
do {
printf("请分别输入参赛运动员姓名、比赛名称、比赛成绩、比赛名次.\n");

    scanf("%s%s%d%d", c.name, c.avent, &c.score, &c.ca);  
    c.next = NULL;   
    fwrite((char *)&c, sizeof(Message), 1, fout);  
    printf("是否继续输入,如果继续键入Y|y\n");

    //getchar();
    scanf("%c", &ch);   
} while (ch == 'y' || ch == 'Y');  
fclose(fout); //关闭文件

}

int change()
{
printf("\n");
printf("\t\t\t请输入要修改的信息:\n");
printf("\t\t比赛项目信息修改 请按:1\n");
printf("\t\t运动员信息修改 请按:2\n");
printf("\t\t比赛赛事信息修改 请按:3\n");
int j;

scanf("%d", &j);
switch (j) {


case 1:
    change1();
    break;
case 2:
    change2();
    break;
case 3:
    change3();
    break;
default:
    printf("输入数据有误!\n");
}
return 0;

}

int change1()
{
printf("您正在进行修改比赛项目有关事项操作!\n");
creat();
Match *p1;
p1 = head1;
printf("请输入要修改比赛项目的编号:\n");
int number1;
int sign = 0;

scanf("%d", &number1);
while (p1 != NULL) {
    if (p1->number == number1) {
        sign = 1;
        break;
    }


p1 = p1->next;
}
if (sign == 0)
    printf("没有找到要修改的记录\n");
else {
    printf("请选择要修改比赛项目的2222些信息\n");
    printf("------修改比赛项目的编号----1\n");
    printf("------修改比赛项目的名称----2\n");
    printf("------修改比赛时间----3\n");
    printf("------修改比赛地点----4\n");
    printf("请输入对应信息的编号");
    int a;
    int nu;
    char info[20];
    fseek(stdin, 0, SEEK_END);
    scanf("%d", &a);
    switch (a) {
    case 1:
        printf("请输入新的比赛编号:\n");
    
        scanf("%d", &nu);
        p1->number = nu;
        printf("比赛项目编号修改成功!\n");
        break;
    case 2:
        printf("请输入新的比赛项目名称:\n");
    
        scanf("%s", info);
        strcpy(p1->call, info);
        printf("比赛项目名称修改成功!\n");
        break;
    case 3:
        printf("请输入新的比赛时间:\n");
        
        scanf("%s", info);
        strcpy(p1->time, info);
        printf("比赛项目时间修改成功!\n");
        break;
    case 4:
        printf("请输入新的比赛地点:\n");
    
        scanf("%s", info);
        strcpy(p1->place, info);
        printf("比赛项目地点修改成功!\n");
        break;
    }
    FILE *fout = fopen("d:\\比赛项目.dat", "a+");
    p1 = head1;
    while (p1 != NULL) {
        fwrite((char *)p1, sizeof(Match), 1, fout);
        p1 = p1->next;
    }
    fclose(fout);
}
return 0;

}

int change2()
{
printf("您正在进行修改运动员基本信息操作!\n");
creat2();
Athlete *p1;
p1 = head4;
printf("请输入要修改运动员的编号:\n");
int number1;
int sign = 0;

scanf("%d", &number1);
while (p1 != NULL) {
    if (p1->number == number1) {
        sign = 1;
        break;
    }
    p1 = p1->next;
}
if (sign == 0)
    printf("没有找到要修改的记录!\n");
else {
    printf("请选择要修改运动员的哪些信息\n");
    printf("------修改运动员的编号----1\n");
    printf("------修改运动员的姓名----2");
    printf("------修改运动员的班级----3\n");
    printf("------修改运动员性别----4\n");
    printf("------修改运动员年龄----4\n");
    printf("请输入对应信息的编号\n");
    int a;
    int nu;
    char info[20];

    scanf("%d", &a);
    switch (a) {
    case 1:
        printf("请输入新的运动员编号:\n");
        
        scanf("%d", &nu);
        p1->number = nu;
        printf("运动员的编号修改成功!\n");
        break;
    case 2:
        printf("请输入新的运动员姓名:\n");
    
        scanf("%s", info);
        strcpy(p1->name, info);
        printf("运动员姓名修改成功!\n");
        break;
    case 3:
        printf("请输入新的运动员的班级:\n");
    
        scanf("%s", info);
        strcpy(p1->part, info);
        printf("运动员的班级!\n");
        break;
    case 4:
        printf("请输入新的性别:\n");
    
        scanf("%s", info);



        strcpy(p1->sex, info);
        printf("运动员性别修改成功!\n");
        break;
    case 5:
        printf("请输入新的年龄:\n");
    
        scanf("%d", &nu);
        p1->age = nu, printf("运动员年龄修改成功!\n");
        break;
    }
    FILE* fout = fopen("d:\\运动员.dat", "w");
    p1 = head4;
    while (p1 != NULL) {
        fwrite((char *)p1, sizeof(Athlete), 1, fout);
        p1 = p1->next;
    }
    fclose(fout);
}
return 0;

int change3()
{
printf("您正在进行修改比赛赛事有关事项操作!");
creat3();
Message *p1;
p1 = head7;
printf("请输入参赛运动员姓名及参赛项目名称!\n ");
char na[20];
char info[20];
int sign = 0; //设置的标记变量
fseek(stdin, 0, SEEK_END);
scanf("%s%s", na, info);
while (p1 != NULL) {
if ((p1->name == na) && (p1->avent == info)) {
sign = 1;
break;
}

    p1 = p1->next;
}
if (sign == 0)
    printf("没有找到要修改的记录!\n");
else {
    printf("请选择要修改比赛赛事的哪些信息\n");
    printf("------修改参赛运动员的姓名----1\n");
    printf("------修改比赛项目的名称----2\n");
    printf("------修改比赛成绩----3\n");
    printf("------修改比赛名次----4\n");
    printf("请输入对应信息的编号\n");
    int a;
    int nu;  //新的整形数据
    char info[20];
    fseek(stdin, 0, SEEK_END);
    scanf("%d", &a);
    switch (a) {
    case 1:
        printf("请输入新的参赛运动员姓名:");
        
        scanf("%s", info);
        strcpy(p1->name, info);
        printf("参赛运动员姓名修改成功!\n");
        break;
    case 2:
        printf("请输入新的比赛项目名称:\n");
        
        scanf("%s", info);
        strcpy(p1->avent, info);
        printf("比赛项目名称修改成功!\n");
        break;
    case 3:
        printf("请输入新的比赛成绩:\n");
    
        scanf("%d", &nu);
        p1->score = nu;
        printf("比赛项目成绩修改成功!\n");
        break;
    case 4:
        printf("请输入新的比赛名次:\n");
    
        scanf("%d", &nu);
    

p1->ca = nu;
        printf("比赛名次修改成功!\n");
        break;
    }
    FILE* fout = fopen("d:\\比赛赛事.dat", "w");
    p1 = head7;
    while (p1 != NULL) {
        fwrite((char *)p1, sizeof(Message), 1, fout);
        p1 = p1->next;
    }
    fclose(fout);
}
return 0;

}
}

int deleted()
{
printf("\n");
printf("\t\t\t请输入要删除的信息:\n");
printf("\t\t比赛项目信息删除 请按:1\n");
printf("\t\t运动员信息删除 请按:2\n");
printf("\t\t比赛赛事信息删除 请按:3\n");
int j;
fseek(stdin, 0, SEEK_END);
scanf("%d", &j);
switch (j) {
case 1:
delete1();
break;
case 2:
delete2();
break;
case 3:
delete3();
break;
default:
printf("输入数据有误!\n");
}
return 0;
}

int delete1()
{
creat();
Match *p1, *p2;
p2 = p1 = head1;
printf("请选择要删除比赛项目的那些信息\n");
printf("------删除比赛项目的编号----1\n");
printf("------删除比赛项目的名称----2\n");
printf("请输入对应信息的编号\n");
int n;
fseek(stdin, 0, SEEK_END);
scanf("%d", &n);
int num, flag = 0;
char cal[10];
switch (n) {
case 1:
fseek(stdin, 0, SEEK_END);
scanf("%d", &num);
while (p1 != NULL) {
if (p1->number == num) {
flag = 1;
break;
}
p2 = p1;
p1 = p1->next;
}
if (flag == 0)
printf("没有找到要删除的记录\n");
else
p2->next = p1->next;
case 2:
fseek(stdin, 0, SEEK_END);
scanf("%s", cal);
while (p1 != NULL) {
if (!strcmp(p1->call, cal)) {
flag = 1;
break;
}
p2 = p1;
p1 = p1->next;
}
if (flag == 0)

    printf("没有找到要删除的记录\n");
    else
        p2->next = p1->next;
}
FILE* fout = fopen("d:\\比赛项目.dat", "a+");
p1 = head1;
while (p1 != NULL) {
    fwrite((char *)p1, sizeof(Match), 1, fout);
    p1 = p1->next;
}

fclose(fout);
return 0;

}

int delete2()
{
creat2();
Athlete *p1, *p2;
p2 = p1 = head4;
printf("请选择要删除运动员的哪些信息\n");
printf("------删除运动员的编号----1\n");
printf("------删除运动员的姓名----2\n");
printf("请输入对应信息的编号\n");
int n;
fseek(stdin, 0, SEEK_END);
scanf("%d", &n);
int num, flag = 0;
char na[10];
switch (n) {
case 1:
fseek(stdin, 0, SEEK_END);
scanf("%d", &num);
while (p1 != NULL) {
if (p1->number == num) {
flag = 1;
break;
}
p2 = p1;
p1 = p1->next;
}

if (flag == 0)
printf("没有找到要删除的记录!\n");
else
p2->next = p1->next;
case 2:
fseek(stdin, 0, SEEK_END);
scanf("%s", na);
while (p1 != NULL) {
if (!strcmp(p1->name, na)) {
flag = 1;
break;
}
p2 = p1;
p1 = p1->next;
}
if (flag == 0)
printf("没有找到要删除的记录!\n");
else
p2->next = p1->next;
}
FILE* fout = fopen("d:\运动员.dat", "w");
p1 = head4;
while (p1 != NULL) {
fwrite((char *)p1, sizeof(Athlete), 1, fout);
p1 = p1->next;
}
fclose(fout);
return 0;
}

int delete3()
{
creat3();
Message *p1, *p2;
p2 = p1 = head7;
printf("请输入要删除的参赛运动员姓名及比赛项目名称:\n");
int flag = 0;
char na[20];

char info[20];

scanf("%s%s", na, info);
while (p1 != NULL) {
    if ((p1->name == na) && (p1->avent == info)) {
        flag = 1;
        break;
    }
    p2 = p1;
    p1 = p1->next;
}
if (flag == 0)
    printf("没有找到要删除的记录!\n");
else
    p2->next = p1->next;
FILE* fout = fopen("d:\\比赛赛事.dat", "w");
p1 = head7;
while (p1 != NULL) {
    fwrite((char *)p1, sizeof(Message), 1, fout);
    p1 = p1->next;
}
fclose(fout);
return 0;


int find()

{
printf("\n");
printf("\t\t\t请输入要查询的信息:\n");
printf("\t\t比赛项目信息查询 请按:1\n");
printf("\t\t运动员信息查询 请按:2\n");
printf("\t\t比赛赛事信息查询 请按:3\n");
int j;

scanf("%d", &j);
switch (j) {
case 1:
    find1();
    break;
case 2:
    find2();
    break;

case 3:
find3();
break;
default:
printf("输入数据有误!\n");
}
return 0;

void find1()
{
creat();
Match *p1;
p1 = head1;
int sign = 0;
printf("请选择要查询比赛项目的哪些信息\n");
printf("------按比赛项目的编号查询----1\n");
printf("------按比赛项目的名称查询----2\n");
printf("------按比赛时间查询----3\n");
printf("------按比赛地点查询----4\n");
printf("请输入对应信息的编号\n");
int a;
int nu;
char info[20];
fseek(stdin, 0, SEEK_END);
scanf("%d", &a);
switch (a) {
case 1:
printf("请输入要查询的比赛编号:\n");
fseek(stdin, 0, SEEK_END);
scanf("%d", &nu);
while (p1 != NULL) {
if (p1->number == nu) {
sign = 1;
break;
}
p1 = p1->next;
}
if (sign == 0)
printf("没有找到要查询的记录\n");
else

printf("%d\t%s\t%s\t%s\n", p1->number, p1->call, p1->time, p1->place);
    break;//结束switch语句
case 2:
    printf("请输入要查询的比赛项目名称:\n");
    fseek(stdin, 0, SEEK_END);
    scanf("%s", info);
    while (p1 != NULL) {
        if (!strcmp(p1->call,info)) {
            sign = 1;
            break;
        }
        p1 = p1->next;
    }
    if (sign == 0)
        printf("没有找到要查询的记录!\n");
    else
        printf("%d\t%s\t%s\t%s\n", p1->number, p1->call, p1->time, p1->place);
    break;//结束switch语句
case 3:
    printf("请输入要查询的比赛时间:\n");
    fseek(stdin, 0, SEEK_END);
    scanf("%s", info);
    while (p1 != NULL) {
        if (!strcmp(p1->time, info)) {
            sign = 1;  
            break;  
        }
        p1 = p1->next;  
    }
    if (sign == 0)  
        printf("没有找到要查询的记录!\n");
    else
        printf("%d\t%s\t%s\t%s\n", p1->number, p1->call, p1->time, p1->place);  
    break;  //结束switch语句
case 4:              
    printf("请输入要查询的比赛地点:\n");
    fseek(stdin, 0, SEEK_END);
    scanf("%s", info);
    while (p1 != NULL) {
        

if (!strcmp(p1->place, info)) {
sign = 1;
break;
}
p1 = p1->next;
}
if (sign == 0)
printf("没有找到要查询的记录!\n");
else
printf("%d\t%s\t%s\t%s\n", p1->number, p1->call, p1->time, p1->place);
}
}
typedef struct Athlete
{
struct Athlete *next;
int number;
char name[10];
char part[20];
char sex[20];
int age;
}Athlete;

void find2()
{
creat2();
Athlete *p1;
p1 = head4;
int sign = 0;
printf("请选择要查询运动员的哪些信息\n");
printf("------按运动员的编号查询----1\n");
printf("------按运动员的姓名查询----2\n");
printf("请输入对应信息的编号\n");
int a;
int nu;
char info[20];
fseek(stdin, 0, SEEK_END);
scanf("%d", &a);
switch (a)
{
case 1:
printf("请输入要查询的运动员编号:\n");
fseek(stdin, 0, SEEK_END);
scanf("%d", &nu);
while (p1 != NULL)
{
if (p1->number == nu)
{
sign = 1;
break;
}
p1 = p1->next;
}
if (sign == 0)
printf("没有找到要查询的记录!\n");
else
printf("%d\t%s\t%s\t%s\t%d\n", p1->number, p1->name, p1->part, p1->sex, p1->age);
break; //结束switch语句
case 2:
printf("请输入要查询的运动员姓名:\n");
fseek(stdin, 0, SEEK_END);
scanf("%s", info);
while (p1 != NULL)
{
if (p1->name == info)
{
sign = 1;
break;
}
p1 = p1->next;
}
if (sign == 0)
printf("没有找到要查询的记录!\n");
else
printf("%d\t%s\t%s\t%s\t%d\n", p1->number, p1->name, p1->part, p1->sex, p1->age);
break; //结束switch语句
}
}

void find3()

{
creat3();
Message *p1;
p1 = head7;
int sign = 0;
printf("请输入要查询的参赛运动员姓名和比赛项目名称! \n");
char na[20];
char info[20];

scanf("%s%s", na, info);
while (p1 != NULL) {
    if ((p1->name == na) && (p1->avent == info)) {
        sign = 1;
        break;
    }
    p1 = p1->next;
}
if (sign == 0)
    printf("没有找到要查询的记录!\n");
else
    printf("%s%s%d%d", p1->name, p1->avent, p1->score, p1->ca);

}

int print()
{
printf("\n");
printf("\t\t\t请输入要显示输出的信息:\n");
printf("\t\t比赛项目信息显示输出 请按:1\n");
printf("\t\t运动员信息显示输出 请按:2\n");
printf("\t\t比赛赛事信息显示输出 请按:3\n");
int j;

scanf("%d", &j);
switch (j) {
case 1:
    print1();
    break;
case 2:
    print2();
    break;
case 3:
    print3();
    break;
default:
    printf("输入数据有误!\n");
}

return 0;
}

void print1()
{
creat();
Match *p1 = head1;
printf("分别输出比赛项目编号、名称、比赛时间、比赛地点.\n");
while (p1 != NULL)
{
printf("%d\t%s\t%s\t%s\n", p1->number, p1->call, p1->time, p1->place);
p1 = p1->next;
}
}

void print2()
{
creat2();
Athlete *p1 = head4;
printf("分别输出运动员编号、姓名、班级、性别、年龄.\n");
while (p1 != NULL)
{
printf("%d\t%s\t%s\t%s\t%d\n", p1->number, p1->name, p1->part, p1->sex, p1->age);
p1 = p1->next;
}
}

void print3()
{
creat3();
Message *p1 = head7;
printf("输出比赛参赛运动员姓名、比赛项目名称、比赛成绩、比赛名次.\n");
while (p1 != NULL)
{

printf("%s%s%d%d", p1->name, p1->avent, p1->score, p1->ca);
p1 = p1->next;
}
}

能改的都改了,但是你后面函数里用的head1到head7的全局变量不知道从哪里冒出来的,也不知道在哪里初始化的,所以没有办法修改,你再找找代码来源检查一下吧。这代码100%是复制品吧

void fun1();
void input();
void input1();
void input2();
void input3();
void change();
void change1();
void change2();
void change3();
void deleted();
void delete1();
void delete2();
void delete3();
void find();
void find1();
void find2();
void find3();
void print();
void creat();
void creat1();
void creat2();
void creat3();
void print();
void print1();
void print2();
void print3();


typedef struct Match 
{
    struct Match *next; //为创建链表做准备
    int number; //比赛项目编号
    char call[10]; //比赛项目名称
    char time[10]; //比赛时间
    char place[20]; //比赛地点
} Match;

typedef struct Athlete 
{
    struct Athlete *next; //为创建链表做准备
    int number; //运动员编号
    char name[10]; //运动员姓名
    char part[20]; //运动员所在班级
    char sex[20]; //运动员性别
    int age; //运动员年龄
}Athlete;

typedef struct Message 
{
    struct Message *next; //为创建链表做准备
    char name[10]; //运动员姓名
    char avent[10]; //运动员参加的比赛项目名称
    int score; //比赛成绩
    int ca; //比赛名次
} Message;

int main()
{
    int i, ok = 0;

    printf("欢迎进入校运动会管理界面\n");
    printf("**********************************************************************\n");

    fun1();

    scanf("%d", &i);
    switch (i) 
    {
    case 1:
        input();
        break;
    case 2:
        change();
        break;
    case 3:
        deleted();
        break;
    case 4:
        find();
        break;
    case 5:
        print();
        break;
    case 6:
        return 0;
    default:
        printf("您输入数据有误!\n");
    } 
    //下面是主菜单的内容选项:

    {
        printf("******************************\n");
        printf("\n");
        printf("学校运动会管理系统\n");
        printf("----数据录入 请按:1----\n");
        printf("----数据修改 请按:2----\n");
        printf("----数据删除 请按:3----\n");
        printf("----数据查询 请按:4----\n");
        printf("----数据显示 请按:5----\n");
        printf("----退出系统 请按:6----\n");
        printf("\n");
        printf("*******************************\n");
        printf("\n");
        printf("*****请输入一个数据,并按回车键!*****\n");
    }
}
void input()
{
    printf("\n");
    printf("\t\t\t请输入要输入的信息:\n");
    printf("\t\t比赛项目信息输入 请按:1\n");
    printf("\t\t运动员信息输入 请按:2\n");
    printf("\t\t比赛赛事信息输入 请按:3\n");
    int j;

    fseek(stdin, 0, SEEK_END);
    scanf("%d", &j);
    switch (j) 
    {
    case 1:
        input1();
        break;
    case 2:
        input2();
        break;
    case 3:
        input3();
        break;
    default:
        printf("输入数据有误!");
    }
}


void input1()
{
    FILE *fout = fopen("d:\\比赛项目.dat", "a+");
    char ch;
    Match a;
    do 
    {
        printf("请分别输入比赛项目编号、名称、比赛时间、比赛地点\n");

        scanf("%d%s%s%s", &a.number, a.call, a.time, a.place);
        a.next = NULL;
        fwrite((char *)&a, sizeof(Match), 1, fout);
        printf("是否继续输入,如果继续键入Y|y\n");
        fseek(stdin, 0, SEEK_END);
        //getchar();
        scanf("%c", &ch);
    } while (ch == 'y' || ch == 'Y');
    fclose(fout);
}

void input2()
{
    FILE* fout = fopen("e:\\运动员.dat", "a+");//fopen("e:\运动员.dat", "a+")
    //表示在e盘打开一个运动员.dat文件,a+表示对这个文件操作为追加操作,即后面往文件写入的内容不覆盖前面的内容
    //FILE* fout表示定义一个FILE类型的指针fout,该指针指向这个文件在磁盘中的位置,可以通过该指针访问这个运动员.dat文件
    char ch;
    Athlete b;
    do 
    {
        //printf("请分别输入运动员编号,姓名,性别,年龄,所属班级");
        printf("请分别输入运动员编号,姓名,性别,年龄,所属班级:");
        scanf("%d%s%s%d%s", &b.number, b.name, b.sex, &b.age, b.part);
        b.next = NULL;
        fwrite((char *)&b, sizeof(Athlete), 1, fout);
        printf("是否继续输入,如果继续键入Y|y\n");

        scanf("%c", &ch);
    } while (ch == 'y' || ch == 'Y');//判断输入的字符是不是y或Y
}

void input3()
{
    FILE* fout = fopen("d:\\比赛赛事.dat", "a+");
    //fopen("e:\运动员.dat", "a+")表示在e盘打开一个运动员.dat文件,a+表示对这个文件操作为追加操作,即后面往文件写入的内容不覆盖前面的内容
    //FILE* fout表示定义一个FILE类型的指针fout,该指针指向这个文件在磁盘中的位置,可以通过该指针访问这个运动员.dat文件
    char ch;
    Message c;
    do 
    {
        printf("请分别输入参赛运动员姓名、比赛名称、比赛成绩、比赛名次.\n");

        scanf("%s%s%d%d", c.name, c.avent, &c.score, &c.ca);  
        c.next = NULL;   
        fwrite((char *)&c, sizeof(Message), 1, fout);  
        printf("是否继续输入,如果继续键入Y|y\n");

        //getchar();
        scanf("%c", &ch);   
    } while (ch == 'y' || ch == 'Y');  
    fclose(fout); //关闭文件
}

void change()
{
    printf("\n");
    printf("\t\t\t请输入要修改的信息:\n");
    printf("\t\t比赛项目信息修改 请按:1\n");
    printf("\t\t运动员信息修改 请按:2\n");
    printf("\t\t比赛赛事信息修改 请按:3\n");
    int j;

    scanf("%d", &j);
    switch (j) {


    case 1:
        change1();
        break;
    case 2:
        change2();
        break;
    case 3:
        change3();
        break;
    default:
        printf("输入数据有误!\n");
    }
}

void change1()
{
    printf("您正在进行修改比赛项目有关事项操作!\n");
    creat();
    Match *p1;
    p1 = head1;
    printf("请输入要修改比赛项目的编号:\n");
    int number1;
    int sign = 0;

    scanf("%d", &number1);
    while (p1 != NULL) 
    {
        if (p1->number == number1) 
        {
            sign = 1;
            break;
        }


        p1 = p1->next;
    }
    if (sign == 0)
        printf("没有找到要修改的记录\n");
    else {
        printf("请选择要修改比赛项目的2222些信息\n");
        printf("------修改比赛项目的编号----1\n");
        printf("------修改比赛项目的名称----2\n");
        printf("------修改比赛时间----3\n");
        printf("------修改比赛地点----4\n");
        printf("请输入对应信息的编号");
        int a;
        int nu;
        char info[20];
        fseek(stdin, 0, SEEK_END);
        scanf("%d", &a);
        switch (a) 
        {
        case 1:
            printf("请输入新的比赛编号:\n");

            scanf("%d", &nu);
            p1->number = nu;
            printf("比赛项目编号修改成功!\n");
            break;
        case 2:
            printf("请输入新的比赛项目名称:\n");

            scanf("%s", info);
            strcpy(p1->call, info);
            printf("比赛项目名称修改成功!\n");
            break;
        case 3:
            printf("请输入新的比赛时间:\n");

            scanf("%s", info);
            strcpy(p1->time, info);
            printf("比赛项目时间修改成功!\n");
            break;
        case 4:
            printf("请输入新的比赛地点:\n");

            scanf("%s", info);
            strcpy(p1->place, info);
            printf("比赛项目地点修改成功!\n");
            break;
        }
        FILE *fout = fopen("d:\\比赛项目.dat", "a+");
        p1 = head1;
        while (p1 != NULL) {
            fwrite((char *)p1, sizeof(Match), 1, fout);
            p1 = p1->next;
        }
        fclose(fout);
    }
}

void change2()
{
    printf("您正在进行修改运动员基本信息操作!\n");
    creat2();
    Athlete *p1;
    p1 = head4;
    printf("请输入要修改运动员的编号:\n");
    int number1;
    int sign = 0;

    scanf("%d", &number1);
    while (p1 != NULL) 
    {
        if (p1->number == number1)
        {
            sign = 1;
            break;
        }
        p1 = p1->next;
    }
    if (sign == 0)
        printf("没有找到要修改的记录!\n");
    else {
        printf("请选择要修改运动员的哪些信息\n");
        printf("------修改运动员的编号----1\n");
        printf("------修改运动员的姓名----2");
        printf("------修改运动员的班级----3\n");
        printf("------修改运动员性别----4\n");
        printf("------修改运动员年龄----4\n");
        printf("请输入对应信息的编号\n");
        int a;
        int nu;
        char info[20];

        scanf("%d", &a);
        switch (a) {
        case 1:
            printf("请输入新的运动员编号:\n");

            scanf("%d", &nu);
            p1->number = nu;
            printf("运动员的编号修改成功!\n");
            break;
        case 2:
            printf("请输入新的运动员姓名:\n");

            scanf("%s", info);
            strcpy(p1->name, info);
            printf("运动员姓名修改成功!\n");
            break;
        case 3:
            printf("请输入新的运动员的班级:\n");

            scanf("%s", info);
            strcpy(p1->part, info);
            printf("运动员的班级!\n");
            break;
        case 4:
            printf("请输入新的性别:\n");

            scanf("%s", info);



            strcpy(p1->sex, info);
            printf("运动员性别修改成功!\n");
            break;
        case 5:
            printf("请输入新的年龄:\n");

            scanf("%d", &nu);
            p1->age = nu, printf("运动员年龄修改成功!\n");
            break;
        }
        FILE* fout = fopen("d:\\运动员.dat", "w");
        p1 = head4;
        while (p1 != NULL) {
            fwrite((char *)p1, sizeof(Athlete), 1, fout);
            p1 = p1->next;
        }
        fclose(fout);
    }
}

void change3()
{
    printf("您正在进行修改比赛赛事有关事项操作!");
    creat3();
    Message *p1;
    p1 = head7;
    printf("请输入参赛运动员姓名及参赛项目名称!\n ");
    char na[20];
    char info[20];
    int sign = 0; //设置的标记变量
    fseek(stdin, 0, SEEK_END);
    scanf("%s%s", na, info);
    while (p1 != NULL) {
        if ((p1->name == na) && (p1->avent == info)) {
            sign = 1;
            break;
        }

        p1 = p1->next;
    }
    if (sign == 0)
        printf("没有找到要修改的记录!\n");
    else {
        printf("请选择要修改比赛赛事的哪些信息\n");
        printf("------修改参赛运动员的姓名----1\n");
        printf("------修改比赛项目的名称----2\n");
        printf("------修改比赛成绩----3\n");
        printf("------修改比赛名次----4\n");
        printf("请输入对应信息的编号\n");
        int a;
        int nu;  //新的整形数据
        char info[20];
        fseek(stdin, 0, SEEK_END);
        scanf("%d", &a);
        switch (a) {
        case 1:
            printf("请输入新的参赛运动员姓名:");

            scanf("%s", info);
            strcpy(p1->name, info);
            printf("参赛运动员姓名修改成功!\n");
            break;
        case 2:
            printf("请输入新的比赛项目名称:\n");

            scanf("%s", info);
            strcpy(p1->avent, info);
            printf("比赛项目名称修改成功!\n");
            break;
        case 3:
            printf("请输入新的比赛成绩:\n");

            scanf("%d", &nu);
            p1->score = nu;
            printf("比赛项目成绩修改成功!\n");
            break;
        case 4:
            printf("请输入新的比赛名次:\n");

            scanf("%d", &nu);


            p1->ca = nu;
            printf("比赛名次修改成功!\n");
            break;
        }
        FILE* fout = fopen("d:\\比赛赛事.dat", "w");
        p1 = head7;
        while (p1 != NULL) {
            fwrite((char *)p1, sizeof(Message), 1, fout);
            p1 = p1->next;
        }
        fclose(fout);
    }
}

void  deleted()
{
    printf("\n");
    printf("\t\t\t请输入要删除的信息:\n");
    printf("\t\t比赛项目信息删除 请按:1\n");
    printf("\t\t运动员信息删除 请按:2\n");
    printf("\t\t比赛赛事信息删除 请按:3\n");
    int j;
    fseek(stdin, 0, SEEK_END);
    scanf("%d", &j);
    switch (j) {
    case 1:
        delete1();
        break;
    case 2:
        delete2();
        break;
    case 3:
        delete3();
        break;
    default:
        printf("输入数据有误!\n");
    }
}

void delete1()
{
    creat();
    Match *p1, *p2;
    p2 = p1 = head1;
    printf("请选择要删除比赛项目的那些信息\n");
    printf("------删除比赛项目的编号----1\n");
    printf("------删除比赛项目的名称----2\n");
    printf("请输入对应信息的编号\n");
    int n;
    fseek(stdin, 0, SEEK_END);
    scanf("%d", &n);
    int num, flag = 0;
    char cal[10];
    switch (n) {
    case 1:
        fseek(stdin, 0, SEEK_END);
        scanf("%d", &num);
        while (p1 != NULL) {
            if (p1->number == num) {
                flag = 1;
                break;
            }
            p2 = p1;
            p1 = p1->next;
        }
        if (flag == 0)
            printf("没有找到要删除的记录\n");
        else
            p2->next = p1->next;
    case 2:
        fseek(stdin, 0, SEEK_END);
        scanf("%s", cal);
        while (p1 != NULL) {
            if (!strcmp(p1->call, cal)) {
                flag = 1;
                break;
            }
            p2 = p1;
            p1 = p1->next;
        }
        if (flag == 0)

            printf("没有找到要删除的记录\n");
        else
            p2->next = p1->next;
    }
    FILE* fout = fopen("d:\\比赛项目.dat", "a+");
    p1 = head1;
    while (p1 != NULL) {
        fwrite((char *)p1, sizeof(Match), 1, fout);
        p1 = p1->next;
    }

    fclose(fout);
}

居然还有字数限制,只能分开啦

void  delete2()
{
    creat2();
    Athlete *p1, *p2;
    p2 = p1 = head4;
    printf("请选择要删除运动员的哪些信息\n");
    printf("------删除运动员的编号----1\n");
    printf("------删除运动员的姓名----2\n");
    printf("请输入对应信息的编号\n");
    int n;
    fseek(stdin, 0, SEEK_END);
    scanf("%d", &n);
    int num, flag = 0;
    char na[10];
    switch (n) {
    case 1:
        fseek(stdin, 0, SEEK_END);
        scanf("%d", &num);
        while (p1 != NULL) {
            if (p1->number == num) {
                flag = 1;
                break;
            }
            p2 = p1;
            p1 = p1->next;
        }

        if (flag == 0)
            printf("没有找到要删除的记录!\n");
        else
            p2->next = p1->next;
    case 2:
        fseek(stdin, 0, SEEK_END);
        scanf("%s", na);
        while (p1 != NULL) {
            if (!strcmp(p1->name, na)) {
                flag = 1;
                break;
            }
            p2 = p1;
            p1 = p1->next;
        }
        if (flag == 0)
            printf("没有找到要删除的记录!\n");
        else
            p2->next = p1->next;
    }
    FILE* fout = fopen("d:\\运动员.dat", "w");
    p1 = head4;
    while (p1 != NULL) {
        fwrite((char *)p1, sizeof(Athlete), 1, fout);
        p1 = p1->next;
    }
    fclose(fout);
}

void delete3()
{
    creat3();
    Message *p1, *p2;
    p2 = p1 = head7;
    printf("请输入要删除的参赛运动员姓名及比赛项目名称:\n");
    int flag = 0;
    char na[20];

    char info[20];

    scanf("%s%s", na, info);
    while (p1 != NULL) {
        if ((p1->name == na) && (p1->avent == info)) {
            flag = 1;
            break;
        }
        p2 = p1;
        p1 = p1->next;
    }
    if (flag == 0)
        printf("没有找到要删除的记录!\n");
    else
        p2->next = p1->next;
    FILE* fout = fopen("d:\\比赛赛事.dat", "w");
    p1 = head7;
    while (p1 != NULL) {
        fwrite((char *)p1, sizeof(Message), 1, fout);
        p1 = p1->next;
    }
    fclose(fout);
}


void find()
{
    printf("\n");
    printf("\t\t\t请输入要查询的信息:\n");
    printf("\t\t比赛项目信息查询 请按:1\n");
    printf("\t\t运动员信息查询 请按:2\n");
    printf("\t\t比赛赛事信息查询 请按:3\n");
    int j;

    scanf("%d", &j);
    switch (j) {
    case 1:
        find1();
        break;
    case 2:
        find2();
        break;
    case 3:
        find3();
        break;
    default:
        printf("输入数据有误!\n");
    }
}

void find1()
{
    creat();
    Match *p1;
    p1 = head1;
    int sign = 0;
    printf("请选择要查询比赛项目的哪些信息\n");
    printf("------按比赛项目的编号查询----1\n");
    printf("------按比赛项目的名称查询----2\n");
    printf("------按比赛时间查询----3\n");
    printf("------按比赛地点查询----4\n");
    printf("请输入对应信息的编号\n");
    int a;
    int nu;
    char info[20];
    fseek(stdin, 0, SEEK_END);
    scanf("%d", &a);
    switch (a) {
    case 1:
        printf("请输入要查询的比赛编号:\n");
        fseek(stdin, 0, SEEK_END);
        scanf("%d", &nu);
        while (p1 != NULL) {
            if (p1->number == nu) {
                sign = 1;
                break;
            }
            p1 = p1->next;
        }
        if (sign == 0)
            printf("没有找到要查询的记录\n");
        else

            printf("%d\t%s\t%s\t%s\n", p1->number, p1->call, p1->time, p1->place);
        break;//结束switch语句
    case 2:
        printf("请输入要查询的比赛项目名称:\n");
        fseek(stdin, 0, SEEK_END);
        scanf("%s", info);
        while (p1 != NULL) {
            if (!strcmp(p1->call,info)) {
                sign = 1;
                break;
            }
            p1 = p1->next;
        }
        if (sign == 0)
            printf("没有找到要查询的记录!\n");
        else
            printf("%d\t%s\t%s\t%s\n", p1->number, p1->call, p1->time, p1->place);
        break;//结束switch语句
    case 3:
        printf("请输入要查询的比赛时间:\n");
        fseek(stdin, 0, SEEK_END);
        scanf("%s", info);
        while (p1 != NULL) {
            if (!strcmp(p1->time, info)) {
                sign = 1;  
                break;  
            }
            p1 = p1->next;  
        }
        if (sign == 0)  
            printf("没有找到要查询的记录!\n");
        else
            printf("%d\t%s\t%s\t%s\n", p1->number, p1->call, p1->time, p1->place);  
        break;  //结束switch语句
    case 4:              
        printf("请输入要查询的比赛地点:\n");
        fseek(stdin, 0, SEEK_END);
        scanf("%s", info);
        while (p1 != NULL) {

            if (!strcmp(p1->place, info)) {
                sign = 1;
                break;
            }
            p1 = p1->next;
        }
        if (sign == 0)
            printf("没有找到要查询的记录!\n");
        else
            printf("%d\t%s\t%s\t%s\n", p1->number, p1->call, p1->time, p1->place);
    }
}

void find2()
{
    creat2();
    Athlete *p1;
    p1 = head4;
    int sign = 0;
    printf("请选择要查询运动员的哪些信息\n");
    printf("------按运动员的编号查询----1\n");
    printf("------按运动员的姓名查询----2\n");
    printf("请输入对应信息的编号\n");
    int a;
    int nu;
    char info[20];
    fseek(stdin, 0, SEEK_END);
    scanf("%d", &a);
    switch (a)
    {
    case 1:
        printf("请输入要查询的运动员编号:\n");
        fseek(stdin, 0, SEEK_END);
        scanf("%d", &nu);
        while (p1 != NULL)
        {
            if (p1->number == nu)
            {
                sign = 1;
                break;
            }
            p1 = p1->next;
        }
        if (sign == 0)
            printf("没有找到要查询的记录!\n");
        else
            printf("%d\t%s\t%s\t%s\t%d\n", p1->number, p1->name, p1->part, p1->sex, p1->age);
        break; //结束switch语句
    case 2:
        printf("请输入要查询的运动员姓名:\n");
        fseek(stdin, 0, SEEK_END);
        scanf("%s", info);
        while (p1 != NULL)
        {
            if (p1->name == info)
            {
                sign = 1;
                break;
            }
            p1 = p1->next;
        }
        if (sign == 0)
            printf("没有找到要查询的记录!\n");
        else
            printf("%d\t%s\t%s\t%s\t%d\n", p1->number, p1->name, p1->part, p1->sex, p1->age);
        break; //结束switch语句
    }
}

void find3()

{
    creat3();
    Message *p1;
    p1 = head7;
    int sign = 0;
    printf("请输入要查询的参赛运动员姓名和比赛项目名称! \n");
    char na[20];
    char info[20];

    scanf("%s%s", na, info);
    while (p1 != NULL) {
        if ((p1->name == na) && (p1->avent == info)) {
            sign = 1;
            break;
        }
        p1 = p1->next;
    }
    if (sign == 0)
        printf("没有找到要查询的记录!\n");
    else
        printf("%s%s%d%d", p1->name, p1->avent, p1->score, p1->ca);
}

void  print()
{
    printf("\n");
    printf("\t\t\t请输入要显示输出的信息:\n");
    printf("\t\t比赛项目信息显示输出 请按:1\n");
    printf("\t\t运动员信息显示输出 请按:2\n");
    printf("\t\t比赛赛事信息显示输出 请按:3\n");
    int j;

    scanf("%d", &j);
    switch (j) {
    case 1:
        print1();
        break;
    case 2:
        print2();
        break;
    case 3:
        print3();
        break;
    default:
        printf("输入数据有误!\n");
    }
}

void print1()
{
    creat();
    Match *p1 = head1;
    printf("分别输出比赛项目编号、名称、比赛时间、比赛地点.\n");
    while (p1 != NULL)
    {
        printf("%d\t%s\t%s\t%s\n", p1->number, p1->call, p1->time, p1->place);
        p1 = p1->next;
    }
}

void print2()
{
    creat2();
    Athlete *p1 = head4;
    printf("分别输出运动员编号、姓名、班级、性别、年龄.\n");
    while (p1 != NULL)
    {
        printf("%d\t%s\t%s\t%s\t%d\n", p1->number, p1->name, p1->part, p1->sex, p1->age);
        p1 = p1->next;
    }
}

void print3()
{
    creat3();
    Message *p1 = head7;
    printf("输出比赛参赛运动员姓名、比赛项目名称、比赛成绩、比赛名次.\n");
    while (p1 != NULL)
    {
        printf("%s%s%d%d", p1->name, p1->avent, p1->score, p1->ca);
        p1 = p1->next;
    }
}

语法问题。没有括号闭合

113行多了一个}

第一张图片里面的case2后面多了个“}”