当前位置:  编程技术>c/c++/嵌入式

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

    来源: 互联网  发布时间:2014-10-22

    本文导语:  代码如下:#include #include #include #include         /*屏幕操作函数库*/ /*主管权限数据格式化*/#define HEADER1_zg "-----------------------------货物管理系统(主管)--------------------------------n"#define HEADER2_zg "| 编号 |  名称  | 进价 | 售价 | 产...

代码如下:

#include
#include
#include
#include         /*屏幕操作函数库*/

/*主管权限数据格式化*/
#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("nnnn*******错误:输入错误,按任意键继续*******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("nn");
    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&&year%100!=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(anext;
            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("nn");
        printf("%15s"," ");
        printf("请输入一个数(%d~%d): [ ]bb",a,b);
        scanf("%d",&n);
    } while (nb);
    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;inext;
    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.datechadata.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)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("nnn***文本文件保存完成,共%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("nnn***二进制文件保存完成,共%d条货物信息保存***n",count);
        getchar();
        saveflag=0;
    }
    else
    {
        system("cls");
        printf("没有货物信息,没有货物信息保存n");
        getchar();
    }
    fclose(out); /*关闭此文件*/
}
void Menu_sort_zg()
{
    system("cls");
    printf("nnn");
    printf("%30s%s"," ","     排序货物信息   nn");
    printf("%30s%s"," ","********功能*******nn");
    printf("%30s%s"," ","*      1.按名称   *nn");
    printf("%30s%s"," ","*      2.按编号   *nn");
    printf("%30s%s"," ","*      3.按销量*nn");
    printf("%30s%s"," ","*      4.按利润*nn");
    printf("%30s%s"," ","*      5.按保期  *nn");
    printf("%30s%s"," ","*      6.返回     *nn");
    printf("%30s%s"," ","*      7.退出     *nn");
    printf("%30s%s"," ","********************n");
}
void Menu_sort_pt()
{
    system("cls");
    printf("nnn");
    printf("%30s%s"," ","     排序货物信息   nn");
    printf("%30s%s"," ","********功能*******nn");
    printf("%30s%s"," ","*      1.按名称   *nn");
    printf("%30s%s"," ","*      2.按编号   *nn");
    printf("%30s%s"," ","*      3.按售价   *nn");
    printf("%30s%s"," ","*      4.按销量  *nn");
    printf("%30s%s"," ","*      5.按保期  *nn");
    printf("%30s%s"," ","*      6.返回     *nn");
    printf("%30s%s"," ","*      7.退出     *nn");
    printf("%30s%s"," ","********************n");
}
void Menu_del()
{
    system("cls");
    printf("nnn");
    printf("%30s%s"," ","     删除货物信息   nn");
    printf("%30s%s"," ","********功能*******nn");
    printf("%30s%s"," ","*      1.按名称   *nn");
    printf("%30s%s"," ","*      2.按编号   *nn");
    printf("%30s%s"," ","*      3.返回     *nn");
    printf("%30s%s"," ","*      4.退出     *nn");
    printf("%30s%s"," ","********************n");
}
void Menu_Sea()
{
    system("cls");
    printf("nnn");
    printf("%30s%s"," ","     查询货物信息   nn");
    printf("%30s%s"," ","********功能*******nn");
    printf("%30s%s"," ","*      1.按名称   *nn");
    printf("%30s%s"," ","*      2.按编号   *nn");
    printf("%30s%s"," ","*      3.返回     *nn");
    printf("%30s%s"," ","*      4.退出     *nn");
    printf("%30s%s"," ","********************n");
}
void Menu_Qx()                   /*权限菜单*/
{
    system("cls");
    printf("nnn");
    printf("%25s%s"," ","        欢迎进入             n");
    printf("%25s%s"," ","     货物管理体统   nnn");
    printf("%25s%s"," ","**********功能*********nn");
    printf("%25s%s"," ","*        1.主管       *nn");
    printf("%25s%s"," ","*        2.普通用户   *nn");
    printf("%25s%s"," ","*        3.退出       *nn");
    printf("%25s%s"," ","***********************n");
}
void Menu_zg()                       /*主管菜单*/
{
    system("cls");
    printf("nnn");
    printf("%15s%s"," ","               货物管理体统                               nnn");
    printf("%15s%s"," ","*****************主管功能******************nn");
    printf("%15s%s"," ","*              1.录入货物信息             *n");
    printf("%15s%s"," ","*              2.删除货物信息             *n");
    printf("%15s%s"," ","*              3.查找货物信息             *n");
    printf("%15s%s"," ","*              4.显示货物信息             *n");
    printf("%15s%s"," ","*              5.差10天过物信息(促销)    *n");
    printf("%15s%s"," ","*              6.统计货物数量(补货)     *n");
    printf("%15s%s"," ","*              7.实时收益                 *n");
    printf("%15s%s"," ","*              9.排序日期差               *n");
    printf("%15s%s"," ","*              10.保存文件                *n");
    printf("%15s%s"," ","*              11.返回                    *n");
    printf("%15s%s"," ","*              12.退出                    *n");
    printf("%15s%s"," ","*******************************************n");
}
void Menu_pt()                        /*普通菜单*/
{
    printf("%15s%s"," ","               货物管理体统                               nnn");
    printf("%15s%s"," ","*****************普通用户功能***************nn");
    printf("%15s%s"," ","*              1.查找货物信息                   *n");
    printf("%15s%s"," ","*              2.显示货物信息                   *n");
    printf("%15s%s"," ","*              3.排序货物销量                   *n");
    printf("%15s%s"," ","*              4.返回                           *n");
    printf("%15s%s"," ","*              5.退出                          *n");
    printf("%15s%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;inext)
    {
        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;
}


    
 
 

您可能感兴趣的文章:

  • HTML超文本标记语言教程及实例
  • LINUX 或者Windows 如何保证一个进程只有一个实例在运行?如果是C语言,JAVA语言开发,又怎么样保证?
  • 大家帮我推荐些在linux下用c语言对数据库操作编程的实例或资料吧!谢谢!
  • C语言构建动态数组完整实例
  • C语言实现堆排序的简单实例
  • C语言实现杨辉三角实例
  • c语言 字符串转大写的简单实例
  • C语言二维数组的处理实例
  • c语言如何实现只运行单个进程实例?
  • C语言中自动隐式转换与类型强制转换实例分析
  • C语言十进制转二进制代码实例
  • C语言变量类型与输出控制用法实例教程
  • C语言创建链表错误之通过指针参数申请动态内存实例分析
  • C语言的递归思想实例分析
  • C语言二叉树的非递归遍历实例分析
  • C语言中qsort函数用法实例小结
  • C语言程序,软定时器应用的实例
  • c语言全盘搜索指定文件的实例代码
  • C语言连续子向量的最大和及时间度量实例
  • C语言安全之数组长度与指针实例解析
  • C语言循环队列的表示与实现实例详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 帮助我系统的致命点:我开发了一套“文件管理系统”,(jsp语言,resin服务器)但
  • C语言编程——操作系统中的文件管理!
  • 2013年7月和2013年8月编程语言排行榜
  • 如何在GTK2.0下实现国际化(语言选择根据自己设置的语言,不用系统的语言)
  • 2017 年热门编程语言排行榜出炉,你的语言上榜没?
  • C语言中有指针,因此C语言可以创建链表,那么Java语言没有指针,那Java是否可以创建链表呢?
  • 苹果OS X和IOS下最新编程语言swift介绍
  • 求助,在linux下,c语言和汇编语言的接口是什么?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • C语言中间语言 CIL
  • PHP编程语言介绍及安装测试方法
  • 最近学JSP,苦于HTML语言和JAVA语言太差,请教推荐几本书,thanks.
  • Linux下C语言strstr()查找子字符串位置函数详细介绍(strstr原型、实现及用法)
  • 动态编程语言 LIME编程语言
  • c语言实现MD5算法完整代码示例
  • C语言如何改变当前语言环境
  • 以NetBeans IDE为例介绍如何使用XML中Schema语言
  • 如何在VIM中使汇编语言和C语言自动缩进?
  • c语言基于libpcap实现一个抓包程序过程
  • 我安装的linux时默认语言选择的是中文,又乱码,怎么可以解决?怎么更改默认语言成英文?
  • MD5算法的C语言实现
  • Redhat9安装时语言只选择了中文,现在还能再增加其它语言的支持吗?如英文
  • HTML 脚本语言介绍及<script>标签用法
  • 请问哪里有ubuntu 9.0版本的中文语言包和KDE的中文语言包下载,我用Google搜索了很多地方都没有!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3