ZBLOG

void delgoods(char * Goods) { struct Node *p1,*p2,*p3; char m; int flag=0; char id[20]; FILE *fp; printf("删除商品\n"); printf("*************************\n"); while(1) { head=create(Goods); if(head==NULL) { printf(&q

void delgoods(string Goods) {

Node* p1,*p2,*p3;
char m;
int flag=0;
char id[20];
FILE *fp;
cout<<"删除商品"<<endl;
cout<<"*************************"<<endl;

while(1)
{
    head=create(Goods);
    if(head==NULL)
    {
        cout<<"文件里没有商品"<<endl;
        system("pause");
        system("cls");
        break;
    }

    p1=head;
    p2=head->next;

    cout<<"请输出您要删除商品的编号"<<endl;
    cin>>id;

    fp=fopen(Goods.c_str(),"rb");

    if(fp==NULL)
    {
        printf("文件打开失败\n");
        exit(0);
    }

    if(strcmp(p1->data.id,id)==0)
    {
        flag++;

        printf("货号:%s\n品名:%s\n进价:%.2f\n售价:%.2f\n进货量:%d\n销售量:%d\n销售额:%.2f\n剩余数:%d\n毛利:%.2f\n",p1->data.id,p1->data.name,p1->data.in_price,p1->data.out_price,p1->data.num,p1->data.xiaoshou,p1->data.xhe,p1->data.sy,p1->data.ml);

            head=p1->next;

            fp=fopen(Goods.c_str(),"wb");

            if(fp==NULL)
            {
                printf("文件打开失败");
                exit(0);
            }

            p1=head;

            while(p1!=NULL)
            {
                fwrite(&p1->data,sizeof(struct item),1,fp);
                p3=p1;
                p1=p1->next;
                free(p3);
            }

            fclose(fp);

            cout<<"*************************"<<endl;
            cout<<"该商品已删除"<<endl;
    }

    else
    {
        while(p2!=NULL)
        {
            if(strcmp(p2->data.id,id)==0)
            {
                flag++;

                printf("货号:%s\n品名:%s\n进价:%.2f\n售价:%.2f\n进货量:%d\n销售量:%d\n销售额:%.2f\n剩余数:%d\n毛利:%.2f\n",p2->data.id,p2->data.name,p2->data.in_price,p2->data.out_price,p2->data.num,p2->data.xiaoshou,p2->data.xhe,p2->data.sy,p2->data.ml); 

                    p1->next=p2->next;

                    fp=fopen(Goods.c_str(),"wb");

                    if(fp==NULL)
                    {
                        printf("文件打开失败");
                        exit(0);
                    }

                    p1=head;

                    while(p1!=NULL)
                    {
                        fwrite(&p1->data,sizeof(struct item),1,fp);
                        p3=p1;
                        p1=p1->next;
                        free(p3);
                    }

                    fclose(fp);

                    break;
            }

            else
            {
                p1=p1->next;
                p2=p2->next;
            }
        }
    }

    if(flag==0)
    {
        cout<<"这件商品不存在"<<endl;
    }

    cout<<"是否要继续删除商品?(y or n)"<<endl;

    cin>>m;

    while(m!='Y'&&m!='y'&&m!='N'&&m!='n')
    {
        cin>>m;
    }

    if(m=='Y'||m=='y')
    {
        system("cls");
        continue;
    }

    else
        break;
}

viewgoods(Goods);

}

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=3211

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?