From afa56ce648d1852bcecbdf1a2a720c51a25e63aa Mon Sep 17 00:00:00 2001 From: ithg Date: Thu, 10 Jan 2019 00:56:47 +0800 Subject: [PATCH] Complete the file reading test --- sms.c | 168 +++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 113 insertions(+), 55 deletions(-) diff --git a/sms.c b/sms.c index 309423c..6e70068 100644 --- a/sms.c +++ b/sms.c @@ -2,7 +2,32 @@ #include #define fout "%d %s %s %s %d %d %d " FILE *fp; -int main(){ +struct car +{ + char cost[10]; //班次 + char carnumber[10]; //车号 + char people[5]; //最大载客数 + char start[50]; //起点 + char starttime[30]; //出发时间 + char finish[50]; //终点 + char finishtime[30]; //到达时间 + char money[5]; //票价 + char man[3]; //订票人数 + struct car *next; +}; + +struct passenger +{ + char numbers[10]; //班次 + char id[20]; //身份证号码 + char name[50]; //姓名 + char ticket[2]; //订票数 + char snum[2]; //座位号 + struct car *next; +}; + +int main() +{ void menu(); void Exit(); void Buy(); @@ -14,76 +39,109 @@ int main(){ menu(); return 0; } - -void Exit(){ + +void Exit() +{ printf("正在保存中,请稍后"); } -void Buy(){ +void Buy() +{ printf(""); } -void Refund(){ - +void Refund() +{ } -void Query(){ - +void Query() +{ } -void Exploer(){ - +void Exploer() +{ } -void Insert(){ - int Number,Hour,Busload,Bought; - char Time[128],Start[128], End[128]; - printf("请输入车次序号:"); - scanf("%d",&Number); - printf("请输入始发站:"); - scanf("%s",&Start); - printf("请输入终点站:"); - scanf("%s",&End); - printf("请输入发车时间:"); - scanf("%s",&Time); - printf("请输入行车时间(小时):"); - scanf("%d",&Hour); - printf("请输入载客量:"); - scanf("%d",&Busload); - printf("请输入已购票人数:"); - scanf("%d",&Bought); - printf("数据保存中,请稍后\n"); - fp=fopen("sql.txt","a+"); - fprintf(fp,fout,Number,Time,Start,End,Hour,Busload,Bought); +void Insert() +{ + fp = fopen("car.txt", "a+"); + car *head, *p1, *p2; + head = NULL; + p1 = new (car); + p2 = p1; + printf(">>>>>请输入对应的信息:\n"); + printf(" 行车时间: "); + scanf("%s", &p1->cost); + printf(" 车号: "); + scanf("%s", &p1->carnumber); + printf("最大载客数: "); + scanf("%s", &p1->people); + printf(" 起点: "); + scanf("%s", &p1->start); + printf(" 出发时间(英文状态下输入): "); + scanf("%s", &p1->starttime); + printf(" 终点: "); + scanf("%s", &p1->finish); + printf(" 到达时间(英文状态下输入): "); + scanf("%s", &p1->finishtime); + printf(" 票价: "); + scanf("%s", &p1->money); + fprintf(fp,"%s %s %s %s %s %s %s %s 0 \n",p1->cost,p1->carnumber,p1->people , p1->start,p1->starttime,p1->finish,p1->finishtime,p1->money); fclose(fp); + delete head, p1, p2; + printf("数据保存中,请稍后\n"); } -void PrintTable(){ - int Number=0,Hour=0,Busload=0,Bought=0; - char Time[128]="未知",Start[128]="未知", End[128]="未知"; - fp=fopen("sql.txt","r"); - fscanf(fp,fout,&Number,&Time,&Start,&End,&Hour,&Busload,&Bought); +void PrintTable() +{ + int Number = 0, Hour = 0, Busload = 0, Bought = 0; + char Time[128] = "未知", Start[128] = "未知", End[128] = "未知"; + fp = fopen("sql.txt", "r"); + fscanf(fp, fout, &Number, &Time, &Start, &End, &Hour, &Busload, &Bought); printf("班次 发车时间 起点站 终点站 行车时间 额定载量 已订票人数\n"); - printf(fout,Number,Time,Start,End,Hour,Busload,Bought); + printf(fout, Number, Time, Start, End, Hour, Busload, Bought); printf("\n"); fclose(fp); } -void menu(){ +void menu() +{ int InputNumber; - printf("/*** 当前班次信息: ***/\n"); + printf("/* 当前班次信息: */\n"); PrintTable(); - printf("/*** 1、购票 ***/\n"); - printf("/*** 2、退票 ***/\n"); - printf("/*** 3、查询路线 ***/\n"); - printf("/*** 4、浏览所有班次 ***/\n"); - printf("/*** 5、录入班次信息 ***/\n"); - printf("/*** 0、退出 ***/\n"); + printf("/* 1、购票 */\n"); + printf("/* 2、退票 */\n"); + printf("/* 3、查询路线 */\n"); + printf("/* 4、浏览所有班次 */\n"); + printf("/* 5、录入班次信息 */\n"); + printf("/* 0、退出 */\n"); printf("请输入相应功能选项:"); - scanf("%d",&InputNumber); - do{ - switch(InputNumber){ - default :printf("请输入正确的数字标号\n");menu();break; - case 0:Exit();exit();break; - case 1:Buy();menu();break; - case 2:Refund();menu();break; - case 3:Query();menu();break; - case 4:Exploer();menu();break; - case 5:Insert();menu();break; + scanf("%d", &InputNumber); + do + { + switch (InputNumber) + { + default: + printf("请输入正确的数字标号\n"); + menu(); + break; + case 0: + Exit(); + break; + case 1: + Buy(); + menu(); + break; + case 2: + Refund(); + menu(); + break; + case 3: + Query(); + menu(); + break; + case 4: + Exploer(); + menu(); + break; + case 5: + Insert(); + menu(); + break; } - }while(InputNumber != 0); + } while (InputNumber != 0); }