剧院票务管理系统TTMS(1)

今天终于有点时间了更新一下我现在完成的部分

UI层

int Ticket_Srv_FetchByID(int ID, ticket_t *buf)
{
	return Ticket_Perst_SelectByID(ID, buf);
}

void Ticket_UI_Query(void)  //界面层演出票查询管理的入口函数。
{
    ticket_t *buf;
    int Ticket_ID;   //演出票ID
    int ticket_boolean;     //存储查询演出函数返回值
    printf("请输入您的演出票ID:")
    scanf("%d",&Ticket_ID);
    List_Init(list, list_node_t);
    ticket_boolean = Ticket_Srv_FetchByID()(Ticket_ID);
    if(ticket_boolean)
    {
        Ticket_Srv_FetchByID(Ticket_ID ,buf);
    }
    else
    {
        printf("不存在此演出票!请检查您的票号是否正确!");
    }
    List_Destroy(list ,list_node_t);

}

int Ticket_UI_Show_Ticket(int ticket_id)   //显示与主键值为ID的演出票相关联的所有信息。
{

	int rtn=0;
	schedule_t schedule_rec;
	play_t play_rec;int Sale_Perst_SelByTicketID(int ticket_id ,sale_t *sale);
	ticket_t rec;
	if (Ticket_Srv_FetchByID(id,&rec)) {
		printf("\n\t\t\t==================================================================\n");
		printf("\t\t\t%*s",3,"票务信息\n");
		printf("\t\t\tID\t\t演出名称t\t行号\t列号\t 日期\t时间\t\t票价\t状态\n");
		printf("\t\t\t==================================================================\n");
		Schedule_Srv_FetchByID(id,&schedule_rec);
		Play_Srv_FetchByID(schedule_rec.play_id,&play_rec);
		//添加查找座位行列信息的函数
		printf("\t\t\t%d\t%s\\t%d-%d-%d\t%d:%d\t%d\t%d\n"/*t%d\t%d*/, rec.id, play_rec.name,
        //seat_rec.row, seat_rec.column,
				schedule_rec.date.year,schedule_rec.date.month,
				schedule_rec.date.day,schedule_rec.time.hour,
				schedule_rec.time.minute,rec.price,rec.status);
		rtn=1;
	}
	else
	{
		printf("\t\t\t此票不存在\n按回车退出\n");
	}
	printf("\t\t\t==================================================================\n");
	system("pause");
	return rtn;
}

View层

int Ticket_Srv_FetchByID(int ID, ticket_t *buf)
{
	return Ticket_Perst_SelectByID(ID, buf);
}


 int Ticket_Srv_FetchByID(int ID, ticket_t *buf)
{
	return Ticket_Perst_SelectByID(ID, buf);
}

Persistence层

/*根据票ID从文件中载入票*/
int Ticket_Perst_SelectByID(int ID, ticket_t *buf)
{
	assert(NULL!=buf);
	FILE *fp = fopen(TICKET_DATA_FILE, "rb");
	if (NULL == fp)
	{
		printf("无法打开文件 %s!\n", TICKET_DATA_FILE);
		return 0;
	}

	ticket_t data;
	int found = 0;

	while (!feof(fp))
	{
		if (fread(&data, sizeof(ticket_t), 1, fp))
		{
			if (ID == data.id)
			{
				*buf = data;
				found = 1;
				break;
			};
        }
	}
	fclose(fp);
	return found;
}

以上是查询演出票功能的代码实现

最近几天是代码调试阶段真的是错误百出,解决完了一个问题另一个又出现了

我真觉得最难得不是敲代码,最难得是调试和整合

后面几天我还会不定期更新TTMS中的其他功能但不会公布大部分代码,只会公布少部分

在课设做完以后我会上传我的课设文件供大家使用,不过要要收费,毕竟这是我们这几个人一周以来的辛苦付出,请大家谅解

发布了19 篇原创文章 · 获赞 9 · 访问量 4568

猜你喜欢

转载自blog.csdn.net/qq_43777627/article/details/93055429