凑数求和软件编写心得

有个财务的朋友,问我Excel,规划求解,怎么用,我研究半天,原来是想用这个功能开发票时选择凑数用,excel 规划求解是可以达到凑数求和的目的但是他不是专门用来干这个活的,计算速度慢数据超过几十就卡的不要不要的 了。

于是我就自己写了一个凑数求和的软件,

工具,易语言,

先布置界面

高级表格用来作为数据的输入端,可以在Excel上直接复制计算数据到高级表格上。

再加几个输入框,选择框,按钮,标签,

再来一个高级表格,作为数据的输出端用来显示计算结果

开始编写代码 ,分别用两个数组,来存储 计算数据,和计算结果

计算数据从高级列表中读取,为小数格式

计次循环首 (高级表格数据区.行数, i)

        x = 到数值 (高级表格数据区.取数据 (i, 1))

        加入成员 (求和数据数组, x)

计次循环尾 ()

然后对数据进行筛选排序(比求和数大的数直接剔除,剩下的数按按照由小到大排序处理)

从小到大排序 (求和数据数组) 写了一个子程序,(参考经典算法冒泡排序法)

然后是一个计算组合数相加 的嵌套递归 子程序

重点来了,首先定义一个整数型数组,数组组合【】    用来存储求和数据数组的下标,

递归出求和数据数组中每个成员 不同组合下标值

再根据下标值取出响应数据进行求和,比较是否等于需要 的数。如果等于就在计算结果里面加一个成员存储起来

.版本 2

    和 = 求和数据数组 [数组组合 [位数]]
    .计次循环首 (位数 - 参数组合数个数, i)  ' 计算出累加数
        和 = 和 + 求和数据数组 [数组组合 [位数 - i]]

    .计次循环尾 ()
    和 = 四舍五入 (和, 3)
如果真 (和 = 求和数)

加入成员 (计算结果数组, 储存文本)

最后,计次循环输出到高级表格,就完成了

.版本 2
.支持库 eGrid

        .计次循环首 (取数组成员数 (求和数据数组), i)
            高级表格结果区.置数据 (i, 0, 1, 求和数据数组 [i])

        .计次循环尾 ()

 成品下载地址提取码:dhqh

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值