自动售货机报告C语言课程设计
自动售货机报告c语言课程设计报告报告

- -自动售货机图形模拟系统需求分析课题名称:自动售货机图形模拟系统小组成员:朱伟鑫U201314490班级:测控1301班指导老师:周纯杰、何顶新、刚、周凯波上交日期:贰零壹肆年玖月贰拾壹日目录1.引言--现实中的自动售货机 (2)2.运行环境 (3)3.功能设计 (3)3.1触摸屏 (3)3.2自动换零 (3)3.3销量统计 (3)3.4提前补货 (4)3.5显示商品信息 (4)3.6自动售货机网络 (4)3.7无响应自动处理 (4)4.软件系统需求分析 (4)4.1图形显示 (4)4.2菜单模块 (5)4.3交易模块 (5)4.4管理模块 (5)5.系统流程图 (5)6.时间安排...........................................6自动售货机图形模拟系统朱伟鑫课题要求以自动售货机为对象,图形化模拟投币、找零、出货的基本流程;能对售货机的商品进行管理:补货、查询、统计等功能。
1引言--现实中的自动售货机自动售货机是能根据投入的钱币自动付货的机器。
自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。
是一种全新的商业零售形式,又被称为24小时营业的微型超市。
能分为三种:饮料自动售货机、食品自动售货机、综合自动售货机。
从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。
大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。
从广义来讲投入硬币、纸币、信用卡等后便可以销售商品的机械,从狭义来讲就是自动销售商品的机械。
从供给的条件看,自动售货机可以充分补充人力资源的不足,适应消费环境和消费模式的变化,24小时无人售货的系统可以更省力,运营时需要的资本少、面积小,有吸引人们购买好奇心的自身性能,可以很好地解决人工费用上升的问题等各项优点。
自动饮料售货机课程设计报告

学生姓名:专业班级:指导教师:工作单位:题目: 自动售货饮料机控制电路的设计与实现初始条件:本设计既可以使用计数器、比较器、脉冲发生器等和必要的门电路等,也可以使用单片机系统构建。
用数码管、LED灯显示结果。
要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。
2、技术要求:1)售货机只接受5角和1元的硬币,可以用按钮代替硬币的投入。
投入硬币的总金额用两位数码管显示,最大投入金额为9.5元。
2)售货机可以自动出售3种饮料,售价分别是0.5元,1元和1.5元。
当顾客完成投币后,根据投入金额,各饮料对应的LED将亮起(如投入1元硬币,0.5元和1元饮料的LED亮起,表示可以购买0.5元或1元饮料)。
3)顾客根据自身需要按下各饮料对应的按钮,每按一次掉出一瓶饮料,两位数码管显示剩余金额,LED继续指示可购饮料的种类;4)顾客按下“找零”按钮将使机器发出找零信号,两位数码管清零。
5)确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。
3、查阅至少5篇参考文献。
按《武汉理工大学课程设计工作规范》要求撰写设计报告书。
全文用A4纸打印,图纸应符合绘图规范。
时间安排:1、 2013 年 5 月 16日,布置课设具体实施计划与课程设计报告格式的要求说明。
2、 2013 年 6 月 28 日至 2013 年 6 月 30 日,方案选择和电路设计。
3、 2013 年 7 月 1 日至 2013 年 7 月 3 日,电路调试和设计说明书撰写。
4、 2013 年 7 月 5 日,上交课程设计成果及报告,同时进行答辩。
指导教师签名:年月日系主任(或责任教师)签名:年月日摘要本文设计了一种以INTEL 公司的AT89C52单片机为核心的自动饮料售货机装置的控制系统,详细介绍了自动饮料售货机控制系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动饮料售货机控制系统的工作原理、系统设计、软件编程的原则和技巧。
自动售货机系统-《C语言程序设计》课程设计报告

