2015年7月2日 课设日志

201572日 软件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);<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值