C语言实现商品销售系统

                                商品销售系统

#include<stdio.h>  //头文件
#include<string.h> //头文件
#include<stdlib.h> //头文件
#define M 100      //货物种类
#define N 100      //顾客数目
struct goods       //单个货物信息格式
{
    int  number;   //产品编号
    char name[20]; //产品名称
    int  price1;   //进价(或利润)
    int  price2;   //售价
    int  amount;   //数量
};
struct orderlist           //订单格式
{
    struct goods L[M];
};
struct customer            //客户信息内容和格式
{
    char name[20];         //姓名
    char password[6];      //服务密码
    int count;             //订单号
};
struct customer khl[N];    //所有客户信息
struct goods base[M];      //库存信息
struct orderlist odl[10*N];//订单表
struct goods lackl[M];     //缺货表
struct goods suml[M+1];    //销售报表
int PP=0;                  //订单编号
int QQ=0;                   //客户编号
int goodssum=0;              //货物总数

int main()                    //主函数开始!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
{
    int SysUseWay();        //系统使用说明函数声明
    int chushihua();       //系统初始化函数声明
    int welcome();        //欢迎界面函数声明
    int kh();            //客户函数声明
    int buyer();        //采购部函数声明
    int manager();     //公司经理函数声明
    int goodbye();    //欢送函数声明
    int n,m=9;       //变量声明
    SysUseWay();    //系统使用说明书
    chushihua();   //系统初始化
    while(m==9)   //循环三岔口
    {
    welcome();  //欢迎界面
    scanf("%d",&n);
    switch(n) //各奔东西
    {
    case 0 : ;break;
    case 1 : kh(); break;       //客户之家
    case 2 : buyer(); break;    //采购之家
    case 3 : manager(); break;  //经理之家
    default : printf("输入错误!请退出重从新输入");
    }
    if(n==0)
        break;
    printf("              继续进入主界面请按 9  退出请按0\n");
    scanf("%d",&m);
    }
    goodbye();                  //欢送界面
    return 0;
}                               //主函数结束!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

int SysUseWay()                 //系统使用说明书函数定义
{
    FILE *fp;
    fp=fopen("D://商品销售系统使用说明书.txt","w");
    fprintf(fp,"                                                  商品销售系统使用说明书\n");
    fprintf(fp,"    作者  卢孟江    学号  13091012   西安电子科技大学软件学院130911班   2010年10月6日\n");
    fprintf(fp,"    本销售系统仅是一个销售部门管理系统的的简单模型,功能少,不太稳定,不太安全。\n");
    fprintf(fp,"    主要分为三个模块。客户--销售部门--公司经理。\n");
    fprintf(fp,"    1--客户。客户主要是通过该系统进行订货。进入系统后,需要注册,登陆。系统会自主分配\n");
    fprintf(fp,"一个服务编号给客户,由客户自己设定密码。订购之后,可以登录查询自己的订货情况.不足之处\n");
    fprintf(fp,"在于该系统是一次性的---关闭系统之后,系统会丢失一切数据。这涉及数据库的知识,恕我现在\n");
    fprintf(fp,"无能为力。还有,每一个服务编号只能对应一个订货单,即客户每定一次货就得重新注册一次,否\n");
    fprintf(fp,"则就会覆盖以前的数据。\n");
    fprintf(fp,"    2--采购部门。主管仓库,查看处理缺货,进货。使用该系统前,首先必须由采购部门建立仓\n");
    fprintf(fp,"库。填写货物名称,进价,售价,库存数量。货物编号由系统自主按序分配。接下来,采购部门需\n");
    fprintf(fp,"要经常查看是否缺货。及时进货。\n");
    fprintf(fp,"    3--经理只需要抽时间查看一下销售报表。了解每一种货物的销售情况,以及总的销售利润。\n");
    fprintf(fp,"\n");
    fprintf(fp,"                             谨以此纪念我碌碌无为的大一。\n");
    fclose(fp);
    printf("................................................................................\n");
    printf("本系统使用说明书详见于您的计算机D盘“商品销售系统使用说明书.txt”文件。欢迎查阅 \n");
    printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
    return 0;
}

int welcome()                   //欢迎界面函数定义
{

    printf("................................................................................\n");
    printf("\n");
    printf("                      ~~~~~~~~欢迎使用商品销售系统~~~~~~~~\n");
    printf("\n");
    printf("..............................................................................\n");
    printf("                              公司客户请按       1\n");
    printf("\n");
    printf("..............................................................................\n");
    printf("                              采购人员请按       2\n");
    printf("\n");
    printf("...............................................................................\n");
    printf("                              公司经理请按       3\n");
    printf("\n");
    printf("................................................................................");
    printf("                              退出主界面请按     0\n");
    printf("\n");
    printf("\n");
    printf("................................................................................\n");
    return 0;
}