money.wy=50;
money.sy=0;
a.xsje=a.sc*2;
b.xsje=b.sc*3;
c.xsje=c.sc*6;
fp=fopen("jilu.txt","a");
do{printf("\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^\n");
结算功能:取出今天所有的10元纸币,并且分别设置零钞的数目
销售界面:顾客投入纸币,选择商品,获得商品和零钱;或者直接显示错误并退还纸币
【题目要求】
(1)为各项操作功能设计一个菜单。应用程序运行后,先显示这个菜单,然后操作员通过菜单项选择希望进行的操作项目;
(2)你的售货机用户不希望每一位顾客都有权限执行以上功能,因此一旦进入销售界面,就不应当退回到系统界面,但是应允许顾客反复购买,前一个顾客购买完毕后应停留在销售界面里允许下一个顾客操作。直到某位特殊的顾客(超级顾客)输入特殊的商品代号(密码)方可回到主控界面。
在自动售货机系统中,数据的固化采用.out文件格式进行储存。
关键词:计算机自动售货机储存
1 设计内容和要求
某公司请你为其生产的自动售货机编写软件。这种无人值守自动售货机贩卖价值为A、B、C的三种商品,价格分别为2元,3元和6元。顾客投入10元的纸币,然后选择购买3种商品之一,自动售货机吐出商品,并且找给用户零钱。如果商品已经卖完,或者无法找零,则给出用户一个提示,商品已售完,并且退还纸币。
7月4日9:00~12:00学生课程设计答辩,14:00~17:00学生提交课程设计报告
考
参考资料
C语言实现最全自动售货机

C语⾔实现最全⾃动售货机拥有所有功能⾃动售货机C语⾔主要功能:欢迎页⾯、通过⽂本⽂件读⼊货物信息、上货、卖货(包含找零,付款不⾜等多种情况)、增加新品种、按单价从⾼到低排序、按序号排序、退出前将所有货物信息回写进⽂本⽂档实际代码⾮常简单使⽤环境VS2017编译运⾏正常;DEV C++删除第⼀⾏(#define _CRT_SECURE_NO_WARNINGS)注意事项1.第⼀次使⽤需要进⼊系统维护录⼊所有信息.2.在使⽤时会在桌⾯创建⼀个⽂本⽂件记录数据,下次运⾏也会有数据.3.录⼊数据时⼀定注意按照系统提⽰,⼀定要先输⼊编号再进⾏创建新的品种,可以输⼊中⽂名称,如农夫⼭泉.//初次使⽤请进⾏系统维护并录⼊商品信息#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#define SIZE 100000#include<string.h>#include<stdlib.h>#include<conio.h>//货物数据结构struct huowu{int n; //编号char name[10]; //名称int Price; //价格int Maths; //剩余数量}s[SIZE];/*录⼊数据*/void finput(){FILE *fp;int i, t, x = 1;fp = fopen("fs+", "w"); //printf("已进⼊重新录⼊数据界⾯,之前数据将被清除!\n\n请按提⽰输⼊编号\n");for (i = 0; i < SIZE; i++){printf(" 第%d个请输⼊编号(请与左⽅编号⼀致,按回车键进⼊下⼀步,当输⼊i=-1时,完成录⼊商品信息)\n", x++);//需要逐⼀⼿动先输⼊编号scanf("%d", &t);i = t;if (i == -1){fclose(fp);return;}else{i = t - 1;printf("请输⼊名称价格及添加的库存,⽤空格间隔开,按回车键继续\n");scanf("%s %d %d", &s[i].name, &s[i].Price, &s[i].Maths);s[i].n = i + 1;fwrite(&s[i], sizeof(struct huowu), 1, fp);}}fclose(fp);}/*输出数据*/void flist(){FILE *fp;printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf(" 列表\n");printf("-----------------------------------------------------------\n");printf("序号名称价格库存 \n");printf("-----------------------------------------------------------\n");for (i = 0; fread(&s[i], sizeof(struct huowu), 1, fp) == 1; i++){printf("%d%18s%16d%16d\n", s[i].n, s[i].name, s[i].Price, s[i].Maths); }printf("-----------------------------------------------------------\n\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");fclose(fp);}/*修改数据*/void fchange(){FILE *fp;int k;fp = fopen("fs+", "r");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf(" 列表\n");printf("-----------------------------------------------------------\n");printf("序号名称价格库存 \n");printf("-----------------------------------------------------------\n");for (k = 0; fread(&s[k], sizeof(struct huowu), 1, fp) == 1; k++){printf("%d%18s%16d%16d\n", s[k].n, s[k].name, s[k].Price, s[k].Maths); }printf("-----------------------------------------------------------\n\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");int i, n;int flag = 0;printf("请输⼊要修改商品的序号:");scanf("%d", &n);for (i = 0; i <= SIZE; i++)if (s[i].n == n){printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf(" 列表\n");printf("-----------------------------------------------------------\n");printf("序号名称价格\n");printf("-----------------------------------------------------------\n");printf("%d%32s%25d\n", s[i].n, s[i].name, s[i].Price);printf("-----------------------------------------------------------\n\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); n = i;flag = 1;break;}if (flag == 0){printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf(" 输⼊错误!\n");printf(" 请重新选择!\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");return;}printf("\n\n\n");fp = fopen("fs+", "r+");fseek(fp, n * sizeof(struct huowu), 0);printf("请输⼊新的名称价格:");scanf("%s%d", s[i].name, &s[i].Price);fwrite(&s[i], sizeof(struct huowu), 1, fp);fclose(fp);fp = fopen("fs+", "r");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf(" 列表\n");printf("-----------------------------------------------------------\n");printf("序号名称价格\n");printf("-----------------------------------------------------------\n");for (i = 0; fread(&s[i], sizeof(struct huowu), 1, fp) == 1; i++){printf("%d%28s%28d\n", s[i].n, s[i].name, s[i].Price);printf("-----------------------------------------------------------\n\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");fclose(fp);}/* 排序*/void ftaxis(){int i, j, n;FILE *fp;struct huowu t;fp = fopen("f.s+", "r");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf(" 列表\n");printf("-----------------------------------------------------------\n");printf("序号名称价格\n");printf("-----------------------------------------------------------\n");for (i = 0; fread(&s[i], sizeof(struct huowu), 1, fp) == 1; i++){printf("%d%28s%28d\n", s[i].n, s[i].name, s[i].Price);}printf("-----------------------------------------------------------\n\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");fclose(fp);n = i;for (i = 0; i < n; i++)for (j = i + 1; j < n; j++)if (s[i].Price < s[j].Price){t = s[i];s[i] = s[j];s[j] = t;}fp = fopen("fss+", "w");printf("\n\n\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf(" 列表 \n");printf("-----------------------------------------------------------\n");printf("序号名称价格\n");printf("-----------------------------------------------------------\n");for (i = 0; i < n; i++){fwrite(&s[i], sizeof(struct huowu), 1, fp);printf("%d%28s%28d\n", s[i].n, s[i].name, s[i].Price);}printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");fclose(fp);}//添加库存int fadd(){FILE *fp;int i, num, n;int flag = 0;printf("请输⼊要补货商品的序号:");scanf("%d", &n);for (i = 0; i <= SIZE; i++)if (s[i].n == n){printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf(" 列表\n");printf("-----------------------------------------------------------\n");printf("序号名称库存\n");printf("-----------------------------------------------------------\n");printf("%d%8s%8d\n", s[i].n, s[i].name, s[i].Maths);printf("-----------------------------------------------------------\n\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); n = i;flag = 1;break;}if (flag == 0)printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf(" 输⼊错误!\n");printf(" 请返回!\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");return 0;}printf("\n\n\n");fp = fopen("fs+", "r+");fseek(fp, n * sizeof(struct huowu), 0);printf("请输⼊添加后此商品总个数");scanf("%d", &s[i].Maths);fwrite(&s[i], sizeof(struct huowu), 1, fp);fclose(fp);fp = fopen("fs+", "r");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf(" 列表\n");printf("-----------------------------------------------------------\n");printf("序号名称库存\n");printf("-----------------------------------------------------------\n");for (i = 0; fread(&s[i], sizeof(struct huowu), 1, fp) == 1; i++){printf("%d%8s%8d\n", s[i].n, s[i].name, s[i].Maths);}printf("------------------------补货完成-------------------------\n\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");fclose(fp);}/*内部操作systeam*/int neibu(){system("cls");int n;for (;;){printf("\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf("※※\n");printf("※欢迎进⼊⾃动售货机(内部) ※\n");printf("※※\n");printf("※※\n");printf("※主菜单※\n");printf("※※\n");printf("※▲1.重新所有录⼊数据▲※\n");printf("※▲2.展⽰商品信息▲※\n");printf("※▲3.补充库存▲※\n");printf("※▲4.修改数据▲※\n");printf("※▲5.按照价格排序并⽣成另⼀个⽂件▲※\n");printf("※▲6.退出系统▲※\n");printf("※※\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n"); printf("请输⼊选择项(1-6):");scanf("%d", &n);printf("\n\n\n\n");if (n > 0 && n < 8){switch (n){case 1:finput(); break;case 2:flist(); break;case 3:fadd(); break;case 4:fchange(); break;case 5:ftaxis(); break;case 6:printf("※※※※※※※※※※※※※※※※※※※※※※※※\n");printf("※※\n");printf("※谢谢使⽤! ※\n");printf("※再见! ※\n");printf("※※\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※\n");system("pause");system("cls"); //清空屏幕return 0;// exit(0);}else{printf("※※※※※※※※※※※※※※※※※※※※※※※※\n");printf("※※\n");printf("※输⼊错误! ※\n");printf("※请退出! ※\n");printf("※※\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※\n");break;}}system("cls"); //清空屏幕}/*购买*/void buy(){FILE *fp;int i;system("cls");fp = fopen("fs+", "r");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf(" 列表\n");printf("-----------------------------------------------------------\n");printf("序号名称价格库存 \n");printf("-----------------------------------------------------------\n");for (i = 0; fread(&s[i], sizeof(struct huowu), 1, fp) == 1; i++){printf("%d%18s%16d%18d\n", s[i].n, s[i].name, s[i].Price, s[i].Maths); }printf("----------------请输⼊需要的商品按回车继续-----------------\n");printf("-----------------------------------------------------------\n\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");int num, n, B = 1;float money = 0.0, m = 0;int flag = 0;restar:printf("请输⼊要购买商品的序号:");scanf("%d", &n);for (i = 0; i <= SIZE; i++)if (s[i].n == n){printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf("-----------------------------------------------------------\n");printf("序号名称价格\n");printf("-----------------------------------------------------------\n");printf("%d%30s%26d元\n", s[i].n, s[i].name, s[i].Price);printf("-----------------------------------------------------------\n\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); n = i;flag = 1;break;}if (flag == 0){printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf(" 输⼊错误!\n");printf(" 请返回!\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); return;}printf("\n\n\n");fp = fopen("fs+", "r+");fseek(fp, n * sizeof(struct huowu), 0);s[i].Maths = s[i].Maths - 1;fwrite(&s[i], sizeof(struct huowu), 1, fp);fclose(fp);fp = fopen("fs+", "r");if (s[i].Maths <= 0){printf("存货不⾜,请购买其他商品!\n");s[i].Maths = 0;goto restar;}printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");printf("-----------------------------------------------------------\n");printf(" 请⽀付 %d 元(仅限⼀元以上⾯额)\n", s[i].Price);printf("-----------------------------------------------------------\n\n");printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");while (B){scanf("%f", &money);m += money;if (m < s[i].Price){printf("⾦额不⾜,请继续⽀付\n\n");}if (m == s[i].Price){printf("付款成功\n\n");B = 0;break;s[i].Maths = s[i].Maths - 1;}if (m > s[i].Price){money = m - s[i].Price;printf(" 付款成功,找零%f请您收好\n\n\n\n 欢迎下次使⽤\n\n\n", money);B = 0;break;s[i].Maths = s[i].Maths - 1;}}fclose(fp);system("pause");}//主函数int main(){char sr;//定义电脑接受的字符system("color F0");start://起始位置system("cls");printf("※※※※※※※※※※※※※※※※※※※※※※※※\n");printf("※欢迎使⽤⾃动售货机(初始试⽤版)※\n");printf("※※\n");printf("※请输⼊选项※\n");printf("※ a.⽤户购买※\n");printf("※ b.系统维护※\n");printf("※※\n");printf("※按回车继续。
自动售货机实验报告

软件课程设计实验报告课题:自动售货机班级:电信作者:学号:课程设计实验报告第一部分程序代码 (7)第二部分软件设计文档 (15)一、软件需求说明书 (15)1引言 (15)1.1编写目的 (15)1.2背景 (15)1.3定义 (15)1.4参考资料 (16)2任务概述 (16)2.1目标 (16)2.2用户的特点 (16)2.3假定和约束 (16)3需求规定 (16)3.1对功能的规定 (17)3.2对性能的规定 (17)3.3输人输出要求 (18)3.4数据管理能力要求 (18)3.5故障处理要求 (18)3.6其他专门要求 (19)4运行环境规定 (19)4.1设备 (19)4.2支持软件 (19)4.3接口 (19)4.4控制 (19)二、概要设计说明书 (20)1引言 (20)1.1编写目的 (20)1.2背景 (20)1.3定义 (20)1.4参考资料 (20)2 需求说明 (21)2.1需求规定 (21)2.2运行环境 (21)2.3基本设计概念和处理流程 (21)2.5功能器求与程序的关系 (22)2.6人工处理过程 (23)2.7尚未解决的问题 (23)3接口设计 (23)3.1用户接口 (23)3.2外部接口 (23)3.3内部接口 (23)4运行设计 (23)4.1运行模块组合 (23)4.2运行控制 (24)4.3运行时间 (24)5系统数据结构设计 (24)5.1逻辑结构设计要点 (24)5.2物理结构设计要点 (24)5.3数据结构与程序的关系 (24)6系统出错处理设计 (25)6.1出错信息 (25)6.2补救措施 (25)三、详细设计说明 (26)1引言 (26)1.1编写目的 (26)1.2背景 (26)1.3定义 (26)1.4参考资料 (26)2程序系统的结构 (27)3投币模块 (27)3.1程序描述 (27)3.2功能 (27)3.3性能 (27)3.4输入项 (28)3.5输出项 (28)3.6算法 (28)3.7流程逻辑 (28)3.8接口 (28)3.9存储分配 (29)3.10注释设计 (29)3.11限制条件 (29)3.12测试计划 (29)4退币模块 (30)4.1程序描述 (30)4.2功能 (30)4.3性能 (30)4.4输入项 (30)4.5输出项 (30)4.6算法 (30)4.7流程逻辑 (31)4.8接口 (31)4.9存储分配 (31)4.10注释设计 (31)4.11限制条件 (32)4.12测试计划 (32)4.13尚未解决的问题 (32)5取货模块 (32)5.1程序描述 (32)5.2功能 (32)5.3性能 (32)5.4输入项 (32)5.5输出项 (33)5.6算法 (33)5.7流程逻辑 (33)5.8接口 (33)5.9存储分配 (34)5.10注释设计 (34)5.11限制条件 (34)5.12测试计划 (34)5.13尚未解决的问题 (34)6购买模块 (35)6.1程序描述 (35)6.2功能 (35)6.3性能 (35)6.4输入项 (35)6.5输出项 (35)6.6算法 (36)6.7流程逻辑 (36)6.8接口 (37)6.10注释设计 (38)6.11限制条件 (38)6.12测试计划 (38)6.13尚未解决的问题 (38)四、测试分析报告 (39)1引言 (39)1.1编写目的 (39)1.2背景 (39)1.3定义 (39)1.4参考资料 (39)2测试概要 (39)3测试结果及发现 (40)3.1测试1(启动系统) (40)3.2测试2(退出系统) (42)3.3测试3(货品展示) (42)3.4测试4(投币购买) (42).5测试5(取出物品) (43)3.6测试6(找零) (44)3.7测试7(退币) (44)3.8测试8(报错) (45)4对软件功能的结论 (45)4.1功能 (45)4.2能力 (46)4.3限制 (46)5分析摘要 (46)5.1能力 (46)5.2缺陷和限制 (46)5.3建议 (46)5.4评价 (47)6测试资源消耗 (47)五、项目开发总结报告 (48)1引言 (48)1.1编写目的 (48)1.2背景 (48)1.3定义 (48)1.4参考资料 (48)2实际开发结果 (49)2.1产品 (49)2.2主要功能和性能 (50)2.3基本流程 (50)2.4进度 (50)3开发工作评价 (52)3.1对生产效率的评价 (52)3.2对产品质量的评价 (52)3.3对技术方法的评价 (52)3.4出错原因的分析 (52)4经验与教训 (53)第一部分程序代码//引入awt、swing包import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;//类Seller的定义,用于实现所有的功能public class Seller extends JFrame implements ActionListener{private static final long serialVersionUID = 6843588200041215448L;private double money = 0.0;//"money"表示用户余额private boolean occupy; //"occupy=false"表示出货口未满,用户可以购买;//"occupy=true"表示出货口已满,用户必须取完货才能继续购买。
c课程设计自助售货机

c 课程设计自助售货机一、教学目标本课程的教学目标是让学生了解和掌握自助售货机的基本原理和操作方法。
知识目标包括了解自助售货机的历史、结构和功能,掌握自助售货机的操作流程和维护方法。
技能目标包括能够独立操作自助售货机,解决基本的故障问题。
情感态度价值观目标包括培养学生对科技创新的兴趣和好奇心,增强学生对自助售货机的使用和维护的责任感。
二、教学内容本课程的教学内容主要包括自助售货机的历史、结构、功能和操作维护方法。
首先,介绍自助售货机的发展历程和现状,使学生了解自助售货机的历史背景和市场发展。
其次,详细讲解自助售货机的结构组成,包括硬件设备和软件系统,使学生了解自助售货机的工作原理。
然后,介绍自助售货机的功能特点,包括商品选择、支付方式、售后服务等,使学生了解自助售货机的使用方式。
最后,教授学生自助售货机的操作维护方法,包括机器启动、商品摆放、故障排除等,使学生能够独立操作和维护自助售货机。
三、教学方法为了实现教学目标,本课程将采用多种教学方法,包括讲授法、演示法、实践法等。
首先,通过讲授法向学生传授自助售货机的基本知识和操作方法。
其次,通过演示法展示自助售货机的实际操作过程,使学生能够直观地了解和模仿。
然后,通过实践法让学生亲自动手操作自助售货机,巩固所学知识和技能。
此外,还可以采用小组讨论法,让学生分组讨论自助售货机的使用和维护问题,培养学生的团队合作意识和问题解决能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备多种教学资源。
教材方面,选择内容丰富、结构清晰的自助售货机教材,为学生提供系统的学习材料。
参考书方面,提供一些自助售货机的相关书籍,供学生进一步深入学习和参考。
多媒体资料方面,制作一些自助售货机的操作视频和教学PPT,通过图像和动画的形式展示自助售货机的工作原理和操作方法。
实验设备方面,准备一些实际的自助售货机,供学生在实践环节中实际操作和体验。
此外,还可以利用网络资源,提供一些自助售货机的新闻案例和在线教程,供学生拓展学习和参考。
c语言课程设计超市购物系统

c语言课程设计超市购物系统一、教学目标本课程的目标是使学生掌握C语言编程的基本知识,能够运用C语言设计并实现一个简单的超市购物系统。
在知识目标方面,要求学生掌握C语言的基本语法、数据类型、运算符、控制结构等。
在技能目标方面,要求学生能够熟练使用C语言进行程序设计,具备解决实际问题的能力。
在情感态度价值观目标方面,要求学生培养对编程的兴趣和热情,培养团队合作意识和自主学习能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构等。
具体安排如下:1.第一章:C语言概述,介绍C语言的发展历程、特点及应用领域。
2.第二章:基本数据类型和运算符,介绍整型、浮点型、字符型数据及其运算符。
3.第三章:控制结构,介绍顺序结构、选择结构、循环结构。
4.第四章:函数,介绍函数的定义、声明、调用及返回值。
5.第五章:数组和字符串,介绍一维数组、多维数组、字符串的基本操作。
6.第六章:指针,介绍指针的概念、运算及应用。
7.第七章:结构体和联合体,介绍结构体、联合体的定义和应用。
8.第八章:文件操作,介绍文件的基本操作及其应用。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法。
在讲授法中,教师通过讲解、示范等方式传授知识;在案例分析法中,教师通过分析实际案例,引导学生运用所学知识解决问题;在实验法中,学生通过动手实践,加深对知识的理解和运用。
四、教学资源本课程的教学资源包括教材、多媒体资料和实验设备。
教材选用《C程序设计原理与应用》,多媒体资料包括教学PPT、视频教程等,实验设备包括计算机、网络设备等。
这些资源将有助于学生更好地学习C语言,提高编程能力。
五、教学评估本课程的评估方式包括平时表现、作业、考试等。
平时表现主要评估学生的课堂参与度、提问回答、团队合作等情况,占总评的30%。
作业主要评估学生的编程能力和理解力,占总评的30%。
考试分为期中考试和期末考试,期中考试占40%,期末考试占60%,考试内容主要包括理论知识及编程实践。
自动贩卖机课程设计

自动贩卖机课程设计一、课程目标知识目标:1. 学生能理解自动贩卖机的基本工作原理,掌握其内部构造及各部件功能。
2. 学生能掌握自动贩卖机中涉及的数据处理和运算过程,如货币识别、找零计算等。
3. 学生了解自动贩卖机在现代社会中的应用场景及其优势。
技能目标:1. 学生能运用所学知识,设计并制作一个简易自动贩卖机模型,展示其工作过程。
2. 学生通过实际操作,提高动手实践能力和团队合作能力,培养解决问题的技巧。
情感态度价值观目标:1. 学生培养对自动贩卖机及相关技术的兴趣,激发创新意识和探索精神。
2. 学生认识到科技发展对生活的改善,增强社会责任感和时代使命感。
3. 学生在学习过程中,树立正确的消费观和价值观,关注生活中的实际问题,培养关爱社会的情感。
二、教学内容本课程依据课程目标,结合教材第四章《简易自动贩卖机的设计与制作》展开,教学内容分为以下三个部分:1. 自动贩卖机原理及构造- 了解自动贩卖机的历史发展、应用场景。
- 学习自动贩卖机的基本构造,包括货道、传感器、控制单元、显示屏等部件的功能和工作原理。
- 探究货币识别、找零系统、商品推送等关键环节的技术原理。
2. 简易自动贩卖机设计与制作- 分析并设计一个简易自动贩卖机的模型,明确各部分功能和要求。
- 学习并运用相关编程软件,编写自动贩卖机的控制程序。
- 学习电路连接、部件组装等实践操作,完成简易自动贩卖机模型的制作。
3. 自动贩卖机项目实践与评价- 以小组合作形式,完成自动贩卖机模型的调试、优化和展示。
- 对项目过程进行总结评价,分析优点和不足,提出改进措施。
- 分享学习心得,培养团队合作精神,提高创新意识和实际操作能力。
教学内容安排和进度:共4课时,第1课时学习自动贩卖机原理及构造;第2课时设计简易自动贩卖机模型;第3课时进行制作和调试;第4课时进行项目评价和总结。
三、教学方法本课程采用多样化的教学方法,结合课本内容,旨在激发学生的学习兴趣,提高学生的主动性和实践能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自动售货机图形模拟系统
需求分析
课题名称:自动售货机图形模拟系统
小组成员:朱伟鑫U201314490
班级:测控1301班
指导老师:周纯杰、何顶新、彭刚、周凯波
上交日期:贰零壹肆年玖月贰拾壹日
目录
1.引言--现实中的自动售货机 (2)
2.运行环境 (3)
3.功能设计 (3)
3.1触摸屏 (3)
3.2自动换零 (3)
3.3销量统计 (3)
3.4提前补货 (4)
3.5显示商品信息 (4)
3.6自动售货机网络 (4)
3.7无响应自动处理 (4)
4.软件系统需求分析 (4)
4.1图形显示 (4)
4.2菜单模块 (5)
4.3交易模块 (5)
4.4管理模块 (5)
5.系统流程图 (5)
6.时间安排 (6)
自动售货机图形模拟系统
朱伟鑫
课题要求
以自动售货机为对象,图形化模拟投币、找零、出货的基本流程;能对售货机的商品进行管理:补货、查询、统计等功能。
1引言--现实中的自动售货机
自动售货机是能根据投入的钱币自动付货的机器。
自动售货机是商业自动化的常用设备,它不受时间、地点的限制,能节省人力、方便交易。
是一种全新的商业零售形式,又被称为24小时营业的微型超市。
能分为三种:饮料自动售货机、食品自动售货机、综合自动售货机。
从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。
大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。
从广义来讲投入硬币、纸币、信用卡等后便可以销售商品的机械,从狭义来讲就是自动销售商品的机械。
从供给的条件看,自动售货机可以充分补充人力资源的不足,适应消费环境和消费模式的变化,24小时无人售货的系统可以更省力,运营时需要的资本少、面积小,有吸引人们购买好奇心的自身性能,可以很好地解决人工费用上升的问题等各项优点。
2运行环境
根据课题要求,在DOS环境下,用TC或BC开发软件编写C语言程序模拟自动售货机的工作,因此本系统将会有较高的兼容性,能够在大多数操作系统上运行,包括Windows XP系统和Windows732位系统,但Windows764位操作系统除外。
3功能设计
我们的自动售货机模拟系统虽然是在电脑上模拟自动售货机的工作,但我们的目的一是通过这个课题掌握DOS下的C语言编程技巧,二是改进和完善现在的自动售货机使之更加友好方便人们的生活。
我们除了要实现图形化模拟投币、找零、出货的基本流程和对售货机的商品进行补货、查询、统计管理的功能外还将挑战实现信用卡付款,显示已买商品信息,故障防盗报警和自动售货机与自动售货机、自动售货机与主机的联机交流这四个功能。
3.1触摸屏
我们模拟的是具有触摸屏的自动售货机,主屏幕在空闲的时候可以显示广告,在有操作时显示菜单选择项。
触摸屏可以同时选中多个商品,但是每选中一个商品默认数量是一,并具有修改数量的选项。
触摸屏的使用将大大方便顾客选择和购买商品。
我们将触摸屏加进我们的设计后界面将会更加友好,更加美观,更具创新元素。
3.2自动换零
考虑到现实生活中无人售票车等自助式消费越来越普及,居民对于换零钱的需求越来越大,一些居民就发现了自动售货机的“歪用”,利用退币的功能将大额纸币换成一元硬币。
但是这样的做法会导致购买商品的顾客因不够找零而被机器拒绝,为了解决这个问题减少换零的顾客,我们决定自动换零时加收一定的手续费(具体因换零多少而定)。
我们的退币功能将会更改为原币退回,而不是投进去纸币找出硬币。
3.3销量统计
我们的自动售货机还具有销量统计功能,它能自动记录每样商品的销量和并和时间汇总成一个统计表格,每天12::00通过网络发送给主机。
而且这些数据是带有本台自动售货机的地址信息的,这样甚至可以详细到每一种商品在某个季节某个地方卖出了多少件。
这些数据到了主机那里经过处理将可以很好地为决策者提供详细的参考基础。
3.4提前补货
我们将自动售货机设计成可以根据存货和销量提前向主机发送缺货申请,使得主机尽早通过仓库发货补充商品,避免自动售货机出现断货的情况。
3.5显示商品信息
自动售货机的触摸显示屏上可以显示商品的详细信息,包括产地、生产日期、健康提示等。
3.6自动售货机网络
通过各地的新闻报道,我们了解到实际中的自动售货机常常被破坏,故障率约为10%,而且商品容易过期、顾客买到不满意的商品需要投诉而不适宜花费更多钱来打投诉电话······这些情况我们都可以通过网络解决。
比如顾客发现自动售货机坏了可以在“联系客服”这个菜单里选择“售货机故障”向管理方申请维修,买到过期商品可以通过“联系客服”菜单里的选项直接联系管理方,要买的商品缺货了可以直接通过网络发送补货申请,顾客买到过期商品也可以通过这个网络直接联系管理方。
并且万一发生紧急事件,比如地震等自然灾害,政府可以通过这些遍布大街小巷的自动售货机发布灾害、急救信息以及公告等。
这一功能将充分增强人机互动性,使顾客买商品更加方便,售货机管理更加直接。
3.7无响应自动处理模式
由于我们的自动售货机采用了先选择商品再投币的方式,所以为了避免顾客选了商品因为没付钱而直接离开的情况,我们设计自动售货机在一分钟无任何操作时显示全屏提示并发出提示音,若10秒后仍未有任何响应就将自行取消交易并退钱。
在顾客选择商品时若考虑时间过长而没有任何操作也将出现如上的无响应自动处理,以应对顾客用时过长或中途离开的情况。
4软件系统需求分析
4.1图形显示
利用BC的图形功能画出自动售货机的模拟外观及对话框。
对触屏操作前的初始状态显示为广告或者电子公告,选择商品时在下方栏目里显示商品存货数量、已选数量、价格,购买完成后显示商品信息。
屏幕一角还有两个全程存在的选项“联系客服”和“取消”,方便顾客随时联系客户服务和取消交易离开。
4.2菜单模块
最初的界面会有服务选择“自动换零”、“购买商品”。
点选每一个商品时都会显示相应菜单,在商品陈列栏里的显示的菜单是“添加”、“数量”、“价格”,在下已选商品栏里显示的菜单是“删除”、“修改”、“价格”。
“取消”菜单可以随时终止交易并退钱,以方便顾客因急事离开。
“联系客服”菜单下有“售货机故障”、“商品过期投诉”、“缺货”、“查询”、“帮助”等选项,其中“售货机故障”下有“未能吐币”、“未能吐货”、“外观损坏”这三个选项,其中“外观损坏”选项当顾客选中的次数达到一定数量时维修人员将会到场进行维修或更换。
4.3交易模块
自动售货机提供商品售卖和自动换零的服务。
自动换零服务时投进大额纸币或者刷信用卡可以退出硬币。
商品售卖服务时先选择商品和数量,后进行结算,结算方式也有投币和信用卡付款两种方式。
4.4管理模块
自动售货机将会记录每天的交易,统计每样商品的存货数量以及卖出数量,并在每周将这些信息加上当地的地址信息和时间发送给主机,这些数据可以为决策者提供实时准确的销量信息。
在这些记录的基础上可以通过“联系客服”的菜单下的“查询”选项直接查询现有商品的存货数量、以及过期商品信息。
自动售货机会自动提前向主机发送补货申请,而顾客也可以通过“联系客服”下的“缺货”选项手动提醒主机补货。
“联系客服”菜单下的“帮助”菜单可以查询本售货机的详细操作说明。
5系统流程图
1.投币的活动图
2.择货物的活动图
3.前端的活动图
4.货币记录仪的活动图
5.分配器的活动图
6.时间安排
任务备注第4周系统需求分析与设计报告
第5周界面设计,算法设计
第6周键盘、鼠标接口设计、算法设计
第7周编码实现
第8周编码实现
第9周编码实现、调试
第10周调试、验收、提交报告。