源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c语言实现的货物管理系统实例代码(增加删除 查找货物信息等功能)

  • 时间:2021-11-10 20:48 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c语言实现的货物管理系统实例代码(增加删除 查找货物信息等功能)
[u]复制代码[/u] 代码如下:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h>        /*屏幕操作函数库*/ /*主管权限数据格式化*/ #define HEADER1_zg "-----------------------------货物管理系统(主管)--------------------------------\n" #define HEADER2_zg "| 编号 |  名称  | 进价 | 售价 | 产地 | 生产日期 |保质期| 库存 | 销量 |  收入  |\n" #define HEADER3_zg "|------|--------|------|------|------|----------|------|------|------|--------|\n" #define FORMAT_zg  "|%-6s|%-8s|%.2f |%.2f |%6s|%-4d%3d%3d| %4d | %4d | %4d |%.2f |\n" #define DATA_zg p->data.numbs,p->data.name,p->data.purchase,p->data.sales,p->data.place,p->data.Date.year,p->data.Date.mouth,p->data.Date.day,p->data.days,p->data.stock,p->data.salesnumb,p->data.income #define END_zg     "-------------------------------------------------------------------------------\n" /*普通权限数据格式化*/ #define HEADER1_pt "----------------货物管理系统(普通)--------------------\n" #define HEADER2_pt "| 编号 |  名称  | 售价 | 产地 | 生产日期 |保质期| 销量 |\n" #define HEADER3_pt "|------|--------|------|------|----------|------|------|\n" #define FORMAT_pt  "|%-6s|%-8s| %.2f|%6s|%-4d%3d%3d| %4d | %4d |\n" #define DATA_pt p->data.numbs,p->data.name,p->data.sales,p->data.place,p->data.Date.year,p->data.Date.mouth,p->data.Date.day,p->data.days,p->data.salesnumb #define END_pt    "--------------------------------------------------------\n" int yhflag=0;        /*是否优惠*/ int incomflag=0;   /*是否计算收入*/ int dateflag=0;   /*是否输入日期*/ int saveflag=0;   /*是否需要保存*/ char zg[]="zg"; char pt[]="pt"; struct date {     int year;     int mouth;     int day; }; /*货物基本信息*/ struct goods {     char numbs[6];    /*编号*/     char name[10];        /*名称*/     float purchase;        /*进价*/     float sales;    /*售价*/     char place[10];    /*产地*/     struct date Date;    /*生产日期*/     int days;  /*保质期*/     int datecha; /*保质期截止日期差*/     int stock;    /*库存量*/     int  salesnumb;    /*销量*/     float income;    /*收入*/ }; typedef struct node {     struct goods data;     struct node *next; }Node,*Link; /*格式化输出主管表头*/ void printheader_zg() {     printf(HEADER1_zg);     printf(HEADER2_zg);     printf(HEADER3_zg); } /*格式化输出普通表头*/ void printheader_pt() {     printf(HEADER1_pt);     printf(HEADER2_pt);     printf(HEADER3_pt); } /*格式化输出主管表中数据*/ void printdata_zg(Node *pp) {     Node *p;     p=pp;     printf(FORMAT_zg,DATA_zg); } /*格式化输出普通表中数据*/ void printdata_pt(Node *pp) {     Node *p;     p=pp;     printf(FORMAT_pt,DATA_pt); } /*输出案件错误信息*/ void wrong() {     printf("\n\n\n\n*******错误:输入错误,按任意键继续*******\n");     getchar(); } /*输出为查找到货物的信息*/ void Nofind() {     printf("\n*****无此货物信息!*****\n");     getchar(); } /*主管显示菜单*/ void Disp(Link L,char s[]) {     Node *p;     p=L->next;     if (!p) /*空,则*/     {         printf("\n没有录入货物信息\n");         getchar();         return ;     }        printf("\n\n");     if (strcmp(zg,s)==0)     {         printheader_zg();         while (p)         {             printdata_zg(p);             p=p->next;             printf(HEADER3_zg);         }     }     else     {         printheader_pt();         while (p)         {             printdata_pt(p);             p=p->next;             printf(HEADER3_pt);         }     }     getchar(); } /*返回链表中符合要求的节点的指针,s[]保存用户查找内容,NaorNum[]保存按什么查找”name,num“*/ Node *Locate(Link L,char s[],char NaorNum[] ) {     Node *p;     if (strcmp(NaorNum,"num")==0)     {         p=L->next;         while (p)         {             if (strcmp(p->data.numbs,s)==0)                 return p;             p=p->next;         }     }     else if (strcmp(NaorNum,"name")==0)     {         p=L->next;         while (p)         {             if (strcmp(p->data.name,s)==0)                 return p;             p=p->next;         }     }     return 0;     /*未找到,返回空指针*/ } /*平润年判断*/ int Year_pd(int year) {     int flag;     if ((year%4==0&&year0!=0)||year%400==0)     {/*闰年*/         flag=0;     }     else     {/*平年*/         flag=1;     }     return flag; } /*月份对应的天数*/ int Day_pd(int mouth,int flag) {     int day;     switch(mouth)     {     case 1:     case 3:     case 5:     case 7:     case 8:     case 10:     case 12:day=31;break;     case 4:     case 6:     case 9:     case 11:day=30;break;     case 2:if (flag) day=28;            else day=29;break;     }     return day; } /*输入字符串,并进行验证,用户的输入通过*t输出*/ void S_input(char *t,int lens,char *notice) {     char str[255];     do     {         printf(notice);         scanf("%s",str);         if(strlen(str)>lens)             printf("\n超过了要求长度,重新输入\n");     } while (strlen(str)>lens);     strcpy(t,str); } int Num_input(char *notice) {     int a;     do     {         printf(notice);         scanf("%d",&a);         if(a<0) printf("\n数字必须大于零\n");     } while (a<0);     return a; } /*输入月份进行验证*/ int Mou_input(char *notice) {     int mouth=0;     do     {         printf(notice);         scanf("%d",&mouth);         if (mouth>12||mouth<0)             printf("\n月份必须在(1~12)之间!\n");     } while (mouth>12||mouth<0);     return mouth; } /*输入天数进行验证*/ int Day_input(char *notice,int year,int mouth) {     int day=0;     int nlimit,flag;     flag=Year_pd(year);     do     {         printf(notice);         scanf("%d",&day);         nlimit=Day_pd(mouth,flag);         if (day>nlimit||day<0)             printf("\n日期必须在(1~%d)之间!\n",nlimit);     } while (day>nlimit||mouth<0);     return day; } /*增加货物记录*/ void Add_goods(Link L) {     Node *p,*r,*s;     char ch,flag=0,num[10];     r=L;     s=L->next;     system("cls");     Disp(L,zg);     while (1)     {         while (1) /*输入编号,保证没有被使用,若输入为0,则推出*/         {             S_input(num,6,"输入货物编号(按‘0'返回菜单界面):");             flag=0;             if (strcmp(num,"0")==0) return;             s=L->next;             while (s) /*查询货物编号是否存在,若存在,要去输入新编号*/             {                 if (strcmp(s->data.numbs,num)==0)                 {                     flag=1;                     break;                 }                 s=s->next;             }             if (flag)             {                 getchar();                 printf("货物编号:%s已存在,是否要重新输入?(y/n)",num);                 scanf("%c",&ch);                 if(ch=='y'||ch=='Y')                     continue;                 else                     return;             }             else                 break;         }         p=(Node *)malloc(sizeof(Node));         if (!p)         {             printf("\n没有申请到");             return; /*返回到主界面*/         }         strcpy(p->data.numbs,num);         S_input(p->data.name,8,"名称:");         p->data.purchase=Num_input("进价:");         p->data.sales=Num_input("售价:");         S_input(p->data.place,6,"产地:");         p->data.Date.year=Num_input("成产日期:年:");         p->data.Date.mouth=Mou_input("         月:");         p->data.Date.day=Day_input("         日:",p->data.Date.year,p->data.Date.mouth);         p->data.days=Num_input("保质期(天):");         p->data.stock=Num_input("库存:");         p->data.salesnumb=Num_input("销量:");         p->data.income=00;         p->next=r->next;         r->next=p; /*前插*/     }     return ; } int select(int a,int b)               /*菜单选择*/ {     int n;     do     {         printf("\n\n");         printf("s"," ");         printf("请输入一个数(%d~%d): [ ]\b\b",a,b);         scanf("%d",&n);     } while (n<a||n>b);     return n; } /*实时计算实际收益*/ void Sum_Income(Link L) {     Node *p;     p=L->next;     while (p)     {         p->data.income=p->data.salesnumb*(p->data.sales-p->data.purchase);         p=p->next;     }     incomflag=1;     return ; } /*查询的通用方法*/ void Sea_by_ways(Link L,Node *p,char s[]) {     if (p)     {         if (strcmp(zg,s)==0)         {             printheader_zg();             printdata_zg(p);             printf(END_zg);             printf("按任意键返回...");             getchar();         }         else         {             printheader_pt();             printdata_pt(p);             printf(END_pt);             printf("按任意键返回...");             getchar();         }     }     else     {         Nofind();         getchar();     }    } /*按编号或货物名称查询*/ void Sea_by_name(Link L,char s[]) {     Node *p;     char ss[20];     system("cls");     S_input(ss,10,"请输入要查找的货物名称:");     p=Locate(L,ss,"name");     Sea_by_ways(L,p,s); } void Sea_by_num(Link L,char s[]) {     Node *p;     char ss[20];     system("cls");     S_input(ss,10,"请输入要查找的货物编号:");     p=Locate(L,ss,"num");     Sea_by_ways(L,p,s); } /*日期相对于本年的天数*/ int Sum_day(int year,int mouth,int day) {     int i,flag,days,sum=0;     flag=Year_pd(year);     for (i=1;i<mouth;i++)     {         days=Day_pd(i,flag);         sum+=days;     }     return sum+day; } /*两个日期差值*/ void Datecha(Link L) {     int year,mouth,day;     Node *p;     p=L->next;     year=Num_input("今天日期:年:");     mouth=Mou_input("月:");     day=Day_input("日:",year,mouth);     dateflag=1;     if (!p)     {         printf("***无货物信息,不用输入日期***\n");         getchar();         return ;     }     else     {         while (p)         {             p->data.datecha=Sum_day(year,mouth,day)-Sum_day(p->data.Date.year,p->data.Date.mouth,p->data.Date.day);             p=p->next;         }     } } void Dz_by_data( Link L) {     Node *p,*r;     Link l;     int year,mouth,day,count=0;     p=L->next;     l=(Node *)malloc(sizeof(Node));     l->next=NULL;     system("cls");     if (!dateflag)     {         Datecha(L);     }     printf("| 编号 |  名称  |过期差值|\n");     while (p)     {         printf("|%-6s|%-8s|  %4d  |",p->data.numbs,p->data.name,p->data.datecha);         if (p->data.days>=p->data.datecha)         {             /*优惠的标示优惠*/             if (p->data.days-p->data.datecha<=10)             {                 count++;                 p->data.sales=p->data.sales/2;                 printf("已优惠\n");                 /*        Ltol(l,p,p->next);*/             }             else             {                 printf("\n");             }         }         else         {             printf("该商品过期,请删除\n");         }         p=p->next;     }     if(!count)     {         printf("/n***没有差10天过期的货物***/n");         getchar();         return;     }     else     {         printf("共有%d中商品打折",count);         yhflag=1;         saveflag=1;         Disp(L,zg);     } } /*删除*/ void Del_by_ways(Link L,Node *p) {     Node *q;     char ch;     if (p)     {         q=L;         while(q->next!=p)             q=q->next;         printheader_zg();         printdata_zg(p);         printf(END_zg);         getchar();         printf("请确定是否要删除该货物信息(y/n):");         scanf("%c",&ch);         if (ch=='y'||ch=='Y')         {             q->next=p->next;             free(p);             printf("\n成功删除该货物信息\n");             saveflag=1;             getchar();             return;         }         else         {             printf("\n没有删除该货物信息\n");             getchar();             return;         }     }     else     {         Nofind();         getchar();     }    } /*通过名称删除*/ void Del_by_name(Link L) {     Node *p;     char s[20];     system("cls");     S_input(s,10,"请输入要查删除的货物名称:");     p=Locate(L,s,"name");     Del_by_ways(L,p); } /*通过编号删除*/ void Del_by_num(Link L) {     Node *p;     char s[20];     system("cls");     S_input(s,10,"请输入要查删除的货物的编号:");     p=Locate(L,s,"num");     Del_by_ways(L,p); } /*补货信息*/ void Buhuo(Link L) {     Node *p,*q;     int i=0;     p=L->next;     system("cls");     if (p)     {         q=L->next;         printf("|  编号  |  名称  |库存|销量|剩余| \n");         while (q)         {             /*统计库存,销量,剩余*/             printf("|%-8s|%-8s|%-4d|%4d|%4d|\n",q->data.numbs,q->data.name,q->data.stock,q->data.salesnumb,q->data.stock-q->data.salesnumb);             q=q->next;         }         while (p)         {             if ((p->data.stock-p->data.salesnumb)<100)             {                 if (i==0)                 {                     printf("需要补货的货物分别是\n");                     printf("|  编号  |商品名称|\n");                 }                 printf("|%-8s|%8s|\n",p->data.numbs,p->data.name);                 i++;             }             p=p->next;         }         if (i)         {             printf("共%d种货物\n",i);             getchar();             return;         }         else         {             printf("没有需要补充的货物种类\n");             getchar();             return;         }     }     else     {         printf("\n***没有货物信息***\n");         printf("\n按任意键返回...\n");         getchar();         return ;     } } void Sort_by_ways(Link L,char s[],int n) {     int flag=0,a;     Node *p,*q,*lq,*fq;   /*fq记下节点前驱,lq记下节点的后驱,q每次冒泡遍历,p控制遍历,qq用来交换地址*/     p=L->next;     system("cls");     while (p)     {         fq=L;         q=fq->next;         while (lq=q->next)         {             if (strcmp(zg,s)==0)             {                 switch (n)                 {                 case 1:a=strcmp(q->data.name,lq->data.name);break;                 case 2:a=strcmp(q->data.numbs,lq->data.numbs);break;                 case 3:a=(q->data.salesnumb>lq->data.salesnumb);break;                 case 4:if(!incomflag) Sum_Income(L); a=(q->data.income>lq->data.income);break;                 case 5:if (!dateflag) Datecha(L);a=(q->data.datecha>lq->data.datecha);break;                 }             }             else             {                 switch (n)                 {                 case 1:a=strcmp(q->data.name,lq->data.name);break;                 case 2:a=strcmp(q->data.numbs,lq->data.numbs);break;                 case 3:a=(q->data.sales>lq->data.sales);break;                 case 4:a=(q->data.salesnumb>lq->data.salesnumb);break;                 case 5:if (!dateflag) Datecha(L);a=(q->data.datecha>lq->data.datecha);break;                 }             }             /*if ((n==1)?(strcmp(q->data.name,lq->data.name)):(strcmp(q->data.numbs,q->data.numbs)))*/             if(a>0)             {                 flag=1;                 q->next=lq->next;                 lq->next=q;                 fq->next=lq;             }             fq=fq->next;             q=fq->next;         }         if(flag==0) break;         p=p->next;     }     if (strcmp(zg,s)==0)         Disp(L,zg);     else         Disp(L,pt); } void Wb_Save(Link L) {     FILE *out;     Node *p;     int count=0;     if ((out=fopen("d:\\Goods.txt","w"))==NULL)     {         printf("打开文件失败!\n");         getchar();         return;     }     p=L->next;     fprintf(out,HEADER1_zg);     fprintf(out,HEADER2_zg);     fprintf(out,HEADER3_zg);     while (p)     {         fprintf(out,FORMAT_zg,DATA_zg);         p=p->next;         fprintf(out,HEADER3_zg);         count++;     }     if (count>0)     {         getchar();         printf("\n\n\n***文本文件保存完成,共%d条货物信息保存***\n",count);         getchar();         saveflag=0;     }     else     {         system("cls");         printf("没有货物信息,没有货物信息保存\n");         getchar();     }     fclose(out); /*关闭此文件*/ } void Er_Save(Link L) {     FILE *out;     Node *p;     int count=0;     if ((out=fopen("d:\\Goods","wb"))==NULL)     {         printf("打开文件失败!\n");         getchar();         return;     }     p=L->next;     while (p)     {         if (fwrite(p,sizeof(Node),1,out))         {             p=p->next;             count++;         }         else         {             break;         }     }     if (count>0)     {         getchar();         printf("\n\n\n***二进制文件保存完成,共%d条货物信息保存***\n",count);         getchar();         saveflag=0;     }     else     {         system("cls");         printf("没有货物信息,没有货物信息保存\n");         getchar();     }     fclose(out); /*关闭此文件*/ } void Menu_sort_zg() {     system("cls");     printf("\n\n\n");     printf("%30s%s"," ","     排序货物信息   \n\n");     printf("%30s%s"," ","********功能*******\n\n");     printf("%30s%s"," ","*      1.按名称   *\n\n");     printf("%30s%s"," ","*      2.按编号   *\n\n");     printf("%30s%s"," ","*      3.按销量*\n\n");     printf("%30s%s"," ","*      4.按利润*\n\n");     printf("%30s%s"," ","*      5.按保期  *\n\n");     printf("%30s%s"," ","*      6.返回     *\n\n");     printf("%30s%s"," ","*      7.退出     *\n\n");     printf("%30s%s"," ","********************\n"); } void Menu_sort_pt() {     system("cls");     printf("\n\n\n");     printf("%30s%s"," ","     排序货物信息   \n\n");     printf("%30s%s"," ","********功能*******\n\n");     printf("%30s%s"," ","*      1.按名称   *\n\n");     printf("%30s%s"," ","*      2.按编号   *\n\n");     printf("%30s%s"," ","*      3.按售价   *\n\n");     printf("%30s%s"," ","*      4.按销量  *\n\n");     printf("%30s%s"," ","*      5.按保期  *\n\n");     printf("%30s%s"," ","*      6.返回     *\n\n");     printf("%30s%s"," ","*      7.退出     *\n\n");     printf("%30s%s"," ","********************\n"); } void Menu_del() {     system("cls");     printf("\n\n\n");     printf("%30s%s"," ","     删除货物信息   \n\n");     printf("%30s%s"," ","********功能*******\n\n");     printf("%30s%s"," ","*      1.按名称   *\n\n");     printf("%30s%s"," ","*      2.按编号   *\n\n");     printf("%30s%s"," ","*      3.返回     *\n\n");     printf("%30s%s"," ","*      4.退出     *\n\n");     printf("%30s%s"," ","********************\n"); } void Menu_Sea() {     system("cls");     printf("\n\n\n");     printf("%30s%s"," ","     查询货物信息   \n\n");     printf("%30s%s"," ","********功能*******\n\n");     printf("%30s%s"," ","*      1.按名称   *\n\n");     printf("%30s%s"," ","*      2.按编号   *\n\n");     printf("%30s%s"," ","*      3.返回     *\n\n");     printf("%30s%s"," ","*      4.退出     *\n\n");     printf("%30s%s"," ","********************\n"); } void Menu_Qx()                   /*权限菜单*/ {     system("cls");     printf("\n\n\n");     printf("%25s%s"," ","        欢迎进入             \n");     printf("%25s%s"," ","     货物管理体统   \n\n\n");     printf("%25s%s"," ","**********功能*********\n\n");     printf("%25s%s"," ","*        1.主管       *\n\n");     printf("%25s%s"," ","*        2.普通用户   *\n\n");     printf("%25s%s"," ","*        3.退出       *\n\n");     printf("%25s%s"," ","***********************\n"); } void Menu_zg()                       /*主管菜单*/ {     system("cls");     printf("\n\n\n");     printf("s%s"," ","               货物管理体统                               \n\n\n");     printf("s%s"," ","*****************主管功能******************\n\n");     printf("s%s"," ","*              1.录入货物信息             *\n");     printf("s%s"," ","*              2.删除货物信息             *\n");     printf("s%s"," ","*              3.查找货物信息             *\n");     printf("s%s"," ","*              4.显示货物信息             *\n");     printf("s%s"," ","*              5.差10天过物信息(促销)    *\n");     printf("s%s"," ","*              6.统计货物数量(补货)     *\n");     printf("s%s"," ","*              7.实时收益                 *\n");     printf("s%s"," ","*              9.排序日期差               *\n");     printf("s%s"," ","*              10.保存文件                *\n");     printf("s%s"," ","*              11.返回                    *\n");     printf("s%s"," ","*              12.退出                    *\n");     printf("s%s"," ","*******************************************\n"); } void Menu_pt()                        /*普通菜单*/ {     printf("s%s"," ","               货物管理体统                               \n\n\n");     printf("s%s"," ","*****************普通用户功能***************\n\n");     printf("s%s"," ","*              1.查找货物信息                   *\n");     printf("s%s"," ","*              2.显示货物信息                   *\n");     printf("s%s"," ","*              3.排序货物销量                   *\n");     printf("s%s"," ","*              4.返回                           *\n");     printf("s%s"," ","*              5.退出                          *\n");     printf("s%s"," ","*************************************************\n"); } void Isaveflag(Link L) {     char ch;     if (saveflag)     {         printf("您已经修改数据了,是否要保存退出(y/n):");         getchar();         scanf("%c",&ch);         if (ch=='y'||ch=='Y')         {             Wb_Save(L);             Er_Save(L);             exit(0);         }         else             exit(0);     }     else         exit(0); } int IsPassword()                      /*密码是否通过*/ {     char password[7];     char mypassword[]="123456";     static int n=3;     int i;     system("cls");     for (;n>0;n--)     {         switch(n)         {         case 1:         case 2: printf("密码错误,您还有%d次机会,请再输入:",n);break;         case 3: printf("请输入6位进入主管功能的密码:");getchar();break;         }         for ( i=0;i<6;i++)         {             password[i]=getch();             printf("*");         }         getchar();         password[6]='\0';         if (strcmp(mypassword,password)==0)         {             printf("***密码正确***");             getchar();             return 1;         }     }     printf("恭喜你,三次都输错了,无法再输入密码,按任意键返回...");     getchar();     return 0; } void Sort_goods(Link L,char s[]) {     if (!L->next)     {         system("cls");         printf("\n没有货物信息,无法使用排序功能\n");         getchar();         return;     }     else     {         if (strcmp(zg,s)==0)         {             system("cls");             for (;;)             {                 Menu_sort_zg();                 switch(select(1,7))                 {                 case 1:Sort_by_ways(L,zg,1);break;    /*名称*/                 case 2:Sort_by_ways(L,zg,2);break;     /*编号*/                 case 3:Sort_by_ways(L,zg,3);break;     /*销量*/                 case 4:Sort_by_ways(L,zg,4);break;     /*利润*/                 case 5:Sort_by_ways(L,zg,5);break;     /*保期*/                 case 6:return;break;                 case 7:Isaveflag(L);break;                 }                 getchar();             }         }         else         {             system("cls");             for (;;)             {                 Menu_sort_pt();                 switch(select(1,7))                 {                 case 1:Sort_by_ways(L,pt,1);break;        /*名称*/                 case 2:Sort_by_ways(L,pt,2);break;        /*编号*/                 case 3:Sort_by_ways(L,pt,3);break;        /*售价*/                 case 4:Sort_by_ways(L,pt,4);break;        /*销量*/                 case 5:Sort_by_ways(L,pt,5);break;        /*销量*/                 case 6:return;break;                 case 7:Isaveflag(L);break;                 }                 getchar();             }         }     } } void Sea_goods(Link L,char s[]) {     if (!L->next)     {         system("cls");         printf("\n***没有货物记录,不能进入查询功能***\n");         return ;     }     else     {         system("cls");         for (;;)         {             Menu_Sea();             switch(select(1,4))             {             case 1:Sea_by_name(L,s);break;             case 2:Sea_by_num(L,s);break;             case 3:return;break;             case 4:Isaveflag(L);break;             }             getchar();         }     } } void Del_goods(Link L) {     if (!L->next)     {         system("cls");         printf("\n***没有货物记录,不能使用删除功能***\n");         return ;     }     else     {         system("cls");         for (;;)         {             Menu_del();             switch (select(1,4))             {             case 1:Del_by_name(L);break;             case 2:Del_by_num(L);break;             case 3:return;break;             case 4:Isaveflag(L);break;             }             getchar();         }     } } void main_zg(Link L)                        /*主管功能*/ {     system("cls");     for (;;)     {         Menu_zg();         switch (select(1,12))         {         case 1:Add_goods(L);saveflag=1;break;                 /*增加货物信息*/         case 2:Del_goods(L);break;                 /*删除学生信息*/         case 3:Sea_goods(L,zg);break;         /*按编号名字查询*/         case 4:system("cls");Disp(L,zg);break;          case 5:Dz_by_data(L);break;         case 6:Buhuo(L);break;         case 7:Disp(L,zg);Sum_Income(L);Disp(L,zg);break;         case 9:Sort_goods(L,zg);break;         case 10:Wb_Save(L);Er_Save(L);break;         case 11:return;break;         case 12:Isaveflag(L);break;         }         getchar();     } } void main_pt(Link L)                        /*普通功能*/ {     system("cls");     for (;;)     {         Menu_pt();         switch (select(1,5))         {         case 1:Sea_goods(L,pt);break;         /*按编号名字查询*/         case 2:system("cls");Disp(L,pt);break;          case 3:Sort_goods(L,pt);break;         case 4:return;break;         case 5:Isaveflag(L);break;         }         getchar();         system("cls");     } } int main() {     Link L;     FILE *in;     Node *p,*r;     int count=0;     L=(Node *)malloc(sizeof(Node));     L->next=NULL;     r=L;     if ((in=fopen("d:\\Goods","ab+"))==NULL) /*以追加方式打开二进制文件*/     {         printf("\n***打开文件失败***\n");         exit(0);     }     while (!feof(in))     {         p=(Node *)malloc(sizeof(Node));         if (fread(p,sizeof(Node),1,in))         {             p->next=r->next;             r->next=p;             count++;         }     }     fclose(in);     for (;;)     {         Menu_Qx();         switch (select(1,3))         {         case 1:if(IsPassword())                {                    main_zg(L);                }                break;         case 2:main_pt(L);break;         case 3:Isaveflag(L);break;         }         getchar();     }     return 0; }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部