You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
148 lines
2.8 KiB
148 lines
2.8 KiB
#include <stdio.h>
|
|
#include <string.h>
|
|
#define fout "%d %s %s %s %d %d %d "
|
|
FILE *fp;
|
|
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();
|
|
void Refund();
|
|
void Query();
|
|
void Exploer();
|
|
void Insert();
|
|
void PrintTable();
|
|
menu();
|
|
return 0;
|
|
}
|
|
|
|
void Exit()
|
|
{
|
|
printf("正在保存中,请稍后");
|
|
}
|
|
|
|
void Buy()
|
|
{
|
|
printf("");
|
|
}
|
|
void Refund()
|
|
{
|
|
}
|
|
void Query()
|
|
{
|
|
}
|
|
void Exploer()
|
|
{
|
|
}
|
|
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);
|
|
printf("班次 发车时间 起点站 终点站 行车时间 额定载量 已订票人数\n");
|
|
printf(fout, Number, Time, Start, End, Hour, Busload, Bought);
|
|
printf("\n");
|
|
fclose(fp);
|
|
}
|
|
void menu()
|
|
{
|
|
int InputNumber;
|
|
printf("/* 当前班次信息: */\n");
|
|
PrintTable();
|
|
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();
|
|
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);
|
|
}
|