weixin_45710446 2021-01-20 11:00 采纳率: 0%
浏览 13

求助下面代码的意思 有点看不懂


#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int MENU();          //菜单模块
void INPUT();        //输入模块
void SEARCH();       //查询模块
void SELECT();       //统计模块
void WRITE();        //文件记录模块
void PRINT();        //打印模块
void READ();         //文件读取模块
void WRONG();        //纠错模块
#define N 1000       //最大列车组数
#define Print "   %s%13s%10s%10s%12s%15s%11s\n",T[i].code,T[i].data,T[i].lp,T[i].ap,T[i].lt,T[i].at,T[i].price  //输出记录格式
#define Wrong "\n        ! ! ! ! ! ! ! ! ! ! ! 输入错误,请重新输入 ! ! ! ! ! ! ! ! ! ! ! \n"
#define GeShi "   车次         日期      起点      终点      开车时间      到达时间      票价\n"
struct Train
{
​   char code[10];     //车次
​   char data[10];     //日期
​   char lp[10];       //left place 起点
​   char ap[10];       //arrive place 终点
​   char lt[10];       //left time 开车时间
​   char at[10];       //arrive time 到达时间
   char price[10];    // 票价
}T[N];
/* 全局变量 */
int i=0;               //输入计数器
int n=0;               //合计计数器
char l[20];            //纠错空间


void INPUT()
{
​char ch;
​do
​{​
​system("cls");
​printf("\n\n    ====================欢迎进入 录入火车时刻信息 界面====================\n");​
​do
​{
​printf("\n    新建列车信息?(y/n)   ");
​scanf("%c",&ch);
​gets(l);
​if(ch!='y'&&ch!='n')
​WRONG ();​
​}while(ch!='y'&&ch!='n');
​if(ch=='n')
​break;​
​printf("    ---------------------");
​printf("\n    录入第%d趟列车信息\n",n+1);
​printf("    车次        ");
​gets(T[i].code);
​printf("    日期        ");
​gets(T[i].data);
​printf("    起点        ");
​gets(T[i].lp);
​printf("    终点        ");
​gets(T[i].ap);
​printf("    开车时间    ");
​gets(T[i].lt);
​printf("    到达时间    ");
​gets(T[i].at);
​printf("    票价        ");
​gets(T[i].price);
​n++;
​i++;

​}while(i<N);
​WRITE();
​system("cls");
​printf("\n");
​printf("                      --------------------------------\n");
​printf("                           系统记载的列车信息如下\n");
​printf("                      --------------------------------\n\n");
​PRINT();
}
///////////////////////////////////////////////////////////////////////////////////////文件记录模块
void WRITE()
{
​FILE *fp,*fp1;
​if((fp=fopen("hchsk.txt","w"))==NULL)
​{
​printf("无法创建文件!\n\n");
​getchar();
​return;
​}
​if((fp1=fopen("N.txt","w"))==NULL)//用于记录共几趟车
​{
​printf("无法创建文件!\n");
​getchar();
​return;
​}
​for(i=0;i<n;i++)
​if(fwrite(&T[i],sizeof(struct Train),1,fp)==0)
​printf("写入数据失败!\n\n");
​fprintf(fp1,"%d",n);
​fclose(fp);
​fclose(fp1);
}
///////////////////////////////////////////////////////////////////////////////////////文件读取模块
void READ()
{
​FILE *fp,*fp1;
​if((fp=fopen("hchsk.txt","r"))==NULL)
​{
​printf("无法打开文件\n");
​getchar();
​return;
​}
​if((fp1=fopen("N.txt","r"))==NULL)
​{
​printf("无法打开文件!\n\n");
​getchar();
​return;
​}
​fscanf(fp1,"%d",&n);
​fclose(fp1);
​for(i=0;i<n;i++)
​{
​fread(&T[i],sizeof(struct Train),1,fp);
​}
​fclose(fp);
}
 

  • 写回答

1条回答 默认 最新

  • qq_40711944 2021-01-20 14:21
    关注

    ???这问题问得 难倒我了

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题