商品销售管理系统(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 welcome()
{printf("................................................................................\n");printf("\n");printf("                      ~~~~~~~~欢迎使用商品销售系统~~~~~~~~\n");printf("                              公司客户请按       1\n");printf("                              采购人员请按       2\n");printf("                              公司经理请按       3\n");printf("                              退出主界面请按     0\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");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("                              处理缺货                请按   1\n");printf("                              进货                    请按   2\n");printf("                              查询当前存货情况        请按   3\n");printf("                              退出采购                请按   0\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");}elsecontinue;}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");elseprintf("                    缺!   缺!   缺!\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;}elsebreak;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");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");
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;}elseprintf(" %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;
}

C语言版-商品销售管理系统相关推荐

  1. C语言程序设计-商品销售管理系统

    第一部分:引言 在这个信息发展的时代,电脑普及.互联网的迅速发展,绝大部分的进程从单一的人工管理上升到电脑智能管理.如今由于顾客量增多,商品出入时间的广泛,商场收益增多,仅仅依靠手写的老式输入记账法, ...

  2. c语言课程设计商品销售系统,c语言课程设计商品销售管理系统.pdf

    C语言课程设计商 品销售管理系统 1 2020 年 4 月 19 日 文档仅供参考 商品销售管理系统 目录 一. 需求分析 2 二.概要设计 2 三.详细设计 4 四.调试分析 14 五.用户手册 1 ...

  3. C语言-商品销售管理系统

    C语言-商品销售管理系统 全部代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> #incl ...

  4. 销售管理c语言程序设计,C语言课程设计销售管理系统

    C语言课程设计销售管理系统 C语言课程设计 题 目 商品销售系统 指导教师 曹东燕 学生姓名 刘伟 张新星 马国文 学 号 200900804072 200901802005 200900804051 ...

  5. 基于QT实现的商品销售管理系统

    基于QT实现的商品销售管理系统 商品销售管理系统 该系统需创建和管理以下信息: 1.商品信息:标号.品名.产地.进价.数量.到期日期.进货日期.销售数据集: 2.销售信息:销售日期.数量.价格.营业员 ...

  6. python编写超市销售系统_Python基础项目:超市商品销售管理系统

    Python基础项目:超市商品销售管理系统 发布时间:2020-07-12 09:11:58 来源:51CTO 阅读:991 作者:nineteens 需求分析: 超市销售管理系统功能 1.欢迎用户使 ...

  7. python实现商品管理系统_python实现超市商品销售管理系统

    本文实例为大家分享了python超市商品销售管理系统的具体代码,供大家参考,具体内容如下 class Goods(object): def __init__(self, id, name, price ...

  8. 数据结构课程设计---商品销售管理系统C/C++

    一.需求分析 1.商品上架:添加商品信息: 2.商品浏览:输出商品信息: 3.商品销售:输入商品编号和购买数量,通过商品标号获得商品名称和单价:通过输入的购买数量,修改该商品的库存量,计算该商品应付金 ...

  9. c++商品销售管理系统实现

    C++商品销售管理系统 将商品编号 ,商品名 , 库存量 ,已售量 ,进价 ,售价 ,供应商 ,已售量的数据保存到文件中 实现录入,保存,销售等功能 代码实现+++++++++++++++++++++ ...

最新文章

  1. 【ACM】杭电OJ 2039
  2. POJ-3281-Dining(求一对二最大匹配数/最大流)
  3. vue-datepicker的使用
  4. html背景图片横屏,CSS背景颜色 背景图片 居中 重复 固定样式background经验篇
  5. linux stat文件,Linux stat命令:显示文件或文件系统的详细信息
  6. 机器人学中的状态估计 中文版_《机器人学中的状态估计》-05偏差,匹配和外点...
  7. Eclipse 导入项目与 svn 插件关联全过程记录
  8. Atitit 图像处理之理解卷积attilax总结
  9. pve万兆网卡驱动_网卡的正确选择,避开小白踩坑
  10. word2013 打开一个新文档,之前打开的最小化的文档也会弹出来?
  11. 4家运营商、17家通信企业这样回应5G牌照发放
  12. 雷霆战机android代码,雷霆战机代码
  13. lv双肩包尺寸对照表_当红Monogram帆布LV双肩包尺寸究竟有多少?
  14. 1.urllib爬取数据
  15. 2017CS231n笔记_S11分割,定位,检测
  16. mmap是什么,为什么?
  17. Ubuntu添加和设置开机自动启动程序的方法
  18. 布袋除尘器--预喷涂
  19. [Code+#4]最短路 (最短路)
  20. CodeGear2007到CodeGear2009全系列自动破解工具更新到v1.0.0.237

热门文章

  1. 北京化工大学计算机组成原理考试,北京化工大学攻读硕士学位研究生复试样题《计算机组成原理》《操作系统》.doc...
  2. 判断磁盘是机械硬盘还是固态硬盘
  3. php判断某年是不是闰年,PHP怎么判断一年是否为闰年?
  4. KingSCADA系统实施标准手册(热网项目适用)
  5. 高架快速路与地面道路衔接路口精细治理
  6. Docker常用命令整理
  7. 环信即时通信jdk,java版本服务器端的集成
  8. 5G和人工智能存在递进关系,两者相辅相成!
  9. 第11章 网络物理隔离技术原理与应用
  10. erp系统的选择类型