C语言自动售卖机系统

头文件定义数据类型

# include <stdio.h>
# include <stdlib.h>
# include <math.h>typedef struct jc   //检查
{//1元数量 int yy;//5元数量 int wy;//10元数量 int sy;
}JE;//金额 //商品
typedef struct SP
{//销售金额 int xsje;//售出 int sc;//库存 int kc;char name[20];
}SP;

源码:

# include <stdio.h>
# include <stdlib.h>
# include <math.h>typedef struct jc   //检查
{//1元数量 int yy;//5元数量 int wy;//10元数量 int sy;
}JE;//金额 //商品
typedef struct SP
{//销售金额 int xsje;//售出 int sc;//库存 int kc;char name[20];
}SP;
int main()
{//声明 fp 是 FILE型指针,用于指向FILE类型 (文件结构)FILE *fp;//数量,余额,商品 int sl, ye, sp, cd, pd;//商品A,B,C SP a, b, c;JE money;//初始化商品库存为50 a.kc = b.kc = c.kc = 50;a.sc = b.sc = c.sc = 0;//初始化纸币面额数量 money.yy = 200;money.wy = 50;money.sy = 0;//销售金额=售出数量*单价 a.xsje = a.sc * 2;b.xsje = b.sc * 3;c.xsje = c.sc * 6;//创建一个文件 fp = fopen("note.txt", "a");do{//菜单 printf("\t\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*\n");printf("\t\t^*                                                  ^*\n");printf("\t\t^*      ------欢迎使用自动售货机管理系统------      ^*\n");printf("\t\t^*                                                  ^*\n");printf("\t\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*\n");printf("\n");printf("\t\t       菜单:\n\n");printf("\t***********************************************************************\n");printf("\t************************自*动*售*货*机*系*统***************************\n");printf("\t*******************1、库   存   查   询*********************\n"); printf("\t*******************2、商  品   上   架*********************\n"); printf("\t*******************3、销  售   查   询*********************\n");printf("\t*******************4、会   计   查   询*********************\n");printf("\t*******************5、结   算   功   能*********************\n");printf("\t*******************6、销   售   界   面*********************\n");printf("\t***********************************************************************\n");printf("\t***********************************************************************\n");printf("\t**请输入1-6的选择:");scanf("%d",&cd); switch(cd){case 1:printf("\t  **********库*存*查*询*******************************\n");printf("\t   *   1、A商品       单价:  2元         *\n");printf("\t   *   2、B商品       单价:  3元         *\n");printf("\t   *   3、A商品       单价:  6元         *\n");printf("\t   ****************************************************\n");printf("\t   **请输入1-3选择:");scanf("%d",&sp);printf("\n");switch(sp){case 1:printf("\t    *******************************************\n"); printf("\t   *   你选择的2元的商品         *\n");printf("\t    *   2元商品的库存量为:%d           *\n",a.kc); printf("\t  *******************************************\n"); fputs("2元商品的库存量为", fp);fprintf(fp, "%d\n", a.kc);break;case 2:printf("\t *******************************************\n"); printf("\t   *   你选择的3元的商品         *\n");printf("\t    *   3元商品的库存量为:%d           *\n",b.kc); printf("\t  *******************************************\n");fputs("3元商品的库存量为", fp);fprintf(fp, "%d\n", b.kc);break;case 3:printf("\t  *******************************************\n"); printf("\t   *   你选择的6元的商品         *\n");printf("\t    *   6元商品的库存量为:%d           *\n",c.kc); printf("\t  *******************************************\n");fputs("6元商品的库存量为", fp);fprintf(fp, "%d\n", c.kc);break;}printf("\t    *输入任意数值返回上层\n");system("PAUSE");break;case 2:printf("\t**************商*品*上*架************************\n");printf(" *  1、A商品        单价:  2元      *\n");printf("    *  2、B商品        单价:  3元      *\n");printf("    *  3、A商品        单价:  6元      *\n");printf("\t*************************************************\n");printf("\t    **请输入1-3选择:"); scanf("%d",&sp);printf("\n");switch(sp){case 1:printf("\t   *   你选择的2元的商品       *\n");printf("\t  *   请输入商品改变量:       "); scanf("%d", &sl);a.kc += sl;printf("\t *******************************************\n"); printf("\t   *   2元商品的库存量为:%d           *\n",a.kc);printf("\t   *******************************************\n"); fputs("2元商品的库存量为", fp);fprintf(fp, "%d\n", a.kc);break;case 2:printf("\t *   你选择的3元的商品       *\n");printf("\t  *   请输入商品改变量:       "); scanf("%d", &sl);b.kc += sl;printf("\t *******************************************\n"); printf("\t   *   3元商品的库存量为:%d           *\n",b.kc);printf("\t   *******************************************\n"); fputs("3元商品的库存量为", fp);fprintf(fp, "%d\n", b.kc);break;case 3:printf("\t *   你选择的6元的商品       *\n");printf("\t  *   请输入商品改变量:       "); scanf("%d", &sl);c.kc += sl;printf("\t *******************************************\n"); printf("\t   *   6元商品的库存量为:%d           *\n",c.kc);printf("\t   *******************************************\n"); fputs("6元商品的库存量为", fp);fprintf(fp, "%d\n", c.kc);break;}system("PAUSE");break;case 3:printf("\t**************销*售*查*询************************\n");printf("    *  1、A商品        单价:  2元      *\n");printf("    *  2、B商品        单价:  3元      *\n");printf("    *  3、A商品        单价:  6元      *\n");printf("\t*************************************************\n");printf("\t    **请输入1-3选择:");scanf("%d",&sp);printf("\n");switch(sp){case 1:printf("\t*******************销*售*查*询*******************\n");printf("    *   你选择的2元的商品           *\n");printf("    *   销售数量为:    %d                 *\n", a.sc); printf(" *   销售金额为:    %d                 *\n", a.xsje);printf("\t*************************************************\n");fputs("2元商品的销售数量和金额为:", fp); fscanf(fp, "%d", &a.sc);fprintf(fp, "%d\n", a.xsje);break;case 2:printf("\t**************销*售*查*询************************\n");printf(" *   你选择的3元的商品           *\n");printf("    *   销售数量为:    %d                 *\n", b.sc); printf(" *   销售金额为:    %d                 *\n", b.xsje);printf("\t*************************************************\n");fputs("3元商品的销售数量和金额为:", fp); fscanf(fp, "%d", &b.sc);fprintf(fp, "%d\n", b.xsje);break;case 3:printf("\t**************销*售*查*询************************\n");printf(" *   你选择的6元的商品           *\n");printf("    *   销售数量为:   %d              *\n", c.sc); printf(" *   销售金额为:   %d              *\n", c.xsje);printf("\t*************************************************\n");fputs("6元商品的销售数量和金额为:", fp); fprintf(fp, "%d", c.sc);fprintf(fp, "%d\n", c.xsje);break;}system("PAUSE");break;case 4:printf("\t**********************会*计*查*询************************\n");printf("    *   至今2元商品卖出:%d  ,交易额为:  %d       *\n", a.sc, a.xsje);printf("  *   至今3元商品卖出:%d  ,交易额为:  %d       *\n", b.sc, b.xsje);printf("  *   至今6元商品卖出:%d  ,交易额为:  %d       *\n", c.sc, c.xsje);printf("\t*********************************************************\n");printf("    *   1元零钞剩余量为: %d                 *\n",money.yy);printf("   *   5元零钞剩余量为: %d                 *\n",money.wy);printf("\t*********************************************************\n");fputs("至今2元商品的销售数量和金额为:", fp);fprintf(fp, "%d,", a.sc);fprintf(fp, "%d\n", a.xsje);fputs("至今3元商品的销售数量和金额为:", fp);fscanf(fp, "%d,", b.sc);fprintf(fp, "%d\n", b.xsje);fputs("至今6元商品的销售数量和金额为:", fp);fprintf(fp, "%d,", c.sc);fprintf(fp, "%d\n", c.xsje);fputs("1元零钞剩余量为:",fp);fprintf(fp, "%d\n", money.yy);fputs("5元零钞剩余量为:",fp);fprintf(fp, "%d\n", money.wy);system("PAUSE");//清屏 system("cls");break;case 5:fputs("取出10元钞票数量:", fp);fprintf(fp,"%d\n",money.sy);money.sy = 0;printf("\t*******************************************************\n");printf("\t *   已取出10元钞票                   \n");printf("\t    *   请输入1元钞票的初始值:        ");scanf("%d", &money.yy);fputs("重置的1元钞票的初始值:",fp);fprintf(fp,"%d\n", money.yy);printf("\t    *   请输入5元钞票的初始值:        ");scanf("%d",&money.wy);//商品销量清零 a.sc = b.sc = c.sc = 0;system("PAUSE");system("cls");break;case 6:while(sp!=110)    //管理员密码为110 {printf("\t    *           请放入10元纸币                *\n");printf("\t  *           请输入10:               *\n");printf("\t   ");scanf("%d",&pd);//目前只能放入10元纸币 if(pd == 10){printf("\t *************销*****售***************************\n");printf("\t    *1、A商品      单价:  2元      *\n");printf("\t  *2、B商品      单价:  3元      *\n");printf("\t  *3、A商品      单价:  6元      *\n");printf("\t  *************************************************\n");} printf("\t    **请输入1-3选择:");scanf("%d",&sp);switch(sp){case 1:while(1){printf("\t  *************************************************\n");printf("\t  *   你选择的是2元的商品          *\n");printf("\t  *   你选择的商品为:2元商品         *\n");printf("\t  *   请选择购买数量:");scanf("%d",&sl);if(sl>0&&sl<=5){if(a.kc>=sl && (money.yy+money.wy*5)>=(10-sl*2)){ye = 10 - sl*2;a.xsje += sl*2;a.sc += sl;a.kc -= sl;money.sy++;if(ye>5 && money.wy>=1){money.wy-=1;money.yy = money.yy - ye + 5;}else{money.yy = money.yy - ye;}printf("\t    ****************************************************\n");printf("\t   *   请从商品口拿出商品及余额:  %d 元      *\n",ye);fputs("此次卖出2元商品数量及收入为:",fp);fprintf(fp,"%d",sl);fprintf(fp,"%d\n",sl*2);system("PAUSE");system("cls");break;}else{system("cls");printf("\t    *   商品不足或零钞不足   *\n");system("PAUSE");break;}}else{system("cls");printf(" *   请输入正确数量 *\n");system("PAUSE");}}break;case 2:while(1){printf("\t    ***********************************\n");printf("\t    *   你选择的是3元的商品            *\n");printf("\t    *   你选择的商品为:3元商品       *\n");printf("\t    *   请选择购买数量:");scanf("%d",&sl);if(sl>0&&sl<=3){if(b.kc>=sl && (money.yy+money.wy*5)>=(10-sl*3)){ye = 10 - sl*3;b.xsje += sl*3;b.sc += sl;b.kc -= sl;money.sy++;if(ye>5 && money.wy>=1){money.wy-=1;money.yy = money.yy - ye + 5;}else{money.yy = money.yy - ye;}printf("\t    ******************************************\n");printf("\t *   请从商品口拿出商品及余额:  %d 元*\n",ye);fputs("此次卖出3元商品数量及收入为:",fp);fprintf(fp,"%d",sl);fprintf(fp,"%d\n",sl*2);system("PAUSE");system("cls");break;}else{system("cls");printf("\t  *   商品不足或零钞不足   *\n");system("PAUSE");break;}}else{system("cls");printf(" *   请输入正确数量 *\n");system("PAUSE");}}break;case 3:while(1){printf("\t    ***********************************\n");printf("\t    *   你选择的是6元的商品            *\n");printf("\t    *   你选择的商品为:6元商品       *\n");printf("\t    *   请选择购买数量:");scanf("%d",&sl);if(sl>0&&sl<=1){if(c.kc>=sl && (money.yy+money.wy*5)>=(10-sl*6)){ye = 10 - sl*6;c.xsje += sl*6;c.sc += sl;c.kc -= sl;money.sy++;if(ye>5 && money.wy>=1){money.wy-=1;money.yy = money.yy - ye + 5;}else{money.yy = money.yy - ye;}printf("\t    **************************************\n");printf("\t *   请从商品口拿出商品及余额:  %d 元*\n",ye);fputs("此次卖出6元商品数量及收入为:",fp);fprintf(fp,"%d",sl);fprintf(fp,"%d\n",sl*6);system("PAUSE");system("cls");break;}else{system("cls");printf("\t  *   商品不足或零钞不足   *\n");system("PAUSE");break;}}else{system("cls");printf(" *   请输入正确数量 *\n");system("PAUSE");}}break;default:system("PAUSE");continue;}system("cls");}}}while(cd<=6);printf("****************************************\n");printf("   *   请输入对应的正确数字  *\n");printf("    *       程序结束!            *\n");printf("****************************************\n");printf("\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*\n");printf("\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*\n");printf("\t^*^*^*^*^*^*退出系统^*^*^*^*^*^*^*^*^*\n");printf("\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*\n");printf("\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*\n");fclose(fp);return 0;}








求大佬帮忙加新功能!!!感觉有点功能单调了,需要优化。

2021-10-27 C语言自动售卖机系统相关推荐

  1. MPC模型预测控制学习笔记-2021.10.27

    MPC模型预测控制学习笔记-点击目录就可以跳转 1. 笔者介绍 2. 参考资料 3. MPC分类 4. 数据的标准化与归一化 5. MATLAB-MPC学习笔记 5.1 获取测试信号:gensig( ...

  2. [2021.1.27多校省选模拟10]跑步(线段树合并)

    [2021.1.27多校省选模拟10]跑步 经典的树上启发式合并题目,维护对应子树的从当前点到子树内一个节点这个链待定,其他部分已经确定的方案数,这个东西按照对应点到根节点的路径点权和为下标存在一个权 ...

  3. [2021.1.27多校省选模拟10]染色(min-max容斥/二项式反演)

    [2021.1.27多校省选模拟10]染色 突然发现我对概率期望的理解不是很好... 部分分1:可以直接进行状压dp,然后按照题意模拟即可. 部分分2:首先可以发现这个问题是min_max容斥形式,然 ...

  4. 2021年二级c语言软件下载,二级c语言模拟考试软件下载 无忧考吧二级c语言考试系统 v2021.3官方安装版 下载-脚本之家...

    无忧考吧二级c语言考试系统是一款非常专业的计算机二级C语言模拟考试软件,可以帮助用户朋友们对全国计算机二级C语言考试进行模拟测试学习,如果您对这一门课程并没有什么把握需要练习,这款考试模拟系统一定是你 ...

  5. 2021.10.25-10.31 AI行业周刊(第69期):AI进化之路

    本周<Opencv基础及AI项目实战>以及<Pytorch模型推理及多任务通用范式>两门课程已经完结. 两门课程中,针对所有完成作业的同学,都颁发了毕业证书. 并且对于完成比较 ...

  6. Spring Boot安装及使用(2021.10.28)

    Spring Boot安装及使用 2021.10.28 1.Spring Boot 简介 1.1 为何选择Spring? 1.2 Spring的功能 1.3 Spring项目的依赖包管理工具(Mave ...

  7. Python 最近两条好消息:①TIOBE排名超过C和Java②新版本发布3.10.0,还有今天刚发布的《What’s New in Python(2021.10.15)》

    来自TIOBE的最新10月份统计数据显示,Python首次超越Java.JavaScript.C语言等,成为最受欢迎的编程语言.TIOBE过去20年一直在追踪编程语言的受欢迎程度,其数据来自于对25个 ...

  8. leetcode刷题记录2:进度64, 2021.10.23

    文章目录 数组的度(题目编号697:[link](https://leetcode-cn.com/problems/degree-of-an-array/)) 二叉搜索树(题目编号700:[link] ...

  9. Java毕设项目茶店订购管理系统2021计算机(附源码+系统+数据库+LW)

    Java毕设项目茶店订购管理系统2021计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行) ...

最新文章

  1. I hope so 2016-Oct-10
  2. java程序设计案例教程 钱银中_《Java程序设计案例教程》【价格 目录 书评 正版】_中国图书网...
  3. docker暴露多个端口
  4. 列表表格以及媒体元素
  5. 根据根据图片的url怎么取得图片ImageView对象
  6. 【Zabbix】CentOS6.9系统下部署Zabbix-server 3.0
  7. 小工匠聊架构-超高并发秒杀系统设计 03_热点数据的处理
  8. Swift 泛型參数
  9. Android App性能自动化评测方法
  10. js 实现ReplaceAll 的方法
  11. 运行报错SecureCRT: error while loading shared libraries: libjpeg.so.8:
  12. 压缩与解压2---文件的压缩
  13. 厦门市大专计算机学校有哪些,2021厦门公办大专学校有哪些 【教育部专科院校名单】...
  14. natapp外网穿透使用教程Windows
  15. 麦咖啡的设置,很长,如果你想百毒不侵的话。。
  16. Clouda框架开发留言板实例
  17. [Kaggle实战] Titanic 逃生预测 (1) - 项目起步
  18. 华硕灵耀pro16参数 华硕灵耀pro16怎么样
  19. 丁神去谷歌-北邮OJ416
  20. python支持复数以及相关的运算吗_python复数运算

热门文章

  1. 【STM32Cube_17】使用硬件SPI驱动TFT-LCD(ST7789)
  2. PR渲染只使用核显,不使用独显的解决方法
  3. VMware此平台不支持虚拟化的 AMD-V/RVI解决方法
  4. latex中label的运用
  5. 青海大学计算机考研调剂,青海大学2021年硕士研究生招生调剂公告
  6. x210:uboot和系统移植
  7. Pandas 全系列教程分享
  8. 基于YOLOv3算法的交通标志识别系统实现流程(个人学习笔记,仅当参考!!)
  9. javaMail多个收件人分号隔开的适配
  10. 嵌入式Linux实验手册——基于ARM9 S3C2410实验平台.doc