今天终于有点时间了更新一下我现在完成的部分
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;
}