数据结构与算法

C语言——仓库管理系统:结构体链表(包括账户注册登录修改)

菠萝猫 · 5月21日 · 2019年 951次已读
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define h1 "===============货物信息数据如下==============\n"
#define h2 "|编号 |名称 |价格 |\n"
#define h3 "|=====|=====|=====|\n"
#define h4 "|%-5s |%-4s |%4d |\n"
#define dataBase p->date.num,p->date.name,p->date.money
#define END "------------------------------------\n"
#define e 123456
#define m 123456
int saveflag=0;//判断是否进行保存
/*****定义货物信息********/
struct goods
{
    char num[10];
    char  name[10];
    int money;
};
/**数据的数据域和指针域***/
typedef struct Record
{
    struct goods  date;
    struct Record  *next;
} record,*connect;
/*****定义客户信息*******/
struct guest
{
char account[10];//账户
char password[10];//密码
};
 
void choose(connect pCur);
void admin(connect pCur);
void menu();
void keep(connect pCur);
void Alter0(connect pCur);
void Alter1(connect pCur);
void Alter2(connect pCur);
void Query0(connect pCur);
void Query00(connect pCur);
void Query1(connect pCur);
void Query2(connect pCur);
void Query3(connect pCur);
void Query4(connect pCur);
void Delete0(connect pCur);
void Delete1(connect pCur);
void Delete2(connect pCur);
void Add(connect pCur);
void Insert(connect pCur);
void Unfind();
void Output(record *pp);
void Header();
void Display(connect pCur);
void land0(connect pCur);
void land1(connect pCur);
void registerAccount(connect pCur);
void guest(connect pCur);
void  alterPassword(connect pCur);
/*******主函数*******/
/****输入无,输出选择的界面*****/
int main()
{
 
    connect pCur;
    record *p,*s;
    FILE *fp;
    pCur = (record *)malloc(sizeof(record));
    s=pCur;
    if(!pCur)
    {
        printf("没有申请到空间\n");
    }
    pCur->next=NULL;
    fp=fopen("goods","ab+");
    if(fp==NULL)
    {
        printf("无法打开文档\n");
        exit(0);
    }
    while(!feof(fp))
    {
        p=(record *)malloc(sizeof(record));
        if(!p)
        {
            printf("没有申请成功\n");
 
        }
        if(fread(p,sizeof(record),1,fp)==1)
        {
            p->next=NULL;
            s->next=p;
            s=p;
        }
 
    }
    fclose(fp);
    printf("\n        ==========>打开文件成功==========\n");
    char ch='z';
 
    while((ch!='m')&&(ch!='s'))
    {
        system("cls");
        printf("\t************仓库信息管理系统***************\n");
        printf("\t**              姓名:               **\n");
        printf("\t**              班级:            **\n");
        printf("\t**              学号:         **\n");
        printf("\t*******************************************\n");
        printf("\t请选择进入系统的身份。\n");
        printf("\tm, 管理端\n\ts, 客户端\n");
        printf("\t请选择:");
       choose(pCur);
    }
    return 0;
}
/***选择管理员界面,客户端界面*******/
/******输入头指针,输出选择的界面******/
void choose(connect pCur)
{
    int a,b;
        char ch;
     ch=getchar();
        if(ch=='m')
        {   system("cls");
            printf("定义管理员账号密码为123456,123456\n");
            printf("请输入账号:");
            scanf("%d",&a);
            printf("请输入密码:");
            scanf("%d",&b);
            if(a==e&&b==m)
            {
                admin(pCur);
            }
            else
            {
                printf("输入错误,按任意键重新选择。");
                getchar();
                choose(pCur);
            }
        }
       else if(ch=='s')
        {
            land0(pCur);
        }
}
/*****管理选择界面********/
/******输入头指针,输出选择的界面******/
void admin(connect pCur)
{
        int a;
        int b;
        system("cls");
            while(pCur)
            {
                printf("输入任意键继续");
                getchar();
                system("cls");
                menu();
                printf("输入操作指令,0为可进行保存:");
                scanf("%d",&a);
                if(a==0)
                {
                    if(saveflag==1)
                    {
                        getchar();
                        printf("\n==是否要保存,y或Y进行保存==\n");
                        char ch;
                        scanf("%c",&ch);
                        if(ch=='y'||ch=='Y')
                        {
                            keep(pCur);
                        }
                        printf("=====保存成功=====");
                        getchar();
                    }
                }
                switch(a)
                {
                case 1:
                    Add (pCur);
                    break;
                case 2:
                    Alter0(pCur);
                    break;
                case 3:
                    Query0(pCur);
                    break;
                case 4:
                    Delete0(pCur);
                    break;
                case 5:
                    Insert(pCur);
                    break;
                case 6:
                    Display(pCur);
                    break;
                case 7:
                    main();
                    break;
                default :
                    system("cls");
                    printf("输入错误,输入1重新输入,输入其他退出程序\n");
                    printf("请输入您的选择");
                    scanf("%d",&b);
                   if(b==1)
                   {
                       admin(pCur);
                   }
                   else
                   {
                       exit(0);
                   }
                    break;
                }
            }
}
/*****客户端选择界面********/
/******输入头指针,输出选择的界面******/
void guest(connect pCur)
{
    int a;
    system("cls");
    printf("--------------欢迎你来到仓库信息管理系统------------------\n");
    printf("1,查询货物信息             2,修改账户        \n");
    printf("3. 返回上一级               4.退出程序\n");
    printf("请你输入命令:");
     scanf("%d",&a);
     switch(a)
     {
     case 1:
        Query00(pCur);
        break;
     case 2:
        alterPassword(pCur);
        break;
     case 3:
       land0(pCur);
        break;
     default :
         printf("感谢您使用程序");
         exit(0);
         break;
 
     }
}
/*****管理员端的菜单显示*******/
/******输入无,输出界面******/
void menu()//admin的菜单
{
    printf("\t************************************\n");
    printf("\t*        仓库信息管理系统          *\n");
    printf("\t************************************\n");
    printf("\t************************************\n");
    printf("\t*    *1.添加信息   *2.修改信息     *\n");
    printf("\t*                                  *\n");
    printf("\t*    *3.查询信息   *4.删除信息     *\n");
    printf("\t*                                  *\n");
    printf("\t*    *5.插入信息   *6.打印数据     *\n");
    printf("\t*                                  *\n");
    printf("\t*    *7.返回上一级  *0.保存数据    *\n");
    printf("\t*                                  *\n");
    printf("\t*更改信息后要进行保存操作          *\n");
    printf("\t************************************* \n");
    printf("\t*************************************\n");
}
/****客户端登陆界面******/
/******输入头指针,输出程序操作界面******/
void land0(connect pCur)
{
    system("cls");
    int a;
    printf("欢迎进入客户端登陆界面,请按提示进行选择\n");
    printf("1.登陆客户端                 2.注册账户\n");
    printf("3.返回上一级                 4.退出程序\n");
    printf("请输入你的选择:");
    scanf("%d",&a);
    switch(a)
    {
    case 1:
        system("cls");
        land1(pCur);
        break;
    case 2:
        system("cls");
        registerAccount(pCur);
        break;
    case 3:
        system("cls");
        choose(pCur);
        break;
    default :
        printf("感谢使用,再见!");
        exit(0);
        break;
 
    }
 
}
/******客户账户登陆界面*******/
/******输入头指针,输出选择的界面******/
void land1(connect pCur)
{
    FILE *fp;
    struct guest *a[100];
    int i=0,j=0;
    int p=0,q=0;
    int b;
    char account[10],password[10];
    fp=fopen("registerAccount","rb");
    if(!fp)
    {
        printf("无客户账户信息");
        exit(0);
    }
    printf("请进行登陆操作\n");
    printf("请输入你的账户:");
    scanf("%s",account);
    printf("请输入你的密码:");
    scanf("%s",password);
    while(1)
    {
         a[i]=(struct guest *)malloc(sizeof(struct guest));
            fscanf(fp,"%s %s",a[i]->account,a[i]->password);
            if(feof(fp))
            break;
            i++;
    }
    for(j=0;j<=i;j++)
    {
        if(strcmp(account,a[j]->account)==0)
        {
            p++;
            if(strcmp(password,a[j]->password)==0)
            {
                q++;
                guest(pCur);
                break;
            }
 
        }
        else
        {
            continue;
        }
    }
    system("cls");
    if(p==0)
    {
    printf("账户不存在,请选择是否重新输入\n");
    printf("请按提示进行选择:\n");
    printf("1.重新输入                      2.返回上一级\n");
    printf("3.退出程序\n");
    printf("请输入你的选择:");
    scanf("%d",&b);
    switch(b)
    {
    case 1:
        system("cls");
        land1(pCur);
        break;
    case 2:
        system("cls");
        land0(pCur);
    default :
        printf("感谢使用,再见!");
        exit(0);
        break;
    }
 
    }
    fclose(fp);
}
/****客户注册账户***/
/******输入头指针,输出注册提示******/
void registerAccount(connect pCur)
{
    struct guest *a[100];
    FILE *fp;
    char account[10];
    char password[10];
    int i=0,s=0;
    int p=0,b;
    fp=fopen("registerAccount","a+");
    if(!fp)
    {
        printf("申请客户文件夹失败");
        exit(0);
    }
    while(1)
    {
            a[i]=(struct guest *)malloc(sizeof(struct guest));
            fscanf(fp,"%s %s",a[i]->account,a[i]->password);
            if(feof(fp))
            break;
            i++;
    }
    system("cls");
    printf("请输入你的账户:");
    scanf("%s",account);
    printf("请输入你的密码:");
    scanf("%s",password);
    for(s=0;s<=i;s++)
    {
        if(strcmp(account,a[s]->account)==0)
        {
            p++;
            break;
        }
 
    }
    system("cls");
    if(p!=0)
        {
            printf("该账号已被注册\n");
        }
    if(p==0)
    {
        fprintf(fp,"%s %s\n",account,password);
         printf("账号注册成功\n");
    }
    fclose(fp);
    printf("============请选择下步操作==========\n");
    printf("1.再次注册                      2.返回上一级\n");
    printf("3.退出程序\n");
    printf("请输入你的选择:");
    scanf("%d",&b);
    switch(b)
    {
 
    case 1:
        system("cls");
        registerAccount(pCur);
 
        break;
    case 2:
        system("cls");
        land0(pCur);
        break;
    default :
        printf("感谢使用,再见!");
        exit(0);
        break;
    }
}
/****客户账户修改****/
/******输入头指针,输出注册提示******/
void  alterPassword(connect pCur)
{
    struct guest *a[100];
    FILE *fp;
    char account[10];
    char password[10];
    char password1[10];
    int i=0,s=0;
    int b;
    fp=fopen("registerAccount","a+");
    if(!fp)
    {
        printf("申请客户文件夹失败");
        exit(0);
    }
    while(1)
    {
            a[i]=(struct guest *)malloc(sizeof(struct guest));
            fscanf(fp,"%s %s",a[i]->account,a[i]->password);
            if(feof(fp))
            break;
            i++;
    }
    system("cls");
    printf("请输入你要修改的账户:");
    scanf("%s",account);
    printf("请输入账户密码:");
    scanf("%s",password);
    for(s=0;s<=i;s++)
    {
          if(strcmp(account,a[s]->account)==0)
        {
            if(strcmp(password,a[s]->password)==0)
            {
                printf("账户密码正确请进行修改\n");
                break;
            }
        }
        else
            {
                continue;
            }
    }
    printf("请输入要修改的密码");
    scanf("%s",password1);
    fprintf(fp,"%s %s\n",account,password1);
    printf("账号修改成功\n");
    fclose(fp);
    printf("============请选择下步操作==========\n");
    printf("1.返回上一级                      2.退出程序\n");
    printf("请输入你的选择:");
    scanf("%d",&b);
    switch(b)
    {
 
    case 1:
        system("cls");
        guest(pCur);
        break;
    default :
        printf("感谢使用,再见!");
        exit(0);
        break;
    }
}
 
