结构体语句使用时出现语法错误


#include<stdio.h>
#include<math.h>
#include<string.h>
#define max 30
#include<stdlib.h>
typedef struct flight
{
    char station;
    int num;
    char time;
    int ticketnum;//余票 
}ft;
typedef struct userdata {
    char user_username[20];
    char user_password[8];
    int  ticket=0;
}user[max];
ft f[max];
int flightnum;//航班数
int n;//航班号 
int i;
int usernum;
void writein()//录入航班信息 
{
    FILE *fp = fopen("flight.txt", "w");
    if (fp == NULL) {
        printf("open file failed!\n");
        exit(0);
    }
    int a;
    printf("请输入需录入的航班数: ");
    scanf("%d", &flightnum);
    getchar();
    for(a=0;a<flightnum;a++)
    {
        printf("请输入第%d个航班的信息\n",a+1);
        printf("请输入终点站\n");
        scanf("%s",&f[a].station);
        printf("请输入航班号\n");
        scanf("%d",&f[a].num);
        printf("请输入票数\n");
        scanf("%d",&f[a].ticketnum);
        printf("请输入起飞时间\n");
        scanf("%s",f[a].time);
        fprintf(fp,"%s  %d  %d  %s",f[a].station,f[a].num,f[a].ticketnum,f[a].time);
        printf("录入成功");
    }
  fclose(fp);
}
void book()//订票 
{
    int booknum,y=0;
    printf("请输入要预定的航班号");
    scanf("%d",&n);
    printf("请输入预定的票数");
    scanf("%d",&booknum);
    for(i=0;i<flightnum;i++){
        if(n==f[i].num)
           y= 1;   break;     //若查找成功
    }
    if(y==1)
    {
        if(booknum<f[i].ticketnum)
        {
        printf("订票成功!");
        f[i].ticketnum=f[i].ticketnum-booknum;
        user[i].ticket=booknum;
        }
        else
        printf("余票不足");
    }
    else if(y==0)
    {
        printf("输入错误!");
    }
    else
    {
        printf("输入错误!");
    }
}
void delay()//退票
{
    int delaynum,m=0;
    printf("请输入要退票的航班号");
    scanf("%d",&n);
    printf("请输入退票的票数");
    scanf("%d",&delaynum);
    for(i=0;i<flightnum;i++){
        if(n==f[i].num && user[usernum].ticket!=0 ){
           m= 1;  
           break;    
        } //若查找成功
    }
    if(m==1)
    {
    f[i].ticketnum=    f[i].ticketnum+delaynum;
    }
    else if(m==0)
    {
        printf("输入错误!");
    }
    else
    {
        printf("输入错误!");
    }
 }

这是出现报错的几个函数源代码,下面是截图

img


这是第十六行的截图

img

在函数writein中,fprintf函数没有执行,后面的打印录入成功也没有执行,求解答程序比较复杂,麻烦了

user 数组 不要这样定义,像我之前给你写的 ft 一样,单独定义
ticket = 0,这个赋值也是非法的, 去掉= 0
另外,我上一版给你改的,你为啥没全部复制过去,错的还是错的。。。你去看看上一版的