2015年7月2日 软件1404 赵毅 课设日志
今天可以说是课设的最后一天,然后明天就上交结果,结果现在已经很明显了,所以,还是应该做好现在要做的的事。那么,今天的任务就是:
1:改正演出计划界面层的错误
2:既然我已经写过一个完整的模块了,那么,今天就来一把。可是,找到的管理票模块,并没有让写界面层。管理票模块。
那就先来写管理票模块。
第一个就是:将链表上的所有票信息数据写入票数据文件中
int Ticket_Perst_Insert(ticket_list_t list){
FILE *fp;
ticket_list_t head==NULL;
int rtn=0;
fp=fopen("TICKET_DATA_FILE","ab")
if (fp==NULL)
{
printf("Open fail!\n");
return 0;
}
printf("Please input the ticket to the file: \n");
while (list->next!=head)
rtn=fwrite(list,sizeof(ticket_list_t),1,fp);
fclose(fp);
return rtn;
}
真的觉得只要一个模块真正会写了,其它模块就都一样,说明书上就这样来得,可是我还是打开了演出计划的持久化窗口在参考-,-。
这是:从文件中删除与主键为schedule_id相关的票数据。
int Ticket_Perst_Delete(int schedule_id){
FILE *fp;
FILE *tp;
ticket_t *temp;
int found;
tp=fopen("TICKET_DATA_TEMP_FILE","rb");
if (tp==NULL)
{
printf("Open fail!\n");
return 0;
}
fp=fopen("TICKET_DATA_FILE","wb");
if (fp==NULL)
{
printf("Open fail!\n");
return 0;
}
while ( !feof(tp) )
{
fread(&temp,sizeof(ticket_t),1,tp);
if ( temp->id==schedule_id )
found=1;
fwrite(&temp,sizeof(ticket_t),1,fp)
}
fclose(fp);
fclose(tp);
if ( remove(TICKET_DATA_TEMP_FILE)==1 )
return found;
}
和之前就都一样了,用个临时文件,对其进行筛选,到fp里。
此刻是:将data所指的票信息更新入演出计划数据文件中:
int Ticket_Perst_Update(const ticket_t * data) {
FILE *fp;
ticket_t *temp;
int found=0;
fp=fopen("TICKET_DATA_FILE","rb+")
if (fp==NULL)
{
printf("Open fail!\n");
return 0;
}
while ( !feof(fp) )
{
fread(&temp,sizeof(ticket_t),1,fp);
if ( temp->id==dat->id )
{
fseek(fp,-sizeof(ticket_t),SEEK_CUR);<