这是好久之前写的一个火车售票系统,写的非常粗糙,后来也没改了,希望遇见有缘人继续优化吧。
主要的功能是:设置车次,删除车次,买的票,改签,退的票,查询等。
# include# include # include # include # include #定义MAXNUM 10000 #定义Num 100 typedef struct火车 { int Train_num;//火车编的号 char Train_end[10];//终点站 int Train_price;//票价 int leftnum;//余票数量 }Train_Ticket; typedef struct人{ int马克;//标记 int snum;//身份号码 char性[10];//买票人性别//字符Train_start [8]; char[10]名称;//买票人姓名 }人; typedef结构节点 { Train_Ticket数据(MAXNUM); int len; }SeqList; 人pa1 (Num),章(Num); 空白init_Seqlist (SeqList *); 空白销售文件(SeqList *, *); 无效收回(文件*); 无效的调查(SeqList *); 无效的选择(SeqList *、文件*); 无效的删除(SeqList *); 空白Init (SeqList *, struct火车t); 无效输入(SeqList *); 无效的交流(SeqList *、文件* fp); int main () { SeqList *问; 文件*《外交政策》; fp=fopen (“train.dat”、“白平衡”); q=(SeqList *) malloc (sizeof (SeqList)); int选取; 输入(q); 系统(cls); 系统(“颜色3 f ");//改变颜色 系统(cls); 而(1){ printf (" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ n”); printf(" - - - - -欢迎到烟台,trainstation——\ n”); printf(" 1——设置票");//初始化 printf (" \ n2——书票");//买的票 printf (" \ n3——交换票");//改签 printf(" \陶瓷——取票");//退的票 printf(" \它们——删除票");//删除车次 printf (" \ n6——选择票");//查询 printf (" \ n7——探究——");//printf (" \ n8——退出——");//退出 printf (" \ n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -”); printf (" \ nPlease输入你的选择:"); scanf (“% d”,选取); 获取字符(); 开关(选取) { 案例1: init_Seqlist (q);打破; 案例2: 如果(q→len==0) { printf (" - - - - - - - - - - - - - - - - - - \ n”); printf(“没有票! \ n”); printf (" - - - - - - - - - - - - - - - - - - \ n”);断裂; 其他}{ 销售(q, fp);打破; } 案例3: 交换(q, fp);打破; 案例4: 收回(fp);断裂; 例5: 删除(q);打破; 例6: 选择(q, fp);打破; 例7: 调查(q);断裂; 例8: printf (" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ n”); 为您使用printf("——-谢谢! - - - - - - \ n”); printf (" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ n”); 退出(1); 默认值:printf("输入错误! ! \ n "); } printf("请按进入返回主菜单\ n”); 获取字符(); } 返回0; } 无效输入(SeqList * L) { int我; struct火车运输[5]={{206年,“北京”,200年,20}, “成都”{301年,350年,20}, “强调”{432年,400年,20}, {20}783年,175年,“青岛”, “hangzho”{312年,480年,20} }; (i=0; i<5,我+ +) Init (L,交易[我]); } 空白Init (SeqList * L, struct火车t) { int i=L→len; L→数据[我].Train_num=t.Train_num; strcpy (L→数据[我].Train_end t.Train_end); L→数据[我].Train_price=t.Train_price; L→数据[我].leftnum=t.leftnum; L→len + +; } 空白init_Seqlist (SeqList * L) { int i d n; d=L→len; printf(" - - - - - - - - - - - - -车次设置- - - - - - - - - - - - - \ n”); printf(“请输入你想设置的车次数量:”); scanf (“% d”,和n); (i=d, i 1) { printf("请分别输入% d名乘客信息\ n ", 1); } else if (a 纯C语言实现火车售票系统