门户
书籍
教程
论坛
问答
下载
签到
个人空间
帐号
自动登录
找回密码
密码
登录
立即注册
账号
自动登录
找回密码
密码
登录
立即注册
请绘制轨迹完成人机验证
由vaptcha提供技术支持
登录
注册
搜索
搜索
搜索
热搜
qml
quick
串口
输入中文
数据库
arm
百度地图
qt聊天
QT安装
安装
多窗口
中文乱码
聊天
局域网
鼠标
QT
图片
乱码
rs485通讯
多线程
android
多文档编辑器
本版
用户
本版
用户
【HUX】问题互助平台
博客
动态
好友
帖子
收藏
道具
勋章
任务
淘帖
动态
日志
相册
分享
记录
留言板
群组
门户
导读
排行榜
设置
我的收藏
退出
Qt开源社区
›
精华区(请在“有问必答”发帖)
›
有问必答
›
安装配置
›
闰年判断
发布主题
返回列表
闰年判断
2
回复
9539
查看
[复制链接]
心寒若冰
当前离线
积分
644
心寒若冰
累计签到:609 天
连续签到:1 天
来源:
2013-10-15 15:12:59
显示全部楼层
|
阅读模式
1
Qter豆
刚接触Qt,运行Qt程序中有一段是关于对输入的日期格式的正确与否进行判断的,其他月份没有问题,唯独二月份总是出现问题,运行结果显示,无论年份怎么设置,在case2中貌似根本没有执行if语句或者else语句,不知道Qt中有没有百分号求余运算?求大神指点!
switch(month)
{
……
case 2: if(year %400 == 0||(year%100 != 0 && year %4 == 0))
{
if(day>29 || day<1)
ui->label_3->setText("日格式设置错误,请重新设置");
ymdflag = false;
}
else
{
if(day>28 || day<1)
ui->label_3->setText("日格式设置错误,请重新设置");
ymdflag = false;
} break;
……
}
最佳答案
yafeilinux
查看完整内容
有求余预算啊。你可以把if()中的判断语句单独拿出来使用qDebug()输出一下,就可以判断是哪里的问题了。
回复
使用道具
举报
yafeilinux
当前离线
积分
2050
yafeilinux
累计签到:1568 天
连续签到:1 天
2013-10-15 15:13:00
显示全部楼层
有求余预算啊。你可以把if()中的判断语句单独拿出来使用qDebug()输出一下,就可以判断是哪里的问题了。
回复
使用道具
举报
心寒若冰
当前离线
积分
644
心寒若冰
累计签到:609 天
连续签到:1 天
2013-10-15 15:53:53
显示全部楼层
低级错误,ymdflag = false;是后来加上的,忘记对if下的语句加括号了,导致无论对错,均执行 ymdflag = false;
if(day>29 || day<1)
{
ui->label_3->setText("日格式设置错误,请重新设置");
ymdflag = false;
}
回复
使用道具
举报
返回列表
发表新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满)
我知道了