麻烦各位我看一下这个程序有哪些问题,可以改一下吗

#include<stdio.h> #include<string.h> struct zuoci {int haoma;//座次数 int biaoji;// char xingming[20]; char zhengjian[30];// }; struct plane { int no;// char qidian[30];// char zhongdian[30];// char time[30];// int left[12];// struct zuoci zuowei[12];// }plane[888];// int num=0; int i,j,t;// void read()// {FILE *fp; if((fp=fopen("file.dat","rb"))==NULL)//rb { printf("出错"); getchar(); } i=0; while(!feof(fp))// { fread(&plane[i],sizeof(struct plane),1,fp);// i++; num++; } num--; fclose(fp); } void save()//保存到文件的功能 { FILE *fp; if((fp=fopen("file.dat","wb"))==NULL) { printf("出错"); getchar(); } for(i=0;i<num;i++) fwrite(&plane[i],sizeof(struct plane),1,fp);// fclose(fp); } void shuru() // { char c; printf("请输入您要增加的航班信息:\n"); printf("请输入航班号:\n"); scanf("%d",&plane[num].no); printf("请输入起飞地\n"); scanf("%s",plane[num].qidian); printf("请输入目的地\n"); scanf("%s",plane[num].zhongdian); printf("请输入起飞时间\n"); scanf("%s",plane[num].time); printf("请输入航班余量\n"); scanf("%d",&plane[num].left); for(i=0;i<plane[num].left;i++)//订出标记 { plane[num].zuowei[i].biaoji=0; } num++; getchar();//继续 } void shuchu()//输出航班信息的功能 { printf("目前航班:\n"); printf("航班号\t\t起飞地\t\t目的地\t\t起飞时间\t\t票数\n"); for(i=0;i<num;i++) printf("%d\t\t%s\t\t%s\t\t%s\t\t\t%d\n”plane[i].no,plane[i].qidian,plane[i].zhongdian,plane[i].time,plane[i].left); } void chazhao()//查找航班信息的功能 { print("请输入您要查询的航班号:"); scanf("%d",&t); for(i=0;i<num;i++)//先查找航班 if(t==plane[i].no) printf("航班的空座数量为:%d\n",plane[i].left); print("空座号:"); for(j=0:j<12;j++) { if(plane[i].zuowei[j]biaoj!=1) prinf("%od号"j+1); }//输出航班号 printf("\n"); printf("已订座位的信息:\n"); for(j=0;j<12;j++) {if(plane[i].zuowei[j].biaoji==1) printf("座位号:?%d\n"j+1); printf("订座者姓名:?"); puts(plane[i].zuowei[j].xingming); printf(订座者身份证号码:");puts(plane[i].zuowei[j].zhengjian); }//12个座位查询范围 } printf("航班起飞时间:"); puts(plane[i].time); } } getchar();//继续 } void dingpiao()//订票的功能 {int n; printf("请输入订票的航班号:\n"); scanf("%d",&n); for(i=0;i<num;i++) if(plane[i].no==n) break; printf("余票:%d\n",plane[i].left); for(j=0;plane[].zuoweij].biaoji==1j++); printf("请输入姓名拼音:?"); scanf("%s",plane[i].zuowei[j].xingming); printf("请输入身份证号码:") sanf("%s",plane[i].zuowei[j].zhengjian); print("分配给座位是:%d号\n"j+1); plane[i].zuoweij].biaoji=1; plane[i].left--; getchar();//继续 } void cancel() //删除订票的功能

{int n,m; char judge; print("请输入删除的订票航班号:"); for(i=0;i<num;i++) ifplane[i].no==n) break; printf("请输入删除的座位号: "); scanf("%d",&m); plane[i].zuowei[m-1].biaoji=0; plane[i];left++; getchar();//继续 } void main()//主函数 {

int menu;

read();//首先读入数据 do{ menu=0;

printf("---欢迎使用“飞机订票系统----\n");

printf("[请选择需要的功能]\n");

print("||?1.输入航班信息||\n");

printf("||2.输出航班信息||\n");

print("||3.查找航班信息||\n");

prinf("||4.订票预约||\n");

print("||5.删除订票预约||\n");

print("||6.退出系统||\n");

printf(">>>>>>>>>>>>><<<<<<<<<<<<\n"); print("输入选择功能序号:?");

scanf("%d",&menu);

switch(menu) { case 1:shuru();break;

case 2:shuchu();break;

case 3:chazhao();break;

case 4:dingpiao();break;

case 5:cancel();break;

case 6:save();break;

}//如果没有符合的序号,则不执行,流转下一-条 getchar();//子函数配合输入继续

}//循环体位置

while(menu!=6);//判断条件

}

望采纳
问题太多了,我给你看看
1.缩进不规范,应该使用4个空格或者一个tab缩进;
2.变量命名不规范,应该使用驼峰式命名法;
3.注释不规范,应该在每一行代码后面添加注释;
4.缺少break语句,switch语句中应该添加break语句;
5.缺少return语句,main函数中应该添加return语句;
6.缺少参数,main函数中应该添加参数;
7.缺少括号,if语句中应该添加括号;
8.缺少分号,每一行代码后面应该添加分号;
9.缺少变量声明,应该在使用变量之前声明变量;
10.缺少函数声明,应该在使用函数之前声明函数。