int chushihua()                  //初始化函数
{
    int i=0,j=0;
    for(i=0;i<M;i++)
    {
     suml[i].number=lackl[i].number=base[i].number=-1;
     base[i].amount=0;
     base[i].price1=base[i].price2=0;
     lackl[i].amount=0;
     suml[i].price1=0;
     suml[i].amount=0;
    }
    suml[M].price1=0;
    for(i=0;i<N;i++)
    khl[i].count=-1;
    for(i=0;i<10*N;i++)
    {
        for(j=0;j<M;j++)
        {
        odl[i].L[j].number=j;
        odl[i].L[j].amount=0;
        odl[i].L[j].price1=base[j].price1;
        odl[i].L[j].price2=base[j].price2;
        }
    }

    return 0;
}

int goodbye()                 //欢送界面函数定义
{
    printf("                 ~~~~感谢您使用商品销售系统~~~~\n");
    printf(".........................................................................\n");
    printf("作者    卢孟江     学号    13091012    软件学院 130911班\n");
    printf(".........................................................................\n");
    printf("\n");
    printf(".........................................................................\n");
    printf("由于时间仓促,能力有限,系统不是很完美,如有问题敬请原谅。欢迎垂询15109281415\n");
    printf(".........................................................................\n");
    return 0;
}
int buyer()                 //采购函数
{
    int welcomebuyer();     //欢迎函数
    int buildbaser();       //仓库建设
    int solvelack();        //查询缺货情况
    int chackbase();        //查询仓库情况
    int n;
    int m=9;
    while(m==9)             //循环三岔口
    {
    welcomebuyer();             //欢迎欢迎
    scanf("%d",&n);             //各奔东西
    switch(n)
    {
    case 0 : ;break;            //退出
    case 1: solvelack();break;  //查缺货
    case 2: buildbaser();break; //建设仓库
    case 3: chackbase();break;  //检查仓库
    default :printf("输入错误!\n");
    }
    if(n==0)
        break;
    printf("              继续采购请按 9  否则请按0\n");
    scanf("%d",&m);
    }
    return 0;
}

int welcomebuyer()
{
    printf("................................................................................\n");
    printf("\n");
    printf("                      ~~~~~~~~欢迎来到采购之家~~~~~~~~\n");
    printf("\n");
    printf("..............................................................................\n");
    printf("                              处理缺货                请按   1\n");
    printf("\n");
    printf("..............................................................................\n");
    printf("                              进货                    请按   2\n");
    printf("\n");
    printf("...............................................................................\n");
    printf("                              查询当前存货情况        请按   3\n");
    printf("\n");
    printf("................................................................................");
    printf("                              退出采购                请按   0\n");
    printf("\n");
    printf("\n");
    printf("................................................................................\n");
return 0;
}

int buildbaser()                //采购函数--进货函数
{
    int i=0;
    printf("            若想停止进货,请在货物数量上输入 0\n\n");
    for(i=0;i<M;i++)
    {
        printf("\n货物名称:");
        scanf("%s",base[i].name);
        base[i].number=i;
        printf("\n货物数量:");
        scanf("%d",&base[i].amount);
        if(base[i].amount<=0){
            base[i].amount=0;
            break;
        }
        goodssum+=base[i].amount;
        printf("\n货物进价:");
        scanf("%d",&base[i].price1);
        printf("\n货物售价:");
        scanf("%d",&base[i].price2);
        }
    return 0;
}

int chackbase()                //采购函数---查询当前存货函数
{
    int i=0;
    printf("................................................................................\n");
    if(goodssum==0)
    {
        printf("           仓库没货!!!         请采购部门及时进货!!!\n");
        return 0;
    }
    for(i=0;i<M;i++)
    {
        if(base[i].amount>0){
              printf("................................................................................\n");
              printf("货物编号  货物名称             货物数量          进价       售价\n");
              printf(" %3d      %-20s %6d          %6d     %6d \n",base[i].number,base[i].name,base[i].amount,base[i].price1,base[i].price2);
              printf("................................................................................\n");
        }
        else
            continue;
    }
    printf("................................................................................\n");
    return 0;
}

