一车站每天有 n 个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固 定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如 班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数 1 8:00 郫县 广汉 2 45 30 2 6:30 郫县 成都 0.5 40 40 3 7:00 郫县 成都 0.5 40 20 4 10:00 郫县 成都 0.5 40 2 … (一)功能要求:用 c 语言设计一系统,能提供下列服务: (1)录入班次信息(信息用文件保存),可不定时地增加班次数据 (2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则 显示“此班已发出”的提示信息)。 (3)查询路线:可按班次号查询 ,可按终点站查询 (4)售票和退票功能
时间: 2024-01-24 20:20:23 浏览: 79
实现这个系统的话,需要使用文件读写、时间处理、查询和修改等相关的 C 语言编程知识。以下是一个简单的实现思路:
1. 定义一个结构体来存储班次信息,包括班次号、发车时间、起点站、终点站、行车时间、额定载量和已定票人数等字段。
2. 实现录入班次信息的功能,可以通过读取文件来加载已经存在的班次信息,然后让用户输入新的班次信息并将其保存到文件中。
3. 实现浏览班次信息的功能,可以通过读取文件中的班次信息并根据当前系统时间来判断是否已经发出。如果已经发出,则提示“此班已发出”,否则显示班次的详细信息。
4. 实现查询路线的功能,可以让用户输入班次号或终点站名称,然后遍历所有的班次信息来查找符合条件的班次,并将其显示出来。
5. 实现售票和退票的功能,可以让用户输入班次号和购买或退票的人数,然后根据当前已定票人数和额定载量来判断是否还有余票可供销售或退票。
以上是一个简单的实现思路,具体的实现细节需要根据实际情况进行适当调整和完善。
相关问题
车票管理系统 一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如 班次 发车时间 起点站 终点站 行车时
间 额定载客量
1 8:00 北京 上海 12小时 100人
2 10:00 北京 广州 20小时 80人
3 12:00 北京 深圳 24小时 70人
4 14:00 北京 成都 30小时 60人
5 16:00 北京 哈尔滨 15小时 90人
请问您需要我为您做什么?
题目三: 车票管理系统 一车站每天有n个发车班次,每个班次都有一个班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载容量。如: 用java写
以下是一个简单的Java车票管理系统的示例代码,其中包括车次信息的存储、查询和售票功能:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class TicketManagementSystem {
// 车次信息列表
private ArrayList<Ticket> tickets = new ArrayList<>();
// 添加车次信息
public void addTicket(Ticket ticket) {
tickets.add(ticket);
}
// 根据班次号查询车次信息
public Ticket findTicket(int number) {
for (Ticket ticket : tickets) {
if (ticket.getNumber() == number) {
return ticket;
}
}
return null; // 没有找到对应的车次信息
}
// 售票
public void sellTicket(int number, int count) {
Ticket ticket = findTicket(number);
if (ticket == null) {
System.out.println("没有该班次的车票信息!");
} else if (ticket.getSoldCount() + count > ticket.getCapacity()) {
System.out.println("该班次车票数量不足!");
} else {
ticket.setSoldCount(ticket.getSoldCount() + count);
System.out.println("售票成功!");
}
}
public static void main(String[] args) {
// 创建车票管理系统对象
TicketManagementSystem system = new TicketManagementSystem();
// 添加车次信息
Ticket ticket1 = new Ticket(1, "北京", "上海", "08:00", 500, 100);
Ticket ticket2 = new Ticket(2, "上海", "广州", "10:00", 600, 150);
Ticket ticket3 = new Ticket(3, "北京", "广州", "12:00", 800, 200);
system.addTicket(ticket1);
system.addTicket(ticket2);
system.addTicket(ticket3);
// 显示菜单
Scanner scanner = new Scanner(System.in);
int choice;
do {
System.out.println("========车票管理系统========");
System.out.println("1. 查询车次信息");
System.out.println("2. 购买车票");
System.out.println("0. 退出系统");
System.out.print("请选择操作:");
choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.print("请输入班次号:");
int number = scanner.nextInt();
Ticket ticket = system.findTicket(number);
if (ticket == null) {
System.out.println("没有找到对应的车次信息!");
} else {
System.out.println(ticket);
}
break;
case 2:
System.out.print("请输入班次号:");
number = scanner.nextInt();
System.out.print("请输入购买数量:");
int count = scanner.nextInt();
system.sellTicket(number, count);
break;
case 0:
System.out.println("谢谢使用!");
break;
default:
System.out.println("无效的操作!");
break;
}
} while (choice != 0);
}
}
class Ticket {
private int number; // 班次号
private String start; // 起始站
private String end; // 终点站
private String time; // 发车时间
private int distance; // 行车距离(公里)
private int capacity; // 额定载容量
private int soldCount; // 已售车票数量
public Ticket(int number, String start, String end, String time, int distance, int capacity) {
this.number = number;
this.start = start;
this.end = end;
this.time = time;
this.distance = distance;
this.capacity = capacity;
this.soldCount = 0;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getStart() {
return start;
}
public void setStart(String start) {
this.start = start;
}
public String getEnd() {
return end;
}
public void setEnd(String end) {
this.end = end;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public int getDistance() {
return distance;
}
public void setDistance(int distance) {
this.distance = distance;
}
public int getCapacity() {
return capacity;
}
public void setCapacity(int capacity) {
this.capacity = capacity;
}
public int getSoldCount() {
return soldCount;
}
public void setSoldCount(int soldCount) {
this.soldCount = soldCount;
}
@Override
public String toString() {
return "班次号:" + number + "\n" +
"起始站:" + start + "\n" +
"终点站:" + end + "\n" +
"发车时间:" + time + "\n" +
"行车距离:" + distance + "公里\n" +
"额定载容量:" + capacity + "人\n" +
"已售车票数量:" + soldCount + "张\n" +
"可用车票数量:" + (capacity - soldCount) + "张";
}
}
```
在上面的代码中,`TicketManagementSystem`类表示车票管理系统,其中包括车次信息列表的存储、查询和售票功能。`Ticket`类表示单个车次信息,包括班次号、起始站、终点站、发车时间、行车距离、额定载容量、已售车票数量等属性。在`main()`方法中,我们创建了一个`TicketManagementSystem`对象,并添加了三个车次信息。然后,通过显示菜单的方式,让用户选择查询车次信息或购买车票。在查询车次信息时,用户需要输入班次号,然后系统会根据班次号查询对应的车次信息并显示。在购买车票时,用户需要输入班次号和购买数量,如果该班次车票数量不足,则购买失败。
阅读全文