求大佬帮忙用C语言解题。
  • 板块题目总版
  • 楼主NJUCSER
  • 当前回复3
  • 已保存回复3
  • 发布时间2020/12/20 02:18
  • 上次更新2023/11/5 05:54:22
查看原帖
求大佬帮忙用C语言解题。
408035
NJUCSER楼主2020/12/20 02:18

马上就要到寒假了,很多同学已经开始在准备购买回家的火车票了。现在请你用刚刚学过的结构体和链表的知识,设计并实现一个简单的火车票预订管理系统。用单链表TicketNode存储订票的相关信息:其结构如下:

struct TicketNode { char name[20];//订票人的名字,不超过20个字符,中间不带空格 int price;//订票的价格 TicketNode* next;//指向下一个订票人的信息
} 现在系统业务功能包含售票,退票,按票价升序排序输出系统已售票信息和按时间线输出系统已售票信息4种。4种功能在系统中均以请求的形式呈现,请求的先后顺序代表了时间线的先后顺序。

book 输入 第一行:一个数q,表示请求的次数。

之后有q行输入,表示q次请求出现,每次请求的输入占一行,该行输入的第1个数t代表请求类型:

如果请求类型t是0,代表售票请求,该行的之后输入2个值 n p ,其中n代表订票人的名字,p代表该订票信息的价格 如果请求类型t是1,代表退票请求,该行的之后输入1个值n,其中n代表退票人的名字.(题目保证退票人信息在之前一定会存在) 如果请求类型t是2,代表按票价升序排序输出系统已售票信息的查询请求(不包含当前已经退票的信息),该行之后不再输入任何数。 如果请求类型t是3,代表按时间先后顺序输出系统已售票信息的查询请求(不包含当前已经退票的信息),该行之后不再输入任何数。 输出 如果请求类型是2,则按票价升序排序输出系统已售票信息,每个已售票信息占一行,每一行的输出形式是n p,表示该售票信息中的订票人名字和订票的价格。如果两张订票价格相同,先输出名字中字典序(参考链接)较小的售票信息。所有信息输出完之后,再输出一行空行 如果请求类型是3,则按时间先后顺序输出系统已售票信息的查询请求,每个已售票信息占一行,每一行的输出形式是n p,表示该售票信息中的订票人名字和订票的价格。所有信息输出完之后,再输出一行空行 题目保证订票人的名字不会有重名现象,每个订票人的名字都是唯一的。 如果当前没有一条已售票信息,则直接输出一行空行即可。 注意:

禁用STL 字符串可以库函数:strlen; 建议各个功能用模块化的函数来实现,结构清晰,且有助于debug和理清思路 样例输入 11 0 tom 100 0 jerry 50 0 nancy 80 2 3 1 nancy 2 3 0 joseph 100 2 3 样例输出 jerry 50 nancy 80 tom 100

tom 100 jerry 50 nancy 80

jerry 50 tom 100

tom 100 jerry 50

jerry 50 joseph 100 tom 100

tom 100 jerry 50 joseph 100

2020/12/20 02:18
加载中...