/*****货物数据的保存****/
/******输入头指针,输出保存提示******/
void keep(connect pCur)//保存数据
{
    FILE *fp;
    record *p;
    int a=0;
    if((fp=fopen("goods","wb"))==NULL)
    {
        printf("\t      打开文件失败...");
        getch();
        system("cls");
        return;
    }
    p=pCur->next;
    while(p)
    {
        if( fwrite(p,sizeof(record),1,fp)==1)
        {
            p=p->next;
            a++;
        }
        else
        {
            break;
        }
    }
    if(a>0)
    {
        printf("\n\t      数据保存成功...");
        getchar();
        system("cls");
    }
    else
    {
        system("cls");
        printf("\n\t      数据保存失败...");
        getchar();
 
    }
    fclose(fp);
}
/*****货物数据的修改****/
/******输入头指针,输出修改结果******/
void Alter0(connect pCur)
{
    system("cls");
    int a;
    printf("欢迎进入修改功能界面,请按照提示进行选择\n");
    printf("1.编号修改         2.名称修改\n");
    printf("3.返回上一级         4.退出程序\n");
     printf("请输入你的选择:");
    scanf("%d",&a);
     switch(a)
     {
     case 1:
         system("cls");
        Alter1(pCur);
        break;
        case 2:
          system("cls");
        Alter2(pCur);
        break;
        case 3:
             system("cls");
       admin(pCur);
        break;
         default :
            system("cls");
            exit(0);
            break;
     }
}
void Alter1(connect pCur)//按编号修改信息
{
    system("cls");
    printf("\n----------------------------------------------------\n");
    printf("\t      ───修改信息───\n");
    printf("\t        *********************\n");
    printf("\t       *1.按编号修改       \n");
    printf("\t        *********************\n");
 
    record *p=pCur->next;
    char  findmess[20];
    printf("输出货物信息");
    Display(pCur);
    printf("输入要修改的货物编号:");
    scanf("%s",findmess);
    while(p)
    {
        if(strcmp(p->date.num,findmess)==0)
        {
            printf("输入货物编号:");
            scanf("%s",p->date.num);
            printf("输入货物名称:");
            scanf("%s",p->date.name);
            printf("输入货物价格:");
            scanf("%d",&p->date.money);
            system("cls");
            Display(p);
            printf("\n=====》修改成功《=====\n");
            break;
        }
        p=p->next;
    }
    if(p==NULL)
    {
        getchar();
        printf("没有货物信息");
    }
 
}
void Alter2(connect pCur)//按名称修改信息
{
    system("cls");
    printf("\n----------------------------------------------------\n");
    printf("\t      ───修改信息───\n");
    printf("\t        *********************\n");
    printf("\t       *1.按名称修改       \n");
    printf("\t        *********************\n");
 
    record *p=pCur->next;
    char  findmess[20];
    printf("输出货物信息");
    Display(pCur);
    printf("输入要修改的货物名称:");
    scanf("%s",findmess);
    while(p)
    {
        if(strcmp(p->date.name,findmess)==0)
        {
            printf("输入货物编号:");
            scanf("%s",p->date.num);
            printf("输入货物名称:");
            scanf("%s",p->date.name);
            printf("输入货物价格:");
            scanf("%d",&p->date.money);
 
            system("cls");
            Display(p);
            printf("\n=====》修改成功《=====\n");
            break;
        }
        p=p->next;
    }
    if(p==NULL)
    {
        getchar();
        printf("没有货物信息");
    }
 
}
/*****货物数据的查询****/
/******输入头指针,输出查询结果******/
void Query0(connect pCur)
{
    system("cls");
    int a;
    printf("\t欢迎进入查询功能界面,请按照提示进行选择\n");
    printf("\t请按照提示进行选择!\n");
    printf("\t1.编号查询         2.名称查询\n");
    printf("\t3.价格查询         4.返回上一级菜单\n");
    printf("\t5.退出程序\n  ");
    printf("\t请输入你的选择:");
    scanf("%d",&a);
     switch(a)
     {
     case 1:
         system("cls");
         Query1(pCur);
         break;
         case 2:
         system("cls");
         Query2(pCur);
         break;
         case 3:
         system("cls");
         Query3(pCur);
         break;
 
         case 4:
             system("cls");
             admin(pCur);
             break;
         default :
            system("cls");
            exit(0);
            break;
    }
}
void Query00(connect pCur)
{
    system("cls");
    int a;
    printf("\t欢迎进入查询功能界面,请按照提示进行选择\n");
    printf("\t请按照提示进行选择!\n");
    printf("\t1.编号查询         2.名称查询\n");
    printf("\t3.价格查询         4.返回上一级菜单\n");
    printf("\t5.退出程序\n  ");
    printf("\t请输入你的选择:");
    scanf("%d",&a);
     switch(a)
     {
     case 1:
         system("cls");
         Query1(pCur);
         printf("按任意键返回上一级");
         getchar();
         guest(pCur);
         break;
         case 2:
         system("cls");
         Query2(pCur);
         printf("按任意键返回上一级");
         getchar();
         guest(pCur);
         break;
         case 3:
         system("cls");
         Query3(pCur);
         printf("按任意键返回上一级");
         getchar();
         guest(pCur);
         break;
         case 4:
            system("cls");
            guest(pCur);
             break;
         default :
            system("cls");
            exit(0);
            break;
    }
}
void Query1(connect pCur)//按编号查询
{
    system("cls");
    printf("----------------------------------------------------\n");
    printf("\t      ───查询信息───\n");
    printf("\t  ┌─────────────┐\n");
    printf("\t  │1.按编号查询                        \n");
    printf("\t  └─────────────┘\n");
    record *p=pCur->next;
    char name[20];
    printf("输入要查询货物的编号:");
    scanf("%s",name);
    while(p)
    {
 
        if(strcmp(p->date.num,name)==0)
        {
            Header();
            Output(p);
            printf(END);
            getchar();
 
        }
        p=p->next;
    }
 
    if(p==NULL)
    {
        getchar();
        printf("没有货物信息");
    }
 
}
void Query2(connect pCur)//按名称查询
{
    system("cls");
    printf("----------------------------------------------------\n");
    printf("\t      ───查询信息───\n");
    printf("\t  ┌─────────────┐\n");
    printf("\t  │1.按名称查询                        \n");
    printf("\t  └─────────────┘\n");
    record *p=pCur->next;
    char name[20];
    printf("输入要查询货物的名称:");
    scanf("%s",name);
    while(p)
    {
 
        if(strcmp(p->date.name,name)==0)
        {
            Header();
            Output(p);
            printf(END);
            getchar();
 
        }
        p=p->next;
    }
 
    if(p==NULL)
    {
        getchar();
        printf("没有货物信息");
    }
 
}
void Query3(connect pCur)//按价格查询
{
    system("cls");
    printf("----------------------------------------------------\n");
    printf("\t      ───查询信息───\n");
    printf("\t  ┌─────────────┐\n");
    printf("\t  │1.按价格查询                        \n");
    printf("\t  └─────────────┘\n");
    record *p=pCur->next;
    int money;
    printf("输入要查询货物的价格:");
    scanf("%d",&money);
    while(p)
    {
 
        if(strcmp(p->date.money,money)==0)
        {
            Header();
            Output(p);
            printf(END);
            getchar();
 
        }
        p=p->next;
    }
 
    if(p==NULL)
    {
        getchar();
        printf("没有货物信息");
    }
 
}
 
