C语言—商品销售系统
#define _CRT_SECURE_NO_WARNINGS 1
#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, " 学生 张三 学号 415091012 计算机科学学院计科系01班 2018年3月3日\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");}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");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;elsereturn 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;}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语言—商品销售系统相关推荐
- C语言实现商品销售系统
商品销售系统 #include<stdio.h> //头文件 #include<string.h> //头文件 #include<stdlib.h> //头文件 # ...
- C++入门编程实战(二)商品销售系统
开发语言:C++ 开发环境:VS2017 程序说明:商品销售系统程主要分为三部分: commodity类的声明与实现(commodity.h.commodity.cpp). trade类的声明与实现( ...
- C语言-商品销售管理系统
C语言-商品销售管理系统 全部代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> #incl ...
- 电脑报价管理系统C语言,C语言笔记本电脑销售系统课设(附源码).doc
PAGE PAGE 1 C语言笔记本电脑销售系统课设 项目说明 本系统基于C语言开发,适用于刚入门的C语言新手项目课设,开发软件采用VC++6.0开发,VS,DEV C++等均可运行.(书生) 项目运 ...
- C++项目实战(一)——简单商品销售系统实现
本项目通过使用win32控制台应用程序实现一个非常简单的商品销售系统,主要涉及的知识点包含有:类的设计与使用.文件流操作.标准模板库的使用. 简单商品销售系统: 需求分析: 我们需要实现一个 能进货. ...
- java商品销售_商品销售系统(Java).doc
淮海工学院计算机工程学院 实验报告书 课程名:<面向对象程序设计> 实验名称: Java深入面向对象编程 商品销售系统 班 级: 软件081 组 长: 组 员: 李宏志. 谢超 一.实验目 ...
- C语言机票销售系统[2023-01-04]
C语言机票销售系统[2023-01-04] 机票销售系统 一 系统要求: 要求用C 语言实现一个模拟机票销售的系统,基本功能如下: (1).通过该系统,超级用户可以添加用户(包括业务员角色和乘客角色) ...
- c语言课程设计商品销售系统,c语言课程设计商品销售管理系统.pdf
C语言课程设计商 品销售管理系统 1 2020 年 4 月 19 日 文档仅供参考 商品销售管理系统 目录 一. 需求分析 2 二.概要设计 2 三.详细设计 4 四.调试分析 14 五.用户手册 1 ...
- c语言商品订购系统总结报告,c语言课程设计报告-商业销售管理系统
c语言课程设计报告-商业销售管理系统 (14页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 C语言课程设计商业销售管理系统学号姓名班级软 ...
最新文章
- php数据 文本_php直接调用文本文件内容
- Android -------GestureDetector类的用法
- BZOJ-1864-[Zjoi2006]三色二叉树(树形dp)
- 阿里云API网关相关操作
- thinkphp源码分析(一)—开门篇
- 8086汇编4位bcd码_238期中4头3尾,排列五第19239期爱我彩规
- 高度平衡二叉树的构建_数据结构与算法系列(十六)平衡二叉树的构建实现过程演示...
- WordPress优化:为原创文章和转载文章分别添加不同的版权申明
- CentOs下部署Core环境
- 怎么使用视频转换器把kux格式转换mp4
- 团队项目开发编码规范
- sql server 系统表 介绍
- html点击a标签弹层播放视频,html中点击a标签视频在新页面播放
- 通信工程专业就业之------通信协议栈开发(LTE/NR)
- python有哪些细节描写_细节描写的句子有哪些
- 生产消费者模式实例(多线程实现价格监控)
- java游戏应龙女魃转世_应龙与女魃的爱情故事,应龙在黄泉海边等待女魃数千年...
- T检验中有哪些指标?
- 解决npm构建报错:An unhandled exception occurred: ENOTEMPTY: directory not empty
- 从头开始制作51智能车——循迹+遥控+避障