👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。
【C/C++】C/C++ 车票售票系统设计与实现(源码+报告)【独一无二】
目录
- 【C/C++】C/C++ 车票售票系统设计与实现(源码+报告)【独一无二】
- 一、设计要求
- 二、代码设计思路
- 1. 定义和声明
- 2. 函数实现
- 3. 主函数 `main()`
- 三、运行结果
- 3.1 主菜单设思路
- 3.2 添加车次功能
- 3.3 查询车次功能
- 3.4 显示所有车次
- 3.5 售票功能
- 3.6 修改发车时间
- 3.7 退出系统
一、设计要求
-
添加车次功能:
- 用户可以添加新的车次信息。
- 用户需输入车次编号和发车时间。
- 车次的起点站和终点站预设为“保定”和“北京机场”。
- 车次的乘客限制设定为预先定义的容量。
-
修改发车时间功能:
- 用户可以修改已添加车次的发车时间。
- 只有当该车次未售票时,才允许修改发车时间。
- 用户需输入需要修改的车次编号和新的发车时间。
-
删除车次功能:
- 用户可以删除已添加的车次。
- 只有当该车次未售票时,才允许删除。
- 用户需输入需要删除的车次编号。
-
查询车次功能:
- 用户可以根据发车时间查询车次信息。
- 显示符合查询条件的车次信息,包括车次编号、已售票数和剩余票数。
- 如果剩余票数大于 0,提示用户仍有余票可购买。
-
售票功能:
- 用户可以购买指定车次的车票。
- 只有当该车次尚有余票时,才允许购买。
- 购票成功后,显示已售票数。
-
显示所有车次功能:
- 用户可以查看系统中所有车次的信息。
- 显示每个车次的车次编号、发车时间、已售票数和剩余票数。
-
退出系统功能:
- 用户可以选择退出系统。
二、代码设计思路
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。👈👈👈
1. 定义和声明
-
#define
指令: 用于定义预处理器宏,这些宏包括最大车次数MAX_FLIGHTS
和车次的乘客容量CAPACITY
。 -
结构体
BusTicket
: 定义了车票的数据结构,包括车次编号、发车时间、起点站、终点站、乘客限制以及已售票数。 -
tickets
: 定义了一个结构体数组,用于存储车票信息。 -
num_tickets
: 记录当前已经添加的车次数量。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。👈👈👈
2. 函数实现
addTicket()
: 添加车次函数,通过用户输入添加新的车次信息。
void addTicket() {
if (num_tickets >= MAX_FLIGHTS) {
printf("车次已满,无法添加更多车次。\n");
return;
}
// 略... 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。👈👈👈
// 略... 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。👈👈👈
// 略... 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。👈👈👈
// 略... 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。👈👈👈
printf("车次添加成功。\n");
}
-
modifyTicketTime()
: 修改车次发车时间函数,允许用户修改指定车次的发车时间,前提是该车次未售票。 -
deleteTicket()
: 删除车次函数,允许用户删除指定车次,前提是该车次未售票。 -
queryTicket()
: 查询车次函数,允许用户根据发车时间查询车次信息,显示已售票数和剩余票数。 -
sellTicket()
: 售票函数,允许用户购买指定车次的车票,前提是尚有余票。
void sellTicket() {
char flight_num[10];
printf("输入购买票的班次编号:");
scanf("%s", flight_num);
for (int i = 0; i < num_tickets; i++) {
// 代码 略... 👉源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。
// 代码 略... 👉源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。
return;
}
else {
printf("票已售完。\n");
return;
}
}
}
printf("找不到指定班次。\n");
}
displayTickets()
: 显示所有车次函数,将所有车次信息显示在屏幕上。
void displayTickets() {
for (int i = 0; i < num_tickets; i++) {
printf("班次:%s, 发车时间:%s, 已售票数:%d, 剩余票数:%d\n",
// 代码 略... 👉源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。
}
}
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。👈👈👈
3. 主函数 main()
-
菜单循环: 使用
do-while
循环,显示菜单选项并根据用户选择执行相应的功能函数。 -
switch-case
语句: 根据用户输入的选项执行相应的功能函数。
int main01() {
int choice;
do {
printf("\n车票售票系统菜单:\n");
printf("1. 添加车次\n");
printf("2. 修改发车时间\n");
printf("3. 删除车次\n");
printf("4. 查询车次\n");
printf("5. 售票\n");
printf("6. 显示所有车次\n");
printf("7. 退出\n");
printf("选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
addTicket();
break;
case 2:
modifyTicketTime();
break;
case 3:
deleteTicket();
break;
case 4:
queryTicket();
break;
case 5:
sellTicket();
break;
case 6:
displayTickets();
break;
case 7:
printf("退出系统。\n");
break;
default:
printf("无效选择,请重新输入。\n");
break;
}
} while (choice != 7);
return 0;
}
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。👈👈👈
三、运行结果
3.1 主菜单设思路
3.2 添加车次功能
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。👈👈👈
3.3 查询车次功能
3.4 显示所有车次
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。👈👈👈
3.5 售票功能
3.6 修改发车时间
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。👈👈👈
3.7 退出系统
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “车票” 获取。👈👈👈