/*****货物数据的删除****/
/******输入头指针,输出删除结果******/
void Delete0(connect pCur)
{
    system("cls");
   int a;
    printf("欢迎进入删除功能界面,请按照提示进行选择\n");
    printf("1.编号删除         2.名称删除\n");
    printf("3.返回上一级         4.退出程序\n");
     printf("请输入你的选择:");
    scanf("%d",&a);
     switch(a)
     {
          case 1:
         system("cls");
        Delete1(pCur);
        break;
        case 2:
          system("cls");
        Delete2(pCur);
        break;
        case 3:
             system("cls");
       admin(pCur);
        break;
         default :
            system("cls");
            exit(0);
            break;
     }
}
void Delete1(connect pCur)//按编号删除
{
    system("cls");
 
    printf("----------------------------------------------------\n");
    printf("\t      ───删除信息───\n");
    printf("\t        ********************\n");
    printf("\t        *1.按编号删除\n");
    printf("\t        *******************\n");
    record *p=pCur->next;
    record *pre=pCur,*r=p,*rpre=pre;
    char findmess[20];
    Display(pCur);
    printf("输入要删除的货物编号");
    scanf("%s",findmess);
   if(p)
    {
        if(strcmp(p->date.num,findmess)==0)
        {
            r=p;
            rpre=pre;
 
        pre=p;
        p=p->next;
        rpre->next=r->next;
    free(r);
    getchar();
    printf("删除成功\n");
    saveflag=1;
        }
        else
        {
            getchar();
            printf("没有货物信息");
        }
    }
 
}
void Delete2(connect pCur)//按名称删除
{
    system("cls");
    printf("----------------------------------------------------\n");
    printf("\t      ───删除信息───\n");
    printf("\t        ********************\n");
    printf("\t        *1.按名称删除\n");
    printf("\t        *******************\n");
    record *p=pCur->next;
    record *pre=pCur,*r=p,*rpre=pre;
    char findmess[20];
    Display(pCur);
    printf("输入要删除的货物名称");
    scanf("%s",findmess);
   if(p)
    {
        if(strcmp(p->date.name,findmess)==0)
        {
            r=p;
            rpre=pre;
 
        pre=p;
        p=p->next;
        rpre->next=r->next;
    free(r);
    getchar();
    printf("删除成功\n");
    saveflag=1;
        }
        else
        {
            getchar();
            printf("没有货物信息");
        }
    }
 
}
 
