功能描述
高铁客运订票的业务活动包括:查询客运线和客票预定的信息、
客票预定和办理退票等。设计一个计算机程序,使上述任务能借助计
算机来完成。
具体要求
1、系统必须存储的数据信息
(1)客运线信息(9 个):高铁抵达城市、出发城市、经停站、列车
号、发车时间、票价、总位置和剩余位置、已定票的客户名单。
(2)客户信息(
3 个):客户姓名、证件号、座位号
原来 8 号南
区学生宿舍
楼被删除2、系统能实现的操作和功能
(1)承办订票业务:
A、基础版:根据客户提出的要求(列车抵达城市、发出时间、订
票数量)查询列车信息(包括票价和余票数量),若满足要求,则为
客户办理订票手续,输出座位号。
B、进阶版:根据客户提出的要求(列车抵达城市、发出时间、订
票数量)查询列车信息(包括票价和余票数量)列表(所有符合要求
的列车可以选择展示的排列方式:按照价格递增/发车时间递增/总时
间递增),客户可以选择座位号,若满足要求,则为客户办理订票手
续,输出座位号。
(2)承办退票业务:
A、基础版:根据客户提供的情况(列车号,订票数量),为客户
办理退票手续。
B、进阶版:根据客户提供的情况(列车号,发车时间,身份证
号,订票数量),为客户办理退票手续。如果订购多张票,可以仅退
部分票。
(3)查询功能:(较高要求)
A、查询客运线信息:根据列车号,输出列车发车站、目的地点、
经停站、经停时间、票价、剩余票数和位置等信息。
B、查询客户预订信息:根据客户证件号,输出上车城市,目的地,
经停站,列车号和座位号等信息
【程序主要技术】
(1)本程序主要对于高铁客运订票服务中的座位号的订购于退票进行模拟,涉及到全局变量的定义与座位号订票退票的实现;
(2)全局变量涉及用于绑定个人信息的“01”变量、每辆列车的座位数量;创建关于订票乘客的信息的结构体。
【程序缺点】
(1)本程序中每辆列车的座位号是固定的,起先是采用随机生成的方法,但是会出现重复数的情况,不利于座位号订票后的消失与退票后的出现;
(2)本程序的订票只能单顾客订票,不能同时进行多顾客订票;
(3)本程序未能用文本实现储存顾客的订票信息功能。
若有码友有什么技术探讨,欢迎来讨论!
下面是全程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>struct Customer{ //用户个人信息储存 char train[5][10]={"T12410","G14520","D18430","D36540","G60050"};   //记录用户是否对高铁订票 char name[10];    //记录用户名字 char Idcard[20];  //记录用户证件号 int Seat[5][30];     //记录用户订票座位
}User;char trainId[5][10]={"T1241","G1452","D1843","D3654","G6005"};  //记录高铁列车号
int seat[5][30] = {{385,199,340,379,322,489,20,444,21,163,247,30,380,256,411,453,223,47,333,8,399,363,465},{463,164,440,404,366,297,16,435,86,346,363,235,170,54,446,333,294,124,470,481,138,266,135,199,130,370,205,94,408},{279,218,270,483,441,175,349,220,378,349,102,80,273,477,281,436},{415,36,9,387,393,426,152,376,337,465,471,391},{49,435,482,192,393,385,72,273,114,228,496,251,288,502,381,8,350,7,127,164}};  //记录各列车的空余座位号
int binding=0;  //用于绑定个人信息
int num_seat[5]={0,0,0,0,0}; //用于记录订购座位个数
int flag_seat[5]={23,29,16,12,20};  //用于记录每个列车的剩余座位号数量
int ding_seat[5]={23,29,16,12,20};  //定值座位号,主要用于退票排座位以及个人信息取消绑定 void Swap(int *x,int *y){  //用于退票以及剩余座位号排序 int t=*x;*x=*y;*y=t;
}void Check(){  //检查高铁信息 char Train[5000];FILE* fp;int x;printf("列车号   出发站  途径站(停留时间)                             终点站    出发时间     总座位    票价    剩余座位\n");printf("%s    广州    郴州(3分钟)— 衡阳(9分钟)                    长沙     17:49        560      302       %d\n",trainId[0],flag_seat[0]);printf("%s    佛山    广州(26分钟)— 衡阳(22分钟)—井冈山(4分钟) 吉安     20:48        540      376       %d\n",trainId[1],flag_seat[1]);printf("%s    广州    肇庆(2分钟)— 怀集(2分钟)—贺州(14分钟)    长沙     07:23        570      450       %d\n",trainId[2],flag_seat[2]);printf("%s    广州    东莞东(3分钟)— 深圳北(5分钟)—惠州(2分钟) 鲘门     17:05        560      429       %d\n",trainId[3],flag_seat[3]);printf("%s    广州南  深圳北(5分钟)— 惠州(2分钟)—汕尾(2分钟)   潮阳     18:44        570      240       %d\n",trainId[4],flag_seat[4]);//    if((fp = fopen("总高铁.txt","r")) == NULL){
//      perror("fail to read!\n");
//      exit(1);
//  }
//  while(fgets(Train, 5000, fp) != NULL){
//      printf("%s\n",Train);
//  }printf("------------------------------------------\n");printf("\n");printf("\t1.查询已订票乘客名单\n");printf("\t2.将列车按票价递增排序\n");printf("\t3.将列车按发车时间递增排序\n");printf("\t4.将列车按剩余座位递增排序\n");printf("\t0.返回主页面\n");printf("\n");printf("------------------------------------------\n");
}void Book(char *Id){  //订票服务 int i;int k,p;int a,b; int flag;
//  int len;int num;   //订票数量 for(i=0;i<5;i++){if(Id[4] == trainId[i][4]){
//          printf("i的值为%d\n",i);break;}}
//  printf("%d\n",flag_seat[i]);
//  len=strlen(seat[i]);printf("高铁号:%s\n",Id);printf("空余座位号:");for(int j=0;j<flag_seat[i];j++){if(j%5==0){printf("\n");}printf("%d ",seat[i][j]);}
reset: printf("\n请输入您需要订票的数量:");scanf("%d",&num);if(num<0||num>flag_seat[i]){  //订票数量不能超出额定范围 printf("输入错误,请重新输入订票数量!\n");goto reset;}else{printf("请输入您需要订票的座位号:"); for(k=0;k<num;k++){scanf("%d",&User.Seat[i][k+num_seat[i]]);  //num_seat为客户订票数量 }for(int a=num_seat[i];a<num+num_seat[i];a++){  //筛选订票座位号是否正确 p=0;  //定义标识量,判断座位号是否正确 for(b=0;b<flag_seat[i];b++){if(User.Seat[i][a] == seat[i][b]){  //若订票座位号正确 p=1;Swap(&seat[i][b],&seat[i][flag_seat[i]-1]);  //将正确的座位号移到数组尾部
//                  printf("%d\n",flag_seat[i]);flag_seat[i]--;  //该列车的可选择的座位总量减一 break;}}if(p == 0){printf("订购的第%d个座位号输入错误,请重新订购!\n",a+1);goto reset; }}printf("尊敬的%s乘客\n",User.name);printf("您已成功订购%s列车的乘车票!\n",Id);printf("您订购的位置是:");for(int c=num_seat[i];c<k+num_seat[i];c++){printf("%d ",User.Seat[i][c]);}num_seat[i] = num_seat[i]+num;printf("\n");}
}void Refund(char *Id){  //退票服务 int x;int tui;int p;for(p=0;p<5;p++){if(Id[4] == trainId[p][4]){break;}}
//  printf("P:%d\n",p);if(num_seat[p] == 0){printf("您在%s号列车的票已全部退票\n",Id);  }else{printf("已检测您在%s号列车有%d张票\n",Id,num_seat[p]);printf("您订票的座位号是:");for(int j=0;j<num_seat[p];j++){printf("%d ",User.Seat[p][j]);}
turnx:printf("\n");printf("请输入您要退票的数量:");scanf("%d",&x);if(x == num_seat[p]){num_seat[p]=0;  //将用户已订票数量清0 User.train[p][5] = '0';  //将全部退票的高铁设置为未订票状态 flag_seat[p]=flag_seat[p]+x; //将退票高铁的可选择座位加上退票数量 printf("您的订票已全部退票!\n");}else if(x > 0){printf("请输入您需要退票的座位号:");for(int i=0;i<x;i++){scanf("%d",&tui);for(int a=0;a<ding_seat[p];a++){  //把将要退票的座位票移到前面 if(tui == seat[p][a]){   //判断退票座位号是否是已订票的座位号
//                      printf("是否交换\n");//将退票的座位移到已订票座位号的第一位,便于退票后该座位号上浮 Swap(&seat[p][flag_seat[p]],&seat[p][a]); break;}}for(int j=0;j<num_seat[p];j++){   if(tui == User.Seat[p][j]){//若退票在用户订票的最后一位,则直接将客户座位号数量-1; if(j == num_seat[p]-1){  num_seat[p]--;
//                      printf("座位数量:%d\n",num_seat);flag_seat[p]++;break;}// 若退票不在用户订票的最后一位,则将需要退票移到已订票的最后一位 if(j < num_seat[p]-1){ Swap(&User.Seat[p][j],&User.Seat[p][num_seat[p]-1]);num_seat[p]--;
//                  printf("座位数量:%d\n",num_seat);flag_seat[p]++;break;}  }}printf("%d号座位已退票成功!\n",User.Seat[p][num_seat[p]]);}printf("您在%s列车还有%d张票\n", Id, num_seat[p]);printf("座位号为:");for(int k=0;k<num_seat[p];k++){printf("%d ",User.Seat[p][k]);}printf("\n");}else{printf("票数错误,请重新输入!\n");goto turnx;}}}CustomerList(char* Id){int i;FILE* fp;char zuowei[5000];for(i=0;i<5;i++){if(Id[4] == trainId[i][4]){
//          printf("%d",i);break;}}if(i == 0){if((fp = fopen("列车1.txt","r"))==NULL){perror("file open fail!\n");exit(1);}while(fgets(zuowei, 5000, fp)){printf("%s",zuowei);}if(num_seat[i] != 0){for(int j=0;j<num_seat[i];j++){printf("\n座位号      乘客\n");printf("%d          %s",User.Seat[i][j],User.name);}}}if(i == 1){if((fp = fopen("列车2.txt","r"))==NULL){perror("file open fail!\n");exit(1);}while(fgets(zuowei, 5000, fp)){printf("%s",zuowei);}if(num_seat[i] != 0){for(int j=0;j<num_seat[i];j++){printf("\n座位号      乘客\n");printf("%d          %s",User.Seat[i][j],User.name);}}}if(i == 2){if((fp = fopen("列车3.txt","r"))==NULL){perror("file open fail!\n");exit(1);}while(fgets(zuowei, 5000, fp)){printf("%s",zuowei);}if(num_seat[i] != 0){for(int j=0;j<num_seat[i];j++){printf("\n座位号      乘客\n");printf("%d          %s",User.Seat[i][j],User.name);}}}if(i == 3){if((fp = fopen("列车4.txt","r"))==NULL){perror("file open fail!\n");exit(1);}while(fgets(zuowei, 5000, fp)){printf("%s",zuowei);}if(num_seat[i] != 0){for(int j=0;j<num_seat[i];j++){printf("\n座位号      乘客\n");printf("%d          %s",User.Seat[i][j],User.name);}}}if(i == 4){if((fp = fopen("列车5.txt","r"))==NULL){perror("file open fail!\n");exit(1);}while(fgets(zuowei, 5000, fp)){printf("%s",zuowei);}if(num_seat[i] != 0){for(int j=0;j<num_seat[i];j++){printf("\n座位号      乘客\n");printf("%d          %s",User.Seat[i][j],User.name);}}}printf("\n");printf("\n");printf("请选择你将进行的操作:\n");printf("------------------------------------------\n");printf("\n");printf("\t1.查询已订票乘客名单\n");printf("\t2.将列车按票价递增排序\n");printf("\t3.将列车按发车时间递增排序\n");printf("\t4.将列车按剩余座位递增排序\n");printf("\t0.返回主页面\n");printf("\n");printf("------------------------------------------\n");
}void sort(int x){FILE* fp;char paixu[5000];if(x == 2){  //票价 printf("列车号   出发站  途径站(停留时间)                             终点站    出发时间     总座位    票价    剩余座位\n");printf("%s    广州南  深圳北(5分钟)— 惠州(2分钟)—汕尾(2分钟)   潮阳     18:44        570      240       %d\n",trainId[4],flag_seat[4]);printf("%s    广州    郴州(3分钟)— 衡阳(9分钟)                    长沙     17:49        560      302       %d\n",trainId[0],flag_seat[0]);printf("%s    佛山    广州(26分钟)— 衡阳(22分钟)—井冈山(4分钟) 吉安     20:48        540      376       %d\n",trainId[1],flag_seat[1]);printf("%s    广州    东莞东(3分钟)— 深圳北(5分钟)—惠州(2分钟) 鲘门     17:05        560      429       %d\n",trainId[3],flag_seat[3]);printf("%s    广州    肇庆(2分钟)— 怀集(2分钟)—贺州(14分钟)    长沙     07:23        570      450       %d\n",trainId[2],flag_seat[2]);}if(x == 3){  //发车时间 printf("列车号   出发站  途径站(停留时间)                             终点站    出发时间     总座位    票价    剩余座位\n");printf("%s    广州    肇庆(2分钟)— 怀集(2分钟)—贺州(14分钟)    长沙     07:23        570      450       %d\n",trainId[2],flag_seat[2]);printf("%s    广州    东莞东(3分钟)— 深圳北(5分钟)—惠州(2分钟) 鲘门     17:05        560      429       %d\n",trainId[3],flag_seat[3]);printf("%s    广州    郴州(3分钟)— 衡阳(9分钟)                    长沙     17:49        560      302       %d\n",trainId[0],flag_seat[0]);printf("%s    广州南  深圳北(5分钟)— 惠州(2分钟)—汕尾(2分钟)   潮阳     18:44        570      240       %d\n",trainId[4],flag_seat[4]);printf("%s    佛山    广州(26分钟)— 衡阳(22分钟)—井冈山(4分钟) 吉安     20:48        540      376       %d\n",trainId[1],flag_seat[1]);   }if(x == 4){  //剩余座位 int min[5];for(int i=0;i<5;i++){min[i]=flag_seat[i];}for(int i=0;i<4;i++){for(int j=i+1;j<5;j++){if(min[i] > min[j]){Swap(&min[i],&min[j]);}}}
//      for(int i=0;i<5;i++){
//          printf("%d ",min[i]);
//      }printf("列车号   出发站  途径站(停留时间)                             终点站    出发时间     总座位    票价    剩余座位\n");for(int i=0;i<5;i++){for(int j=0;j<5;j++){if(min[i] == flag_seat[j]){if(j == 0){printf("%s    广州    郴州(3分钟)— 衡阳(9分钟)                    长沙     17:49        560      302       %d\n",trainId[0],flag_seat[0]);break;}if(j == 1){printf("%s    佛山    广州(26分钟)— 衡阳(22分钟)—井冈山(4分钟) 吉安     20:48        540      376       %d\n",trainId[1],flag_seat[1]);break;}if(j == 2){printf("%s    广州    肇庆(2分钟)— 怀集(2分钟)—贺州(14分钟)    长沙     07:23        570      450       %d\n",trainId[2],flag_seat[2]);}if(j == 3){printf("%s    广州    东莞东(3分钟)— 深圳北(5分钟)—惠州(2分钟) 鲘门     17:05        560      429       %d\n",trainId[3],flag_seat[3]);}if(j == 4){printf("%s    广州南  深圳北(5分钟)— 惠州(2分钟)—汕尾(2分钟)   潮阳     18:44        570      240       %d\n",trainId[4],flag_seat[4]);break;}}}}}printf("\n");printf("\n");printf("请选择你将进行的操作:\n");printf("------------------------------------------\n");printf("\n");printf("\t1.查询已订票乘客名单\n");printf("\t2.将列车按票价递增排序\n");printf("\t3.将列车按发车时间递增排序\n");printf("\t4.将列车按剩余座位递增排序\n");printf("\t0.返回主页面\n");printf("\n");printf("------------------------------------------\n");
}int main(){int n;char Id[10];
//  int a;int flag=0;int shengfen=0;  //用于第一次查询个人信息绑定身份证号
//  srand((unsigned)time(NULL));
//  for(int i=0;i<5;i++){  //随机生成座位号
//      for(int j=0;j<30;j++){
//          if(i==0 && j==23)
//          break;
//          if(i==1 && j==29)
//          break;
//          if(i==2 && j==16)
//          break;
//          if(i==3 && j==12)
//          break;
//          if(i==4 && j==20)
//          break;
//          a = rand()%500+5;
//          seat[i][j] = a;
//      }
//  }
start:printf("-------------高铁客运订票系统-------------\n");printf("\n");printf("\t1.查询所有高铁信息\n");printf("\t2.订票服务\n");printf("\t3.退票服务\n");printf("\t4.查询个人订票信息\n");if(binding == 1){printf("\t5.取消个人信息的绑定\n");}printf("\t0.退出系统\n");printf("\n");printf("------------------------------------------\n");printf("若您是第一次使用本高铁客运订票系统,建议选择选项一!\n");printf("请选择你要进行的操作:\n");scanf("%d",&n);if(n == 1){  //输出所有的列车信息 Check();int x;
turnx:scanf("%d",&x);if(x == 0)goto start; if(x == 1){
List:printf("请准确输入需要查询的列车号:\n");scanf("%s",Id);CustomerList(Id);goto turnx;}if(x>=2&&x<=4){sort(x);goto turnx;}}else if(n == 2){   //进行订票服务 if(binding == 1){goto cha;}printf("为了防止非法购票,请输入您的个人信息!\n");printf("请输入您的姓名:");scanf("%s",User.name);printf("\n");
shuru:printf("请输入您的身份证号:"); scanf("%s",User.Idcard);if(User.Idcard[17] == '\0'||User.Idcard[18]!='\0'){  //证件号验证 printf("请正确输入您的身份证号!\n");goto shuru;} printf("\n");printf("您的姓名为:%s\n",User.name);printf("您的身份证号为:%s\n",User.Idcard); binding=1;
cha:printf("您的身份已经绑定!\n"); printf("------------------------------------------\n");
cha1:printf("请准确输入您需要订购乘车票的高铁号!\n");scanf("%s",Id);int train_ture;for(int j=0;j<5;j++){train_ture=strcmp(Id,trainId[j]);if(train_ture == 0){User.train[j][5]='1';flag=1;break;}}if(flag == 0){printf("输入列车号有误,请重新输入!\n");goto cha1;   }else{Book(Id);goto start;}}else if(n == 3){   //进行退票服务
turnId:int p;if(binding == 0){printf("尚未绑定个人信息!\n");printf("绑定个人信息在订票服务中绑定!\n\n");goto start; }printf("请输入您需要退票的列车号");scanf("%s",Id); for(int j=0;j<5;j++){int train_ture=strcmp(Id,trainId[j]);if(train_ture == 0){flag=1;p=j;break;}}//比较输入列车号是否与订票列车号相等 if(flag == 1 && User.train[p][5] == '1'){Refund(Id);goto start;}else{printf("输入列车号尚未订票或有误!\n");goto turnId; }}else if(n == 4){    //查询个人信息 if(binding == 0){printf("个人信息尚未绑定!\n");printf("绑定个人信息在订票服务中绑定!\n\n"); goto start;}else{if(shengfen == 0){
chek1:shengfen=1;printf("检测到您是第一次查看个人订票信息!\n");printf("请输入您身份证号后4位数:");char chek[4]; //存入用户输入身份证后四位 int j=0;for(int i=14;i<18;i++){chek[j++]=User.Idcard[i];}char sf[4];  //用于验证用户身份证后四位 scanf("%s",sf);int s = strcmp(sf,chek);if(s == 0){printf("匹配成功!\n");printf("\n");goto mess;}else{printf("匹配失败,请重新输入!\n");goto chek1;}}else{goto mess;}
mess:if(User.train[0][5] == '1' && User.Seat[0]>0){
//                  FILE* fp;
//                  char train_read[5000];
//              if((fp = fopen("T1241.txt","r"))==NULL){
//                  perror("file open fail!");
//                  exit(1);
//              }
//              while(fgets(train_read,5000,fp)){
//                  printf("%s",train_read);
//              }printf("列车号   出发站  途径站(停留时间)                             终点站    出发时间     总座位    票价\n");printf("T1241    广州    郴州(3分钟)— 衡阳(9分钟)                    长沙     17:49        560      302\n"); printf("\n您的姓名:%s\n",User.name);printf("您的订票:\n");printf("列车号:%s\n",trainId[0]);printf("您订购的座位有:");for(int i=0;i<num_seat[0];i++){printf("%d ",User.Seat[0][i]);}printf("\n");printf("\n");}if(User.train[1][5] == '1' && User.Seat[1]>0){
//                  FILE* fp;
//                  char train_read[5000];
//                  if((fp = fopen("G1452.txt","r"))==NULL){
//                      perror("file open fail!");
//                      exit(1);
//                  }
//                  while(fgets(train_read,5000,fp)){
//                      printf("%s",train_read);
//                  }printf("列车号   出发站  途径站(停留时间)                             终点站    出发时间     总座位    票价\n");printf("G1452    佛山    广州(26分钟)— 衡阳(22分钟)—井冈山(4分钟) 吉安     20:48        540      376\n");printf("\n您的姓名:%s\n",User.name);printf("您的订票:\n");printf("列车号:%s\n",trainId[1]);printf("您订购的座位有:");for(int i=0;i<num_seat[1];i++){printf("%d ",User.Seat[1][i]);}printf("\n");printf("\n");}if(User.train[2][5] == '1' && User.Seat[2]>0){
//                  FILE* fp;
//                  char train_read[5000];
//                  if((fp = fopen("D1843.txt","r"))==NULL){
//                      perror("file open fail!");
//                      exit(1);
//                  }
//                  while(fgets(train_read,5000,fp)){
//                      printf("%s",train_read);
//                  }printf("列车号   出发站  途径站(停留时间)                             终点站    出发时间     总座位    票价\n");printf("D1843    广州    肇庆(2分钟)— 怀集(2分钟)—贺州(14分钟)    长沙     07:23        570      450\n");printf("\n您的姓名:%s\n",User.name);printf("您的订票:\n");printf("列车号:%s\n",trainId[2]);printf("您订购的座位有:");for(int i=0;i<num_seat[2];i++){printf("%d ",User.Seat[2][i]);}printf("\n");printf("\n");}if(User.train[3][5] == '1' && User.Seat[3]>0){
//                  FILE* fp;
//                  char train_read[5000];
//                  if((fp = fopen("D3654.txt","r"))==NULL){
//                      perror("file open fail!");
//                      exit(1);
//                  }
//                  while(fgets(train_read,5000,fp)){
//                      printf("%s",train_read);
//                  }printf("列车号   出发站  途径站(停留时间)                             终点站    出发时间     总座位    票价\n");printf("D3654    广州    东莞东(3分钟)— 深圳北(5分钟)—惠州(2分钟) 鲘门     17:05        560      429\n");printf("\n您的姓名:%s\n",User.name);printf("您的订票:\n");printf("列车号:%s\n",trainId[3]);printf("您订购的座位有:");for(int i=0;i<num_seat[3];i++){printf("%d ",User.Seat[3][i]);}printf("\n");printf("\n");}if(User.train[4][5] == '1' && User.Seat[4]>0){
//                  FILE* fp;
//                  char train_read[5000];
//                  if((fp = fopen("G6005.txt","r"))==NULL){
//                      perror("file open fail!");
//                      exit(1);
//                  }
//                  while(fgets(train_read,5000,fp)){
//                      printf("%s",train_read);
//                  }printf("列车号   出发站  途径站(停留时间)                             终点站    出发时间     总座位    票价\n");printf("G6005    广州南  深圳北(5分钟)— 惠州(2分钟)—汕尾(2分钟)   潮阳     18:44        570      240\n");printf("\n您的姓名:%s\n",User.name);printf("您的订票:\n");printf("列车号:%s\n",trainId[4]);printf("您订购的座位有:");for(int i=0;i<num_seat[4];i++){printf("%d ",User.Seat[4][i]);}printf("\n");printf("\n");}goto start;}}else if(n == 5){binding=0;  //绑定值设置为未绑定状态 for(int i=0;i<5;i++){  //用户订座位票数量归0 num_seat[i]=0;User.train[i][5]='0';}shengfen=0;for(int i=0;i<5;i++){   //所有的列车可订座位数量复原 flag_seat[i]=ding_seat[i];}printf("您已经成功取消个人信息的绑定!\n");goto start; }else if(n == 0){return 0;}else{printf("输入错误,请重新输入!\n");goto start;}return 0;
}

C语言期末程序设计(高铁客运订票系统)相关推荐

  1. 用C语言实现高铁客运订票系统

    目录 一.设计目的 二.设计内容与要求 三.自己做的具体项目实现的功能: 四.设计思路 五.实现过程 六.代码: 七.实验报告和ppt: 八.结果展示: 九.我的文档数据: 一.设计目的 1.通过对高 ...

  2. 数据结构C语言实现高铁客运订票系统

    背景: 高铁客运订票系统 [功能描述] 高铁客运订票的业务活动包括:查询客运线和客票预定的信息. 客票预定和办理退票等.设计一个计算机程序,使上述任务能借助计 算机来完成. [具体要求] 1.系统必须 ...

  3. C语言版-数据结构-期末课程设计-大作业(航空客运订票系统)附源码+实验文档

    设计题目:航空客运订票系统 本项目涉及到的知识:指针.结构体数组.链表.参数传递 [问题描述]航空客运订票的业务活动包含查询航线和客票预订信息,可以办理订.退票等,用c语言设计一个程序模拟实现. 一. ...

  4. 航空客运订票系统C语言程序设计,航空客运订票系统.doc

    洛 阳 理 工 学 院 课 程 设 计 报 告 课程名称 数据结构课程设计 设计题目 航空客运订票系统 专 课 程 设 计 任 务 书 设计题目:航空客运订票系统___________________ ...

  5. 航空客运订票系统(C语言,软件用的DEV)

    这两天整理之前的作业代码,把自己一点一点敲出来的系统又看了一下,挑几个发出来供大家参考.想要源码.报告可以找我啦,代码的注释之前写的都是非常详细的! 但是不是无偿的啦(不坑,一杯奶茶喽,不做白嫖怪啦^ ...

  6. (附源码)ssm航空客运订票系统 毕业设计 141612

    SSM航空客运订票系统 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针 ...

  7. ssm航空客运订票系统 毕业设计源码141612

    SSM航空客运订票系统 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针 ...

  8. 【数据结构应用】航空客运订票系统

    目录 前言 一.作业要求介绍 二.各个函数的实现 1.头文件总结需要的功能 (1)结构体的定义 (2)各个功能的函数 2.各个函数的具体实现 (1)初始化 (2)打印航班信息表 (4)查找航班信息 ( ...

  9. java-net-php-python-java火车客运订票系统计算机毕业设计程序

    java-net-php-python-java火车客运订票系统计算机毕业设计程序 java-net-php-python-java火车客运订票系统计算机毕业设计程序 本源码技术栈: 项目架构:B/S ...

最新文章

  1. python求圆柱表面积_python基础知识-字典
  2. 年月跨度_预应力跨度国内第一!1850吨146米跨度钢结构整体拔高22米!
  3. 【Android 逆向】Android 系统文件分析 ( /proc/pid 进程号对应进程目录 | oom_adj | maps | smaps | mem | task | environ )
  4. OpenCV Features2D和全息照相法查找已知物体
  5. android fragmentstatepageradapter框架,安卓爬坑指南之FragmentStatePagerAdapter
  6. Java面试你必须要知道的那些知识,深夜思考
  7. html 复选按钮(input checkbox)
  8. Android自定义样式
  9. idea git配置好之后无法看到已修改的文件解决方法
  10. CommandName 与 CommandArgument
  11. .so文件的生成和使用
  12. 5个免费音效素材网站
  13. UG NX 工程图视图概述
  14. 深度学习数据增强方法总结
  15. 医用腕带应用整体解决方案:老人智能用药场景,老人防走丢报警-新导智能
  16. tomcat服务器一直自动关,项目在tomcat里运行一段时间总是自动崩掉的问题排查与解决...
  17. 模糊测试软件测试_模糊测试
  18. Springboot集成七牛云,实现图片上传功能
  19. Linux zbar二维码识别库编译
  20. 绘画基础学习之两点透视原理

热门文章

  1. 各编程语言 + aardio 相互调用示例
  2. 设计模式之简单工厂模式(C#版)
  3. BSV斯洛文尼亚商业区块链活动精彩回顾
  4. php中reset是什么意思,路由器的RESET是什么意思有什么用
  5. 解决ios设备自带邮箱只能接收邮件不能发送邮件问题的方法
  6. 浪潮齐鲁软件产业股份有限公司山东“金质工程”特种设备安全监察信息系统
  7. linux如何卸载已安装软件,linux中如何卸载已安装的软件-linux运维
  8. 小米10 Ultra从MIUI 13.0.3降级到12.0.15
  9. 云服务器运行UI交互型挂机脚本,断开连接后失效问题
  10. Lyndon的量化修炼之路——浅谈趋势指标取参方法