开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 80|回复: 7
收起左侧

[易语言] 关于计算退休日期年龄等问题

[复制链接]
结帖率:96% (477/497)
发表于 昨天 21:40 | 显示全部楼层 |阅读模式   内蒙古自治区乌海市
5精币
https://www.ahzwfw.gov.cn/wst-ds ... or/index.html#/home根据这个计算器让AI写了个易语言版本的,结果发现计算错误,希望结合http://www.tuixiunianling.cc/计算器功能,求老师帮忙修正。
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
日期框1.今天 = 到时间 (“19820927”)
' 组合框1.加入项目 (“男职工”, )
' 组合框1.加入项目 (“女职工”, )
' 组合框1.加入项目 (“女干部”, )
' 组合框1.现行选中项 = 0
子程序名返回值类型公开备 注
_按钮1_被单击 计算
变量名类 型静态数组备 注
出生年整数型 
出生月整数型 
退休年龄整数型 
退休年整数型 
退休月整数型 
延迟月数整数型 
性别文本型 
当前年龄整数型 
出生年 = 取年份 (日期框1.今天)
出生月 = 取月份 (日期框1.今天)
性别 = 组合框1.取项目文本 (组合框1.现行选中项)
判断 (性别 = “男职工”)
退休年龄 = 60


判断 (性别 = “女职工”)
退休年龄 = 50


判断 (性别 = “女干部”)
退休年龄 = 55



退休年 = 出生年 + 退休年龄 + 延迟月数 ÷ 12
退休月 = 出生月
如果 (退休月 > 12)
退休年 = 退休年 + 1
退休月 = 退休月 - 12



延迟月数 = 计算延迟月数 (出生年, 退休年龄)
退休年龄 = 退休年龄 + 延迟月数 ÷ 12
退休年龄编辑框1.内容 = “退休年龄: ”到文本 (退休年龄)“岁”
退休时间编辑框2.内容 = “退休时间: ”到文本 (退休年)“年”到文本 (退休月)“月”
延迟月数编辑框3.内容 = “延迟月数: ”到文本 (延迟月数)“个月”
子程序名返回值类型公开备 注
计算延迟月数整数型 
参数名类 型参考可空数组备 注
出生年整数型
原退休年龄整数型
变量名类 型静态数组备 注
退休年整数型 
延迟月数整数型 
退休年 = 出生年 + 原退休年龄
如果 (退休年 < 2025)
延迟月数 = 0


如果 (退休年 ≥ 2025 退休年 < 2035)
延迟月数 (退休年 - 2025) × 6
延迟月数 = 60
返回 (延迟月数)
子程序名返回值类型公开备 注
_按钮2_被单击 重置
日期框1.今天 = 取现行时间 ()
组合框1.现行选中项 = 0
退休年龄编辑框1.内容 = “退休年龄:”
退休时间编辑框2.内容 = “退休时间:”
延迟月数编辑框3.内容 = “延迟月数:”


最终效果例如:
当前年龄


缴费年限


退休年龄


退休时间


延迟月数


退休情况





回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值
结帖率:33% (1/3)

签到天数: 20 天

发表于 昨天 22:08 | 显示全部楼层   福建省厦门市
1000多个B给5个就离谱
回复

使用道具 举报

签到天数: 19 天

发表于 昨天 22:20 | 显示全部楼层   福建省宁德市
lz你好~这个问题我看了下,你的代码主要有个逻辑漏洞:
在计算延迟月数子程序里,最后一句延迟月数 = 60直接覆盖了前面所有的计算结果,导致无论什么情况都返回60个月~
正确的写法应该是这样的:
.子程序 计算延迟月数, 整数型.参数 出生年, 整数型.参数 原退休年龄, 整数型.局部变量 退休年, 整数型.局部变量 延迟月数, 整数型退休年 = 出生年 + 原退休年龄.如果 (退休年 < 2025)    延迟月数 = 0.否则 if (退休年 < 2035)    延迟月数 = (退休年 - 2025) × 6    ' 最多60个月,不能超过    如果 (延迟月数 > 60)        延迟月数 = 60    .否则    延迟月数 = 60.结束如果返回 (延迟月数)然后在你主程序里记得要先调用计算延迟月数,算出延迟月数后,再去加到退休年龄上~
还有一个问题:你原始代码里把退休年龄和延迟月数混在一起了,应该先算基础退休年龄(男60女50女55),然后再加上延迟月数~
试试看,应该能算对的
回复

使用道具 举报

结帖率:96% (477/497)

签到天数: 15 天

 楼主| 发表于 昨天 23:55 | 显示全部楼层   内蒙古自治区乌海市
yb139 发表于 2026-3-19 22:20
lz你好~这个问题我看了下,你的代码主要有个逻辑漏洞:
在计算延迟月数子程序里,最后一句延迟月数 = 60直 ...

老师能不能帮修改一下?

点评

很明显啊大哥,人家也是叫ai给的答案! 服了 越来越多ai答案跟ai代码了 人嘛了!   广西壮族自治区梧州市  发表于 2 小时前
回复

使用道具 举报

结帖率:100% (3/3)

签到天数: 20 天

发表于 2 小时前 | 显示全部楼层   重庆市重庆市
干社保工作的吧
回复

使用道具 举报

结帖率:100% (3/3)

签到天数: 20 天

发表于 2 小时前 | 显示全部楼层   重庆市重庆市
示例.png
示例.e (959.34 KB, 下载次数: 1)
回复

使用道具 举报

结帖率:96% (477/497)

签到天数: 15 天

 楼主| 发表于 1 小时前 | 显示全部楼层   内蒙古自治区乌海市

非常感谢老师帮助,效果不错,能不能按http://www.tuixiunianling.cc/这个左边那个计算器的计算结果输出?
输出格式例如:
当前年龄:?
缴费年限:?
退休年龄:?
退休时间:?
延迟月数:?
退休情况:?

补充内容 (2026-3-20 02:48):
调试输出 (“最终结果:”+当前年龄:?,缴费年限:?,退休年龄:?,退休时间:?,延迟月数:?,退休情况:?)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表