找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 409|回复: 2
打印 上一主题 下一主题
收起左侧

求教e4a程序闪退原因

[复制链接]
跳转到指定楼层
楼主
本帖最后由 风158 于 2026-5-30 16:32 编辑

编了一个计算年积日的e4a程序,编译通过后在手机上运行却闪退。不知道什么原因。附上程序代码:

事件 主窗口.按下某键(键代码 为 整数型,传址 屏蔽 为 逻辑型)
        如果 键代码 = 返回键 则
                结束程序()
        结束 如果
结束 事件
事件 按钮1.被单击()
    变量 n 为 整数型  'day of year(doy)
    变量 yy 为 整数型
    变量 mm 为 整数型
    变量 dd 为 整数型
    变量 i 为 整数型
    变量 dom 为 整数型(12)
    yy=到整数(编辑框1.内容)
    mm=到整数(编辑框2.内容)
    dd=到整数(编辑框3.内容)
    dom(1)=0
    dom(2)=31
    dom(3)=28
    dom(4)=31
    dom(5)=30
    dom(6)=31
    dom(7)=30
    dom(8)=31
    dom(9)=31
    dom(10)=30
    dom(11)=31
    dom(12)=30
    n=0
    变量循环首 i = 1 至 mm
     n=n+dom(i)
    变量循环尾
    n=n+dd
    如果 (((yy % 4)=0) & ((yy % 100)<>0) & ((yy % 400)=0) & (mm>2))


     n=n+1 '闰年>2月,n+1
    结束 如果
    标签6.标题 = "年积日=" & 整数到文本(n) & "天"
结束 事件
事件 按钮2.被单击()
        结束程序()
结束 事件




求年积日.JPG (159.76 KB, 下载次数: 0)

求年积日.JPG

求年积日程序代码.JPG (90.07 KB, 下载次数: 0)

求年积日程序代码.JPG
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1064915 发表于 2026-5-31 08:28 | 只看该作者
年积日(Day of Year, DOY)计算

年积日是一种在一年之内连续计数的日期方法,从每年的1月1日开始计算,1月1日是第1天,1月2日是第2天,以此类推,直到年底。年积日在各种需要按日计算的应用中非常有用。

年积日的计算程序如下:
计算每个月的天数:

创建一个包含每个月天数的数组:days_in_month = [31 28 31 30 31 30 31 31 30 31 30 31]。

判断是否为闰年:

如果年份能被4整除且不能被100整除,或者能被400整除,则该年为闰年,2月有29天。

如果是闰年,则将days_in_month数组中2月的天数改为29。

计算年积日:

使用公式:yearday = sum(days_in_month(1:(month - 1))) + day。

其中,sum函数表示求和,days_in_month(1:(month - 1))表示从1月到前一个月的天数之和。

示例:假设要计算2023年10月5日的年积日,则:

year = 2023,month = 10,day = 5。
判断2023年是否为闰年:mod(2023, 4) ~= 0,所以不是闰年。
days_in_month = [31 28 31 30 31 30 31 31 30 31 30 31](因为不是闰年,所以2月仍然是28天)。
yearday = sum(days_in_month(1:9)) + 5 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 5 = 277。
因此,2023年10月5日的年积日是277。
回复

使用道具 举报

板凳
ID:343102 发表于 2026-5-31 09:40 | 只看该作者
joyb 发表于 2026-5-31 08:28
年积日(Day of Year, DOY)计算

年积日是一种在一年之内连续计数的日期方法,从每年的1月1日开始计算, ...

谢谢回复。
问题找到了,判断时只用一个条件,编译后在手机上才能运行。两个就不行。
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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