广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言实现车票管理系统
  • 678
分享到

C语言实现车票管理系统

2024-04-02 19:04:59 678人浏览 八月长安
摘要

本文实例为大家分享了C语言实现车票管理系统的具体代码,供大家参考,具体内容如下 一、项目简介 设计一个车票管理系统实现录入、查看班次信息,售票,退票等基本功能。设计中要求综合运用所学

本文实例为大家分享了C语言实现车票管理系统的具体代码,供大家参考,具体内容如下

一、项目简介

设计一个车票管理系统实现录入、查看班次信息,售票,退票等基本功能。设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节

二、任务概述

(1)录入班次信息(信息用文件保存),可不定时地增加班次数据
(2)浏览班次信息,可显示出所有班次当前状总。
(3)查询路线:可按班次号查询 ,可按终点站查询
(4)售票和退票功能
A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数
B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数
数据结构
本程序用到2个结构体,方便信息的录入,浏览,查询,订票与退票,等功能的实现。

三、功能展示

四、思维导图

五、程序源码

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <dos.h>
#include <coNIO.h>
#include <time.h>
#define FALSE 0 
#define TRUE 1
void mainmenu(void); //主菜单函数
void InputMessage(void);//输入信息函数
void ShowMessage(void);//显示信息函数
void SearchMessage(void);//查询信息函数
void searchbynumber();//根据班次号查询函数
void searchbyaddress();//根据终点站查询的函数
void TicketManagement(void);//选择订票/退票的函数
void TicketOrder();//订票实现函数
void TicketDelete();//退票实现函数
int FLAG;//标志
struct time//时间结构体
{
int hour;
int minutes;
};
struct ticket//车票的结构体
{
int carnumber;//车次
struct time setout;
char beginpoint[20];//起点站
char endpoint[20];//终点站
float lasttime;//行车时间
int fixnumber;//额定载量
int fixednumber;//已定票的人数
}car[4];
int main()
{int FLAG=FALSE;
do{mainmenu(); }while(FLAG=FALSE);
}
void mainmenu()
{char functioNnumber;
printf(" 车票管理系统\n\n");
printf("=============================================================\n"); printf(" 1.录入班次信息\t\n");
printf(" 2.浏览班次信息\t\n");
printf(" 3.查询行车路线\t\n");
printf(" 4.售票与退票系统\t\n");
printf(" 5.退出该系统\t\n");
printf("=============================================================\n"); printf("请选择你所需要的功能:");
scanf("%s",&functioNnumber);switch(functioNnumber)
{
case '1':
{system("cls");InputMessage();
printf("\n按任意键返回主菜单\n");
getchar();
getchar();
mainmenu();
};break;
case '2':{ system("cls");ShowMessage();
printf("\n按任意键返回主菜单\n");
getchar();
getchar();
mainmenu();
};break;
case '3':
{ system("cls");SearchMessage();
printf("\n按任意键返回主菜单\n");
getchar();
getchar();
mainmenu();
};break;
case '4':
{system("cls");TicketManagement();
printf("\n按任意键返回主菜单\n");
getchar();
getchar();
mainmenu();
};break;
case '5':FLAG=TRUE;
printf("*****************************感谢使用本系统***********************************************"); exit(0);
break;
default:
{
printf("对不起你的输入有误,请确保你的输入为1-5.\n"); printf("按任意键返回主菜单\n");
getchar();
getchar(); 
mainmenu();
};
};
FLAG=FALSE;
}
void InputMessage()
{int i;
for(i=0;i<4;i++)//一次录入四班车
{printf("请输入班次号:\n");
scanf("%d",&car[i].carnumber);
printf("请输入发车时间:\n");
scanf("%d %d",&car[i].setout.hour,&car[i].setout.minutes);
printf("请输入起点站:\n");
scanf("%s",car[i].beginpoint);
printf("请输入终点站:\n");
scanf("%s",car[i].endpoint);
printf("请输入行车时间:\n");
scanf("%f",&car[i].lasttime);
printf("请输入额定载量:\n");
scanf("%d",&car[i].fixnumber);
printf("请输入已定票人数:\n");
scanf("%d",&car[i].fixednumber);
}
for(i=0;i<4;i++)
{printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已订票人数\n"); printf("%d\t%d:%d\t",car[i].carnumber,car[i].setout.hour,car[i].setout.minutes);
printf("%s\t%s\t%f\t%d\t%d\t\n",car[i].beginpoint,car[i].endpoint,car[i].lasttime,car[i].fixnumber,car[i].fixednumber);
}}
void ShowMessage()
{int i;
time_t tval;
struct tm*now;
tval=time(NULL);
now=localtime(&tval);for(i=0;i<4;i++)
{if((now->tm_hour==car[i].setout.hour&&now->tm_min<car[i].setout.minutes)||(now->tm_hour<car[i].setout.hour))
{printf("%d\t%d:%d\t",car[i].carnumber,car[i].setout.hour,car[i].setout.minutes);
printf("%s\t%s\t%f\t%d\t%d\t\n",car[i].beginpoint,car[i].endpoint,car[i].lasttime,car[i].fixnumber,car[i].fixednumber);}
else {printf("此车已出发。\n");
printf("%d\t%d:%d\t",car[i].carnumber,car[i].setout.hour,car[i].setout.minutes);
printf("%s\t%s\t%f\t%d\t%d\t\n",car[i].beginpoint,car[i].endpoint,car[i].lasttime,car[i].fixnumber,car[i].fixednumber);}
}}
void SearchMessage()
{char functionnumber;
printf("查询子菜单:\n");
printf("=========================================================================\n");
printf(" 1.按班次号查询\n");
printf(" 2.按终点站查询\n");
printf(" 3.返回主菜单\n");
printf("=========================================================================\n");
printf("请选择你需要的功能:");
scanf("%s",&functionnumber);
switch(functionnumber)
{
case '1':system("cls");searchbynumber();break;
case '2':system("cls");searchbyaddress();break;
case '3':system("cls");mainmenu();break;
default:printf("输入错误,请确保你的输入为1-3.\n");
printf("请按任意键返回查询子菜单\n");
getchar();
getchar();
SearchMessage();
}
}
void searchbynumber()
{int searchnumber;
int s;
printf("请输入你要查询的班次号:");
scanf("%d",&searchnumber);
if(searchnumber>=1&&searchnumber<=4)
{s=searchnumber-1;
printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已订票人数\n");printf("%d\t%d:%d\t",car[s].carnumber,car[s].setout.hour,car[s].setout.minutes);
printf("%s\t%s\t%f\t%d\t%d\t\n",car[s].beginpoint,car[s].endpoint,car[s].lasttime,car[s].fixnumber,car[s].fixednumber);}
else printf("对不起,没有这趟车.");
}
void searchbyaddress()
{int i;
char address[20];
printf("请输入终点站名:");
scanf("%s",address);
for(i=0;i<=4;i++)
if(strcmp(address,car[i].endpoint)==0)
{printf("%d\t%d:%d\t",car[i].carnumber,car[i].setout.hour,car[i].setout.minutes);
printf("%s\t%s\t%f\t%d\t%d\t\n",car[i].beginpoint,car[i].endpoint,car[i].lasttime,car[i].fixnumber,car[i].fixednumber);
}
}
void TicketManagement()
{
char functionnumber;
printf("==========================================================================\n");
printf(" 1.订票.\n");
printf(" 2.退票.\n");
printf(" 3.返回主菜单.\n");
printf("==========================================================================\n");
printf("请选择你需要的功能:\n");
scanf("%s",&functionnumber);
switch(functionnumber)
{case '1':system("cls");
TicketOrder();break;
case '2':system("cls");
TicketDelete();
break;
case '3':system("cls");
{mainmenu();}break;
default:
{printf("输入错误,请确保你的输入为1--3.\n");
printf("按任意键返回子菜单.\n");
getchar();getchar();
TicketManagement();
}
}
}
void TicketOrder()
{int i;
int s;
printf("请输入要订购的车票的班次:\n");
scanf("%d",&i);
s=i-1;
if(s<0||s>3)
{printf("对不起,没有这趟车,请查询后再订票.\n");
printf("按任意键返回车票管理菜单。");
getchar();
getchar();
TicketManagement();
}
else
{
time_t tval;
struct tm*now;
tval=time(NULL);
now=localtime(&tval);
if((now->tm_hour==car[s].setout.hour&&now->tm_min<car[s].setout.minutes)||(now->tm_hour<car[s].setout.hour))
{if(car[s].fixednumber<car[s].fixnumber)
{car[s].fixednumber++;
printf("你的订票成功,请按时上车,谢谢使用!\n");
}else printf("对不起,今天的这趟车的票已卖完,请明天再来,谢谢合作!\n");
}else printf("对不起,今天的这趟车已出发,请明天再来,谢谢合作!\n");
}
printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已订票人数\n");
printf("%d\t%d:%d\t",car[s].carnumber,car[s].setout.hour,car[s].setout.minutes);
printf("%s\t%s\t%f\t%d\t%d\t",car[s].beginpoint,car[s].endpoint,car[s].lasttime,car[s].fixnumber,car[s].fixednumber);
printf("按任意键返回主菜单。\n");getchar();
getchar();
}
void TicketDelete()
{int i;
int s;
printf("请输入要退购的车票的班次:\n");
scanf("%d",&i);
s=i-1;
if(s<0||s>3)
{printf("对不起,没有这趟车,请查询后再退票.\n");
printf("按任意键返回车票管理菜单。");
getchar();
getchar();
TicketManagement();
}
else
{
time_t tval;
struct tm*now;
tval=time(NULL);
now=localtime(&tval);
if((now->tm_hour==car[s].setout.hour&&now->tm_min<car[s].setout.minutes)||(now->tm_hour<car[s].setout.hour))
{if(car[s].fixednumber<car[s].fixnumber)
{car[s].fixednumber--;
printf("退票成功,谢谢使用!\n");
}else printf("对不起,今天的这趟车的票尚未卖出,无法完成退票!\n");
}else printf("对不起,今天的这趟车已出发,无法完成退票!\n");
}
printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已订票人数\n");
printf("%d\t%d:%d\t",car[s].carnumber,car[s].setout.hour,car[s].setout.minutes);
printf("%s\t%s\t%f\t%d\t%d\t",car[s].beginpoint,car[s].endpoint,car[s].lasttime,car[s].fixnumber,car[s].fixednumber);`在这里插入代码片`
printf("按任意键返回主菜单。\n");
getchar();
getchar();
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C语言实现车票管理系统

本文链接: https://www.lsjlt.com/news/150147.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言实现车票管理系统
    本文实例为大家分享了C语言实现车票管理系统的具体代码,供大家参考,具体内容如下 一、项目简介 设计一个车票管理系统实现录入、查看班次信息,售票,退票等基本功能。设计中要求综合运用所学...
    99+
    2022-11-13
  • C语言实现火车票管理系统
    本文为大家分享了C语言实现火车票管理系统课程设计的具体代码,供大家参考,具体内容如下 1、前言 这是大一刚学C语言一个学期完成的课设项目,里面的功能还可以进一步的完善,仅供分享、参考...
    99+
    2022-11-13
  • C语言如何实现车票管理系统
    今天小编给大家分享一下C语言如何实现车票管理系统的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、项目简介设计一个车票管理系...
    99+
    2023-06-30
  • C++实现车票管理系统
    本文实例为大家分享了C++实现车票管理系统的具体代码,供大家参考,具体内容如下 一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的...
    99+
    2022-11-13
  • C语言实现火车订票系统
    本文实例为大家分享了C语言实现火车订票系统的具体代码,供大家参考,具体内容如下 程序介绍 1.运行程序时,首先进入到菜单部分,菜单部分提供了菜单显示和输入功能部分。其运行效果如图所示...
    99+
    2022-11-13
    C语言火车订票系统 C语言火车订票 C语言订票系统
  • C语言实现停车管理系统
    本题为大家分享了C语言实现停车管理系统的具体代码,供大家参考,具体内容如下 设计题目 设停车场是一个可以停放n辆汽车的南北方向的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按...
    99+
    2022-11-13
  • C++怎么实现车票管理系统
    这篇文章主要介绍“C++怎么实现车票管理系统”,在日常操作中,相信很多人在C++怎么实现车票管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++怎么实现车票管理系统”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-29
  • C语言实现自行车管理系统
    在大家学完C语言后,经常会被学校要求做很多管理系统,主流做法当选链表,但是很多问题就来了,在学习阶段写过最多基本上就是50行代码左右了,一下子做个小型管理系统问题就比较多。小编当然也...
    99+
    2022-11-13
  • C语言实现共享单车管理系统
    本文实例为大家分享了C语言实现共享单车管理系统的具体代码,供大家参考,具体内容如下 1.功能模块图; 2.各个模块详细的功能描述。 1.登陆:登陆分为用户登陆,管理员登陆以及维修员...
    99+
    2022-11-13
  • C语言实现车辆信息管理系统
    本文实例为大家分享了C语言实现车辆信息管理系统的具体代码,供大家参考,具体内容如下 车辆信息管理系统 问题描述:建立车辆信息管理系统,实现车辆信息的添加和维护管理。 系统存储数据要求...
    99+
    2022-11-13
  • C语言实现自行车存放管理系统
    本文实例为大家分享了C语言实现自行车存放管理系统的具体代码,供大家参考,具体内容如下 系统包括以下内容 1.数据录入:录入系统基本数据,用数组或链表组织; 2.数据存储:用文件的形式...
    99+
    2022-11-13
  • C语言实现简易停车场管理系统
    本文实例为大家分享了C语言实现停车场管理系统的具体代码,供大家参考,具体内容如下 问题描述: 设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按...
    99+
    2022-11-13
  • C语言版停车位管理系统
    本文实例为大家分享了C语言实现停车位管理系统的具体代码,供大家参考,具体内容如下 简单功能介绍 1、录入车辆信息2、查找车辆信息3、删除车辆信息4、修改车辆信息5、查找区域车辆信息6...
    99+
    2022-11-13
  • C语言实现简单的停车场管理系统
    本文实例为大家分享了C语言实现简单停车场管理系统的具体代码,供大家参考,具体内容如下 1.问题描述 1)有一个两层的停车场,每层有6个车位,当第一层车位停满后才允 许使用第二层(停车...
    99+
    2022-11-13
  • 如何使用C语言实现车辆信息管理系统
    小编给大家分享一下如何使用C语言实现车辆信息管理系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下车辆信息管理系统问题描述:建立车辆信息管理系统,实现...
    99+
    2023-06-29
  • C语言实现停车管理系统的代码怎么写
    本篇内容主要讲解“C语言实现停车管理系统的代码怎么写”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言实现停车管理系统的代码怎么写”吧!设计题目设停车场是一个可以停放n辆汽车的南北方向的狭长通...
    99+
    2023-06-29
  • 怎么用C语言实现简易停车场管理系统
    本篇内容主要讲解“怎么用C语言实现简易停车场管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用C语言实现简易停车场管理系统”吧!问题描述:设停车场内只有一个可停放n辆汽车的狭长通道,且...
    99+
    2023-06-29
  • C语言实现飞机售票系统
    本文实例为大家分享了C语言实现飞机售票系统的具体代码,供大家参考,具体内容如下 一、项目简介 通过“航空售票系统”C语言课程设计的实践,掌握函数、数据的读取和...
    99+
    2022-11-13
  • 如何用C语言实现简单的停车场管理系统
    本篇内容主要讲解“如何用C语言实现简单的停车场管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用C语言实现简单的停车场管理系统”吧!1.问题描述1)有一个两层的停车场,每层有6个车位,...
    99+
    2023-06-29
  • C语言怎么实现停车场管理
    这篇文章主要介绍了C语言怎么实现停车场管理的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言怎么实现停车场管理文章都会有所收获,下面我们一起来看看吧。1.问题描述停车场内只有一个可停放n辆汽车的狭长通道,且只...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作