int solvelack()                //采购函数--处理缺货函数
{
    int i=0,k=0;
    int printlack();           //采购函数--处理缺货函数--查看函数声明
    int supplement();          //采购函数--处理缺货函数--添货函数声明
    printlack();               //查看是否缺货
    printf("           如果需要进货,请按1  ; 否则,请按0   \n");
    scanf("%d",&k);
    switch(k)
    {
    case 1:supplement();break;
    case 0:;break;
    default :printf("输入错误!\n");
    }
    return 0;
}
int printlack()                //采购函数--处理缺货函数--查看函数定义
{
    int i=0,count=0;
    if(goodssum==0){
          printf("                  !!!仓库没货!!!请采购人员及时进货!!!\n");
          return 0;
          }
    printf("................................................................................\n");
    for(i=0;i<M;i++)
    {
        if(lackl[i].amount==0){
            count++;
            continue;
         }
        else{
         printf("................................................................................\n");
         printf("货物编号  货物名称             缺货数量\n");
         printf(" %3d      %-20s %6d          \n",lackl[i].number,base[i].name,lackl[i].amount);
        }
    }
    printf("................................................................................\n");
    if(count==M)
        printf("              ~~~不缺~~~货物充足~~~\n");
    else
        printf("                    缺!   缺!   缺!\n");
return 0;
}
int supplement()              //采购函数--处理缺货函数--添货函数定义
{
    int i=0,j=1;
    int printlack();
    printlack();
    printf("     若想停止进货,请在货物数量上输入0\n");
    while(j>0)
    {
        printf("产品编号\n");
        scanf("%d",&i);
        while(i>=M){
        printf("此货物不存在,请重新输入\n");
        scanf("%d",&i);}
        base[i].number=i;
        printf("产品名称:\n");
        scanf("%s",base[i].name);
        printf("进货数量:\n");
        scanf("%d",&j);
        if(j>0){
           base[i].amount+=j;
           goodssum+=j;
        }
        else
            break;
        printf("\n货物进价:");
        scanf("%d",&base[i].price1);
        printf("\n货物售价:");
        scanf("%d",&base[i].price2);
    }
    return 0;
}

int kh()                          //客户函数
{

int login();                      //客户函数--登陆函数声明
int registe();                    //客户函数--注册函数声明
int welcomekh();                  //客户函数--欢迎函数声明
int searchkh(int falg);           //客户函数--查询订货情况的函数声明
int order(int falg);              //客户函数--订货函数声明
int i,k=0,flag=0;
int n=9,m=9;
welcomekh();                     //欢迎欢迎
while(m==9)                      //登陆?注册循环二岔路
{
printf("        登陆请按1,          注册请按2,          否则请按 0\n");
scanf("%d",&i);
switch(i)
{
case 0 : ;break;
case 1 : flag=login(); break;
case 2 : registe(); break;
default :printf("输入错误!\n");
}
if(i==0)
        break;
printf("           登陆或注册请按 9  否则请按0\n");
scanf("%d",&m);
}

while(n==9)                      //订购?查询循环二岔路
{
printf("         查询请按 1,   订购请按 2,      否则请按 0\n");
scanf("%d",&i);
switch(i)
{
case 0 : ;break;
case 1 : searchkh(flag); break;
case 2 : order(flag); break;
default :printf("输入错误!\n");
}
if(i==0)
    break;
printf("           继续查询或订购请按 9  否则请按0\n");
scanf("%d",&n);
}
return 0;
}

int welcomekh()                    //客户函数---欢迎函数定义
{ 

    printf("................................................................................\n");
    printf("\n");
    printf("                      ~~~~~~~~欢迎来到客户之家~~~~~~~~\n");
    printf("\n");
    printf("..............................................................................\n");
    return 0;
}

int login()                       //客户函数---登陆函数定义
{
int n,count=0;
char password[6];
printf("-------------------请输入服务编号-----------------------\n");
scanf("%d",&n);
printf("-------------------请输入六位密码-----------------------\n");
scanf("%s",password);
while(strcmp(password,khl[n].password))
{
    printf("~~~~~~~~~~~~~~~请重新输入六位密码~~~~~~~~~~~~~~~~~~~~\n");
    printf("\n");
    printf("               退出登陆,请输入123456\n");
    scanf("%s",password);
    if(!strcmp(password,"123456"))
        break;
}
if(!strcmp(password,"123456"))
return 0;
else
return n;
}

