#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAXSIZE 2000
/*车票信息*/
typedef struct
{
char chezhan[20];/*车站*/
char checi[20];/*车次*/
char zuowei[40];/*座位*/
}Data;
/*顺序表类型定义*/
typedef struct
{
Data data[MAXSIZE];
int len;/*表长*/
}SqList;
/*统计所需的票的数量*/
int searchnum(SqList *p,char m[])
{
int i,j=0;
for(i=1;i<=p->len;i++)
{
if(strcmp(p->data[i].checi,m)==0)
{
j++;
}
}
return j;
}
/*查找*/
int search(SqList *p,char m[])
{
int i=1;
if(p->len==0)
{
return 0;
}
else
{
while(i<=p->len&&strcmp(p->data[i].checi,m)!=0)
{
i++;
}
if(i>p->len)
{
return 0;
}
}
return i;
}
/*售票*/
void del(SqList *p,int n,char m[])
{
int i,j,k;
printf("\n你已成功购买以下车票\n");
printf("\n 车站 车次 座位号\n");
for(i=1;i<=n;i++)
{
k=search(p,m);
if(k!=0)
{
printf("%8s%8s%8s\n",p->data[k].chezhan,p->data[k].checi,p->data[k].zuowei);
for(j=k+1;j<=p->len;j++)
{
p->data[j-1]=p->data[j];
}
p->len--;
}
}
printf("\n");
}
/*退票*/
void add(SqList *p,Data x)
{
int i=1,j;
while(i<=p->len&&strcmp(p->data[i].checi,x.checi)<0)
{
i++;
}
if(p->len==MAXSIZE-1)
{
printf("\n退票失败!\n");
}
else
{
for(j=p->len;j>=i;j--)
{
p->data[j+1]=p->data[j];
}
p->data[i]=x;
p
火车售票系统(数据结构课设)
最新推荐文章于 2024-08-19 22:18:36 发布
这是一个使用C语言编写的火车售票系统,包括查询、购票和退票功能。系统通过顺序表存储车票信息,能从文件中读取并更新车票状态。用户可以输入车次和数量进行购票,如果车票不足会给出提示。退票功能则需要提供购买地点、车次和座位信息。系统还提供了一个简单的菜单界面供用户操作。
摘要由CSDN通过智能技术生成