• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > c语言实现的货物管理系统实例代码(增加删除 查找货物信息等功能)

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c类货物,有a b c三种货物,c语言编程实例,c语言游戏编程实例,c语言编程实例100题等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

/*主管权限数据格式化*/
#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&&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:
  

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

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

相关文章

  • 2017-05-28Linux下编译C程序的过程
  • 2017-08-30c语言strcmp函数实现
  • 2017-05-28C语言 全局变量和局部变量详解及实例
  • 2017-05-28C 语言二叉树几种遍历方法详解及实例
  • 2017-05-28指针与const限定符的使用分析
  • 2017-05-28C语言实现返回字符串函数的四种方法
  • 2017-05-28C++实现读入二进制数并转换为十进制输出
  • 2017-05-28C++使用ADO实现存取图片的方法
  • 2017-05-28C++中的函数指针与函数对象的总结
  • 2017-05-28LintCode 堆化详解及实例代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 用C语言来实现一个简单的虚拟机
    • C语言中#define与typedef的互换细节详解
    • c++运算符重载基础知识详解
    • 数组中求第K大数的实现方法
    • C++函数模板与类模板实例解析
    • 基于C++实现kinect+opencv 获取深度及彩色数据
    • C++俄罗斯方块游戏 无需图形库的俄罗斯方块
    • c语言连接mysql数据库的实现方法
    • jQuery移动页面开发中主题按钮的设计示例
    • C++中不能被重载的运算符介绍

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有