int registe()                      //客户函数---注册函数定义
{
printf("~~~~~~~~~~~~~~~~~~~~~~~~~您的服务编号是: %d ,请你一定要记牢您! ~~~~~~~~~~~~~~~~~~~~~~~~~\n",QQ);
printf("\n");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~请输入您的用户名:~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf("\n");
scanf("%s",khl[QQ].name);
printf("~~~~~~~~~~~~~~~~~~~~~~~~~请输入六位密码:~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf("\n");
scanf("%s",khl[QQ].password);
QQ++;
return 0;
}

int searchkh(int flag)             //客户函数---查询函数定义
{
int n,i=0;
n=flag;
printf("................................................................................\n");
printf("               Hello   %s   您的服务编号是: %d\n",khl[n].name,n);
printf("................................................................................\n");
if(khl[n].count!=-1){
    for(i=0;i<M;i++){
        if(odl[khl[n].count].L[i].amount==0)
            i++;
        else{
             printf("................................................................................\n");
             printf("货物编号  货物名称             订货数量          单价\n");
             printf(" %3d      %-20s %6d          %6d\n",base[i].number,base[i].name,odl[khl[n].count].L[i].amount,base[i].price2);
             printf("................................................................................\n");
        }

    }
}
else{
      printf("\n");
      printf("................................................................................\n");
      printf("                                您当前没有订货。                                \n");
      printf("................................................................................\n");
}
printf("................................................................................\n");
return 0;
}

int order(int flag)              //客户函数---订购函数
{
int i=0,k=0,m=0,n=0,count=0;
printf("\n");
n=flag;
printf("货物编号  货物名称               售价\n");
printf("\n");
for(i=0;i<M;i++){
    if(base[i].number==-1){
        count++;
        continue;}
    else
      printf(" %3d      %-20s %6d\n",base[i].number,base[i].name,base[i].price2);
}
if(count==M)
{
    printf("仓库现在没货,请稍后再来。麻烦您通知采购部门及时补货。。。谢谢。。。\n");
    return 0;
}
printf("请输入产品编号和数量,若想结束,在订购数量上输入 0 \n");
printf("产品编号\n");
scanf("%d",&k);
while((k>=M)||(base[k].number==-1)){
    printf("此货物不存在,请重新输入\n");
    scanf("%d",&k);}
printf("数量\n");
scanf("%d",&m);
while(m>0)
{
    if(base[k].amount<m)
    {
    odl[PP].L[k].amount=base[k].amount;
    base[k].amount=0;
    printf("存货不足,缺 %d 个,先卖给您%d个,剩下的请您稍后重新注册服务编号再预定!同时麻烦您通知采购部门及时补货。。。谢谢。。。\n",odl[PP].L[k].amount-base[k].amount,base[k].amount);
    lackl[k].amount+=(m-base[k].amount);
    }
    else{
        odl[PP].L[k].amount=m;
        base[k].amount-=m;
    }
    goodssum-=odl[PP].L[k].amount;
    suml[k].price1+=(odl[PP].L[k].amount*(base[k].price2-base[k].price1));
    suml[M].price1+=suml[k].price1;
    suml[k].amount+=odl[PP].L[k].amount;
    printf("产品编号\n");
    scanf("%d",&k);
    while((k>=M)||(base[k].number==-1)){
    printf("此货物不存在,请重新输入\n");
    scanf("%d",&k);}
    printf("订购数量\n");
    scanf("%d",&m);
}
khl[n].count=PP;
PP++;
return 0;
}

int manager()                    //经理函数定义
{

    int i=0;
    for(i=0;i<M;i++)
    {
     if(suml[i].amount==0)
         i++;
     else{
              printf("................................................................................\n");
              printf("货物编号  货物名称           该货物利润\n");
              printf(" %3d      %-20s %6d          \n",suml[i].number,base[i].name,suml[i].price1);
              printf("................................................................................\n");

     }

    }
    printf("\n--------------------总货量为  %d  个-----------------------------\n",goodssum);
    printf("\n--------------------总利润为  %d  美元-----------------------------\n",suml[M].price1);
    return 0;
}
时间: 2024-10-29 19:07:23

C语言实现商品销售系统的相关文章

基于ssm框架和freemarker的商品销售系统

项目说明 1.项目文件结构 2.项目主要接口及其实现 (1)Index: 首页页面:展示商品功能,可登录或查看商品详细信息 (2)登录:/ApiLogin 3.dao层 数据持久化层,把商品和用户信息寸进mysql数据库 (1)ContentDao (2)PersonDao (3)ProductDao (4)TransactionDao 4.spring配置文件和mybatis配置文件 spring-mvc.xml 1 <?xml version="1.0" encoding=&

商品中心中台支持系统-商品销售信息设计

目录 商品中心中台支持系统-商品销售信息设计 修订记录 目录 1.商品销售信息设计 商品中心中台支持系统-商品销售信息设计 修订记录 日期 版本 章节 描述 作者 2018-10-25 V1.0 初始版本 无涯 目录 1.商品销售信息设计 本文讲述电商系统构建中,商品中心销售信息模块的相关知识和数据存储设计. 1.1.商品知识 商品销售信息包括商品价格信息,媒体信息,属性信息,商品描述信息等商品的通用扩展信息管理. 媒体信息:商品主图,商品切换图,商品视频. 属性信息:关键属性(通过该属性可搜索

JSP手机销售系统

近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域.于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念.网上购物系统作为B2B(既企业对企业),B2C(即企业对消费者),C2C(即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用.这种全新的交易方式实现了公司间文档与资金的无纸化交换.该系统的设计,可以使管理层可以及时查询.管理手机,并处理用户提交的订单,还可以对当前销售业绩

第十五周oj刷题——Problem F: C++习题 商品销售

Description 商店销售某一商品,每天公布统一的折扣(discount).同时允许销售人员在销售时灵活掌握售价(price),在此基础上,一次购10件以上者,还可以享受9.8折优惠.现已知当天m个销货员销售情况为 销货员号(num)            销货件数(quantity)       销货单价(price) 101                                              5                            23.5 10

OSGi是什么:Java语言的动态模块系统(一)

OSGi是什么 OSGi亦称做Java语言的动态模块系统,它为模块化应用的开发定义了一个基础架构.OSGi容器已有多家开源实现,比如Knoflerfish.Equinox和Apache的Felix.您可以通过这些容器,把您的应用程序劈分为多个模块单元,这样,您就可以更容易地管理这些模块单元之间的交叉依赖关系. OSGi规范和Servlet规范及EJB规范类似,该规范定义了两种对象,一是容器对外提供的服务对象,另一个是容器和您的应用程序之间必须遵守的契约,其中,服务对象是容器要实现的.您如果想要在

【SSH网上商城项目实战29】使用JsChart技术在后台显示商品销售报表

这个项目终于接近尾声了,注册功能我就不做了,关于注册功能我的另一篇博客详细的介绍了一下注册的表单验证,可以直接把功能加到本项目中,修改一下相关的跳转即可,就不再做了.另外,目前这个项目只有action层和service层,dao层我还没抽取,做完这个报表,我把dao层抽取一下,再对整个项目做个总结,差不多就可以上传源码了,到时候欢迎大家下载~ 这一节主要做一下最后一个功能:使用JsChart这个工具来显示商品的销售报表,JsChart是很好用的一款制作报表的工具,之所以好用,是因为它的官方实例做

苏宁易购11.11:商品详情系统架构设计

商品详情系统介绍 基本介绍 商品详情系统是一个展示商品基本信息.参数等详情的系统,是商品购买的入口.它是电商平台中访问量最大的系统之一,苏宁易购大促期间PV量和UV量很大,这么大的访问量对系统的并发能力要求高.在业务上它与周边系统的关系是高耦合.依赖商品详情系统的的系统特别多,比如:促销系统.推荐系统.大聚惠.等众多营销系统.还有主数据系统.购物车.收藏夹等,业务复杂度高对系统设计提出更多的要求. 业务特点 重点在于数据展示 页面信息丰富,如:商品详情.商家列表.推荐.排行榜等 部分数据时效要求

商品详情系统架构设计

商品详情系统是一个展示商品基本信息.参数等详情的系统,是商品购买的入口.它是电商平台中访问量最大的系统之一,苏宁易购大促期间PV量和UV量很大,这么大的访问量对系统的并发能力要求高.在业务上它与周边系统的关系是高耦合.依赖商品详情系统的的系统特别多,比如:促销系统.推荐系统.大聚惠.等众多营销系统.还有主数据系统.购物车.收藏夹等,业务复杂度高对系统设计提出更多的要求. 1.重点在于数据展示2.页面信息丰富,如:商品详情.商家列表.推荐.排行榜等3.部分数据时效要求高,如:价格.库存等4. 业务

图书管理销售系统概要分析,接口设计部分

 负责人:皮皮周(20160401085)               国字号(20160401105)   接口设计 1.用户接口 网站部分:本图书销售系统不包含与网络的交互联通功能. 客户端部分:简洁大方的图形用户界面,包含登陆窗口,以及登陆成功后显示的用户主界面窗口.主界面由各个系统功能子模块构成,要求清晰.美观.登陆界面包含不同角色的切换登陆功能,适用于管理员以及用户等不同身份权限的角色进行登陆,要求简洁.有序.  2.外部接口 数据存储:本系统设计数据的存储和处理,通过ADO.NET与