设计与实现图书超市收银系统中售书历史清单记录功能

设计实现图书超市收银系统中售书历史清单记录功能。在收银结账时,系统将本次售书信息记录到文件中,以便日后可以查看售书历史清单。

设计与实现图书超市收银系统中售书历史清单记录功能

本任务目的如下:

通过本案例的操作可以实现售书历史清单记录功能,用户可以查看。

掌握使用文件存储售书记录。

实现步骤:

(1)在收银结账时,系统将本次售书信息记录到文件中

void savedata(Book book[100],double sum){

    FILE*fp;

    fp=fopen("data.txt","a+");

    time_t t= time(0);

    chartmp[64];

   strftime( tmp, sizeof(tmp), "购买时间:%Y/%m/%d",localtime(&t) );

   fprintf(fp,"%s\n",tmp);

fprintf(fp,"---------------------------------------------\n");

    //只会对未超过他本身字符个数的数据起效。所以这里可能出现不对称的问题。具体排版看自己安排

    fprintf(fp,"编号\t书名\t价格\t作者\t出版社\t数量\n");

    for(inti=0;i<counter;i++){

        if(book[i].buy!=0){        

            fprintf(fp,"%s\t",book[i].ISBN);

            fprintf(fp,"%s\t",book[i].Name);

            fprintf(fp,"%.2lf\t",book[i].Price);

            fprintf(fp,"%s\t",book[i].Author);

            fprintf(fp,"%s\t",book[i].publish);

            fprintf(fp,"%d\n",book[i].buy);

            book[i].buy=0;

        }

    }

    fprintf(fp,"---------------------------------------------\n");

    fprintf(fp,"总价格%.2lf\n",sum);

    fclose(fp);

}


(2)查看售书历史清单记录

    printf("售书历史记录\n\n");

        FILE*fp;

        fp=fopen("data.txt","a+");

        for(intk=0;;k++){

            charstr[100];

            fscanf(fp,"%s",str);

            if(feof(fp)){

        //这里的k用来记入是第几次读取数据,因为我们要判断如果第一次读入就为空就要退出

                if(k){

                    fclose(fp);

                    break;

                }else{

                printf("没有售书历史记录,赶快去购买几本图书吧!\n\n");

                    fclose(fp);

                    break;

                }

            }          

            printf("%s\n",str);

            fscanf(fp,"%s",str);

            printf("%s\n",str);

            for(inti=1;fscanf(fp,"%s",str);i++){

        if(strcmp(str,"---------------------------------------------"))

                    printf("%s",str);

                else

                    break;

                if(i==6){

                    printf("\n");

                    i=0;

                }else

                    printf("\t");

            }

            printf("%s\n",str);

            fscanf(fp,"%s",str);

            printf("%s\n\n",str);

        }

        system("pause");

        fclose(fp);


我们将添加图书信息,删除图书,修改图书功能也用文件来实现,就留待读者思考与实现。



Powered By 主机

 Theme By 服务器

Copyright 六六互联.Some Rights Reserved.www.ic.vip