`

pos机

 
阅读更多
POS Project v0.2
POS收银机 版本:v0.2

教学目标
学会把基本描述转换成程序;
能够驾驭三个循环;
需求描述
商店里进行购物结算时会使用收银机(POS)系统,这台收银机会在结算时根据客户的购物车(Cart)中的商品(Item)进行结算和打印购物清单。

我们需要实现一个名为printInventory函数,该函数能够将指定格式的数据作为参数输入,然后在浏览器的控制台中输出结算清单的文本。

输入格式(样例):

[
    'ITEM000000',
    'ITEM000000',
    'ITEM000000',
    'ITEM000000',
    'ITEM000000',
    'ITEM000001',
    'ITEM000001',
    'ITEM000004'
]


(当点击"保存并提交代码"按钮的时候,我们会调用函数printInventory将上面的数据作为参数(inputs)传入该函数。)

清单内容(样例):

***<没钱赚商店>购物清单***
名称:可口可乐,数量:5瓶,单价:3.00(元),小计:15.00(元)
名称:雪碧,数量:2瓶,单价:3.00(元),小计:6.00(元)
名称:电池,数量:1个,单价:2.00(元),小计:2.00(元)
----------------------
总计:23.00(元)
**********************
实现过程如下所示:
//函数功能:统计商品的数量(count)并且构造新的对象形式.
function get_goods_count(inputs){                            
    var goods_count_list={};            
    for(var i=0;i<inputs.length;i++){                                   //利用for循环inputs数组.
        if(goods_count_list.hasOwnProperty(inputs[i])){    //判断是否含有键名为inputs[i]的元素
            goods_count_list[inputs[i]].count++                     //含有直接count++
        }
        else{ 
            goods_count_list[inputs[i]]={count:1};                  //不含有:定义键名为inputs[i],键值为{count:1}
        }
    }
   return goods_count_list;                                                 
}
//函数的功能:构造一个键名为商品编号,键值为商品信息(包含count值)
function get_goods_list(goods_count_list,AllItems){       
    var goods_list={};                                                                
    for(var goods_barcode in goods_count_list){                             //遍历goods_count_list对象获取购物的数量,及商品的编码
        for(var i=0;i<AllItems.length;i++){                                           //遍历items数组获取商品信息
            if(goods_barcode==AllItems[i].barcode){                           //获取已购买商品的单位 单价 名称 信息 
                 
                AllItems[i].count=goods_count_list[goods_barcode].count     //给items中每个商品植count 
                goods_list[AllItems[i].name]=AllItems[i]
            }
        }
        }
    return goods_list;
}
function print_goods_list(goods_list){                                                           //进行字符串的拼接
    var new_goods_list="";
    var total =0;
    for(var goods_name in goods_list){                                                       
        total+=goods_list[goods_name].count*goods_list[goods_name].price;
        new_goods_list+="名称:"+goods_list[goods_name].name+",数量:"+goods_list[goods_name].count+goods_list[goods_name].unit+",单价:"+goods_list[goods_name].price+".00(元),小计:"+goods_list[goods_name].count*goods_list[goods_name].price+".00(元)\n"
    }
    var goods_list_title="***<没钱赚商店>购物清单***\n"
    var goods_list_late="----------------------\n总计:"+total+".00(元)\n**********************"
    new_goods_list=goods_list_title+new_goods_list+goods_list_late
    return new_goods_list;  
}
函数的调用
function printInventory(inputs) {                                         //  进行行数的调用
    var AllItems=loadAllItems();                                              
    
    var goods_count_list=get_goods_count(inputs);
    var goods_list=get_goods_list(goods_count_list,AllItems)
    var new_goods_list=print_goods_list(goods_list);
   
    console.log(new_goods_list)
}



分享到:
评论

相关推荐

    pos机对接SDK

    POS机对接SDK是一种软件开发工具包,主要用于帮助开发者在C#环境下实现与POS(销售点)设备的交互。8583是金融行业的标准报文格式,全称为ISO 8583,用于电子支付系统中的数据交换。在这个场景中,8583报文被用来...

    基于posinf.dll 与POS机通讯程序,C#对接POS机

    本项目聚焦于使用C#编程语言与POS机进行通信,借助posinf.dll动态链接库实现这一功能。下面将详细阐述相关知识点。 1. **C#编程语言**:C#是由微软开发的一种面向对象的编程语言,广泛应用于Windows平台的软件开发...

    POS机陆续都到了,拆开芯片型号整理下

    POS 机芯片型号整理 POS 机是指点售机,是一种电子支付终端,能够为用户提供便捷的支付服务。随着科技的发展,POS 机的芯片型号也在不断更新换代。下面,我们将对 POS 机的芯片型号进行整理和分析。 1. 主控芯片 ...

    java串口连接pos机输入输出.zip_java接pos机_poss机对接开发_pos机串口对接_串口jar包_串口pos机

    本项目涉及的是使用Java进行串口通信,以便与银联POS机进行交互。以下将详细介绍这个过程中的关键知识点。 1. **Java串口通信**:Java本身并不直接支持串口通信,但可以通过第三方库如RXTX或JSerialComm来实现。...

    C语言简单POS机

    在本项目中,"C语言简单POS机"是一个用C语言编写的简易销售点(Point of Sale, POS)系统。这个项目旨在帮助学习C语言的初学者理解和实践编程概念,同时也为那些想了解POS系统工作原理的人提供了一个基础的平台。 ...

    联迪pos机 驱动

    联迪pos机驱动联迪E550移动pos机 - 移动pos机,银联pos机,

    pbootcms响应式刷卡机POS机网站模板 无线支付设备网站源码

    《PBootCMS响应式刷卡机POS机网站模板与支付设备网站源码详解》 在数字化支付日益普及的今天,POS机作为商家与消费者之间的重要桥梁,其在线展示平台也日益受到重视。PBootCMS响应式刷卡机POS机网站模板正是为满足...

    POS机案例关于怎样实现POS机得UML图

    "POS机UML图实现" 在POS机系统中,UML图是非常重要的一部分,能够帮助开发人员和业务人员更好地理解和描述系统的架构和行为。在本文中,我们将通过对POS机系统的分析,生成相关的知识点,并将其组织成一份详细的UML...

    拆解某POS机LCD12864液晶的使用说明

    在本文中,我们将深入探讨如何使用从废弃POS机中拆解出的LCD12864液晶屏。LCD12864是一种常见的图形液晶显示器,具有128x64像素的分辨率,广泛应用于各种电子设备中。通过理解其管脚定义、连接方式以及编写合适的...

    POS机行业2022年发展概况分析及未来十年POS机行业数据趋势预测.docx

    POS机行业2022年发展概况分析及未来十年POS机行业数据趋势预测.docx

    pos机java调用程序demo(基于dll调用)

    在本文中,我们将深入探讨如何使用Java调用DLL库,特别是在银联POS机接口的集成应用上。这个项目是基于JDK1.8开发的,它利用了Maven作为项目管理工具,使得开发者能够更方便地引用和管理DLL库。对于那些在IT行业,...

    POS机的一些认识

    POS机,全称为Point of Sale,即销售点终端设备,是一种常见的支付工具,广泛应用于零售、餐饮、酒店等服务行业中,用于处理信用卡、借记卡等电子支付交易。本文将基于给定的文件信息,深入解析POS机的连接方式、...

    pos机万能驱动

    pos机驱动,万能的POS机驱动,方便好用。

    Android代码-安卓版本pos机

    【Android代码-安卓版本pos机】项目主要涵盖了在Android平台上开发的一款移动支付终端应用,它允许用户通过智能手机或平板电脑进行类似于传统POS机的交易操作。这个项目的核心目标是将传统的零售支付体验移植到移动...

    POS机应用规范

    POS机,全称为“销售点终端”,是商业交易中广泛使用的设备,主要用于处理各种支付交易。POS机应用规范是确保其安全、高效运作的重要指导文件。2015年发布的《销售点终端POS应用规范》(QCUP009.1-2015)是最新的...

    POS机销售网站PHP

    在这个POS机销售网站中,它可能展示了产品列表、介绍、购买流程等关键信息。 3. `tags.php`:这个文件可能用于处理网站的标签系统,帮助用户根据特定标签查找和过滤POS机产品,提升搜索效率。 4. `robots.txt`:这...

    拉卡拉T1智能POS机拆解.pdf

    根据上述提供的文件信息,我们可以提炼出一系列有关拉卡拉T1智能POS机拆解的知识点。以下内容会围绕智能POS机的核心技术和物料选项进行详细阐述: 1. 拉卡拉T1智能POS机外观 智能POS机作为移动支付终端设备,其外观...

    针式pos机打印

    针式POS机打印是零售、餐饮等业务场景中常见的技术,它涉及到硬件设备与软件的交互,以便将交易数据转化为可读的纸质收据。在本文中,我们将深入探讨POS机打印的相关知识点,并针对描述中提到的代码问题进行解析。 ...

    电信POS机管理

    【电信POS机管理】是一个基于DELPHI 7开发的小程序,主要功能是实现对电信POS设备的信息管理和数据导入。在IT行业中,POS(Point of Sale)机是一种用于销售终端的设备,通常用于处理交易,如信用卡支付。电信POS机...

    POS机源码下载

    POS机,全称为Point of Sale,是销售点终端的意思,主要应用于零售业、餐饮业等商业交易场景。在本文中,我们将围绕POS机源码及其相关的SEO功能进行深入探讨。 首先,POS机源码是控制POS设备运行的核心部分,它包含...

Global site tag (gtag.js) - Google Analytics