/*****新货物数据的插入****/
/******输入头指针,输出插好后的结果******/
void Insert(connect pCur)//按货物的编号插入
{
    connect p,n,newinsert;
    char name2[20];
    char ch;
    int flog=0;
    n=pCur->next;
    system("cls");
    Display(pCur);
    printf("输入要插入之前的货物编号:");
    scanf("%s",name2);
    while(pCur)
    {
 
        flog=0;
        n=pCur->next;
        while(n)
        {
            if(strcmp(n->date.name,name2)==0)
            {
                flog=1;
                break;
            }
            n=n->next;
 
        }
        if(flog==1)
            break;
        else
        {
            getchar();
            printf("对不起,改编号不存在,要继续请输入y或Y\n,其他输入退出:");
            scanf("%c",&ch);
            if(ch=='y'||ch=='Y')
            {
                Insert(pCur);
            }
            else
            {
                exit(0);
            }
        }
    }
    printf("请输入要插入的货物");
    char name3[20];
    scanf("%s",name3);
    n=pCur->next;
    while(n)
    {
        if(strcmp(n->date.name,name3)==0)
        {
            printf("此货物编号已存在");
            Header();
            Output(n);
            printf("\n");
            getchar();
            return ;
        }
        n=n->next;
    }
    newinsert = (record *)malloc(sizeof(record));
    if(newinsert==NULL)
    {
        printf("未申请到空间");
        return ;
    }
    strcpy( newinsert->date.num,name3);
    printf("输入货物编号:%s\n",newinsert->date.num);
    printf("输入货物名称:");
    scanf("%s",newinsert->date.name);
    printf("输入货物价格:");
    scanf("%d",&newinsert->date.money);
    saveflag=1;
    p=pCur->next;
    while(pCur)
    {
        if(strcmp(p->date.name,name2)==0)
        {
            newinsert->next=p->next;
            p->next=newinsert;
            break;
        }
        p=p->next;
    }
    system("cls");
    Display(pCur);
 
}
 
/*****货物数据的添加****/
/******输入头指针,输出添加完成的结果******/
void  Add(connect pCur)
{
    record *p,*r,*s;
    char ch;
    int  flog=0;
    char num[20];
    r=pCur;
    s=pCur->next;
    system("cls");
    Display(pCur);
    while(r->next!=NULL)
    {
        r=r->next;
    }
 
    while(pCur)
    {
        while(pCur)
        {
            printf("请输入货物编号,判断是否存在,当输入0时返回上一级菜单:");
            printf("\n");
            scanf("%s",num);
            flog=0;
            if(strcmp(num,"0")==0)
            {
                system("cls");
                return ;
            }
            s=pCur->next;
            while(s)
            {
                if(strcmp(s->date.name,num)==0)
                {
                    flog=1;
                    break;
                }
                s=s->next;
            }
            if(flog==1)
            {
                getchar();
                printf("货物编号重复是否重新输入,重新输入y或Y,否则返回菜单");
                scanf("%c",&ch);
                if(ch=='y'||ch=='Y')
                {
                    continue;
                }
                else
                {
 
                    admin(pCur);
                }
            }
            else
            {
                break;
            }
        }
        p=(record *)malloc(sizeof(record));
        if(!p)
        {
            printf("未申请到空间");
            return ;
        }
        printf("输入货物编号:");
        scanf("%s",p->date.num);
 
        printf("货物名称:");
        scanf("%s",p->date.name);
        printf("货物价格:");
        scanf("%d",&p->date.money);
 
        p->next=NULL;
        r->next=p;
        r=p;
        saveflag=1;
    }
    return ;
 
}
/*****货物数据的显示****/
/******输入头指针,输出全部货物数据******/
void Display(connect pCur)//表格形式显示记录
{
    system("cls");
    record *p;
    p=pCur->next;
    if(!p)
    {
        printf("\n***************没有货物记录***************\n");
        getchar();
        return;
    }
    printf("\n\n");
    Header();
    while(p)
    {
        Output(p);
        p=p->next;
        printf(h3);
    }
    getchar();
}
void Header()
{
    printf(h1);
    printf(h2);
    printf(h3);
}
void Output(record *pp)
{
    record* p;
    p=pp;
    printf(h4,dataBase);
}
void Unfind()
{
    printf("\n=========>未查到此货物信息!<==========\n");
}

版权声明:本站采用 “知识共享署名 – 非商业性使用 – 相同方式共享 4.0 中国大陆许可协议” 进行许可,您可以转载本站文章,转载时请以超链接形式标明文章原始出处,Thanks.
2 条回应
  1. 小满2019-7-11 · 16:33
    Microsoft Edge Microsoft Edge Windows Windows

    厉害

    • 咕唧2019-7-15 · 11:47
      Google Chrome Google Chrome Windows Windows

      谢谢