24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1080  |  回复: 3
本帖产生 2 个 程序强帖 ,点击这里进行查看

微尘、梦想

木虫 (知名作家)

[交流] 再来一道,求某日是某年的第几天 已有2人参与

RT
要求:
要能判断输入日期是否正确,比如说输入2011 5 32号,要给出错误信息
要注意闰年与非闰年的区别

延伸:如果输入出生年月日,及现在的日期,求出你已经来到这世上多少天了……

说明:这算两道题,可以任选一个,也可以把这两道题写在一个程序里面!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

任风云变幻,我笑对人生!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gghgbsl8768

铜虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖
#include"stdio.h"
#include"time.h"
#include"windows.h"

struct ti
{
        int year;
        int month;
        int day;
        int hour;
        int min;
        int second;
};
void judgment(struct ti m)
{
if(m.month>12||m.month<0)
{
         printf("您输入的月份有误,请重新输入";
        // system("cls";
         setBeginDateTime();
         setEndDate();
}
else if(m.day<0||m.day>31)
{
         printf("您输入的日期有误,请重新输入";
         //system("cls";
          setBeginDateTime();
          setEndDate();
}
else if(m.hour<0||m.hour>24)
         {
         printf("您输入的小时有误,请重新输入";
         //system("cls";
          setBeginDateTime();
          setEndDate();
}
else if(m.min<0||m.min>60||m.second>60||m.second<0)
         {
          printf("您输入的分或秒有误,请重新输入";
          //system("cls";
          setBeginDateTime();
          setEndDate();
}
}

int yearday(int year,int monty,int day)
{
        int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
        int flag,sum=0;
        printf("请输入年月日:";
        scanf("%d,%d,%d",&year,&mon,&day);
        flag=(year%400==0)||(year%4==0&&year%100!=0);
                if(flag==1)
                {
                        a[2]++;
                 }
                       
               
        switch(mon)
                {
                case 1:
                        sum=sum+a[0]+day;
                        break;
                case 2:
                        sum=sum+a[1]+day;
                        break;
                case 3:
                        sum=sum+a[2]+day;
                        break;
                case 4:
                        sum=sum+a[3]+day;
                        break;
                case 5:
                        sum=sum+a[4]+day;
                        break;
                case 6:
                        sum=sum+a[5]+day;
                        break;
                case 7:
                        sum=sum+a[6]+day;
                        break;
                case 8:
                        sum=sum+a[7]+day;
                        break;
                case 9:
                        sum=sum+a[8]+day;
                        break;
                case 10:
                        sum=sum+a[9]+day;
                        break;
                case 11:
                        sum=sum+a[10]+day;
                        break;
                case 12:
                        sum=sum+a[11]+day;
                        break;
                       
                }
                    return sum;
                                               
        }
void main()
{
   int y,m,d;
  scanf("%d,%d,%d",&y,&m,&d);
yearday(y,m,d);

}
2楼2011-05-10 23:06:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gghgbsl8768

铜虫 (小有名气)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+3): 欢迎参与活动! 2011-05-11 23:00:42
余泽成(程序强帖+1): 2011-05-13 21:19:48
不好意思,刚开始写错了


#include"stdio.h"
#include"time.h"
#include"windows.h"

struct ti
{
        int year;
        int month;
        int day;
        int hour;
        int min;
        int second;
};
void judgment(struct ti);

int yearday(struct ti yea)
{
        int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
        int flag,sum=0;
        printf("请输入年,月,日:";
        scanf("%d,%d,%d",&yea.year,&yea.month ,&yea.day );
   judgment(yea);
        flag=(yea.year%400==0)||(yea.year%4==0&&yea.year%100!=0);
        if(flag==1)
        {
                a[2]++;
        }
       
       
        switch(yea.month)
        {
        case 1:
                sum=sum+a[0]+yea.day ;
                break;
        case 2:
                sum=sum+a[0]+a[1]+yea.day;
                break;
        case 3:
                sum=sum+a[0]+a[1]+a[2]+yea.day;
                break;
        case 4:
                sum=sum+a[0]+a[1]+a[2]+a[3]+yea.day;
                break;
        case 5:
                sum=sum+a[0]+a[1]+a[2]+a[3]+a[4]+yea.day;
                break;
        case 6:
                sum=sum+a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+yea.day;
                break;
        case 7:
                sum=sum+a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+yea.day;
                break;
        case 8:
                sum=sum+a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+yea.day;
                break;
        case 9:
                sum=sum+a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+yea.day;
                break;
        case 10:
                sum=sum+a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9]+yea.day;
                break;
        case 11:
                sum=sum+a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9]+a[10]+yea.day;
                break;
        case 12:
                sum=sum+a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9]+a[10]+a[11]+yea.day;
                break;
               
        }
        printf("%d\n",sum);
        return sum;
       
}


void judgment(struct ti m)
{
        if(m.month>12||m.month<0)
        {
                printf("您输入的月份有误,请重新输入\n";
                yearday(m );
        
               
        }
        else if(m.day<0||m.day>31)
        {
                printf("您输入的日期有误,请重新输入\n";
                yearday(m );
               
        }

       
}


void main()
{
        struct ti ye;
        yearday(ye );


       
}
3楼2011-05-10 23:46:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+3, 程序强帖+1): 鼓励参与交流! 2011-05-13 21:20:08
俺也来一枚:
CODE:
#include
#include
#include
tm buf;
int main(){
        using namespace std;
        int y, m, d, ds = 0, yb = 0, ye = 0;
        time_t t;
        tm t1, t2;
        while(1){
                if(cin.eof())
                        break;
                cout<<"birthday:"<                 if(cin>>y>>m>>d){
                        buf.tm_year = y - 1900;
                        buf.tm_mon = m - 1;
                        buf.tm_mday = d + 1;
                        t = mktime(&buf);
                }
                if(t == -1){
                        cout<<"error"<                         continue;
                }
                memcpy(&t1, gmtime(&t), sizeof(tm));
                yb = t1.tm_yday;
                t = time(0);
                memcpy(&t2, gmtime(&t), sizeof(tm));
                if(t1.tm_year == t2.tm_year){
                        ye = t2.tm_yday;
                        ds = ye - yb;
                }
                if(t1.tm_year < t2.tm_year){
                        buf.tm_mon = 12 - 1;
                        buf.tm_mday = 31;
                        buf.tm_year = t1.tm_year;
                        t = mktime(&buf);
                        memcpy(&t1, gmtime(&t), sizeof(tm));
                        ye = t1.tm_yday + 1;
                        ds = 1 + ye - yb;
                        yb = 0;
                        for(++buf.tm_year; buf.tm_year < t2.tm_year; ++buf.tm_year){
                                buf.tm_mon = 12 - 1;
                                buf.tm_mday = 31;
                                t = mktime(&buf);
                                memcpy(&t1, gmtime(&t), sizeof(tm));
                                ye = t1.tm_yday + 1;
                                ds += 1 + ye - yb;
                        }
                        ds += t2.tm_yday + 1;
                }
                if(t1.tm_year > t2.tm_year){
                        cout << "YOU ARE NOT BIRTH YET!"<                         continue;
                }
                cout<<"days on live:"<         }
        return 0;
}

漩涡的中心有一块空地,空空的。
4楼2011-05-13 11:05:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 微尘、梦想 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 283求调剂 086004考英二数二 +17 那个噜子 2026-04-10 18/900 2026-04-11 16:27 by 明月此时有
[考研] 297求调剂 +13 ORCHID1 2026-04-10 14/700 2026-04-11 11:36 by flapl
[考研] 一志愿211生物学280分 求调剂 +7 李rien 2026-04-05 7/350 2026-04-11 11:16 by 逆水乘风
[考研] 085600材料与化工329分求调剂 +16 叶zilin 2026-04-10 16/800 2026-04-11 11:04 by may_新宇
[考研] 材料工程085601,270求调剂 +30 @ASDF1234 2026-04-08 32/1600 2026-04-11 10:30 by Delta2012
[考研] 还有化工二轮调剂的学校吗 5+14 化工人999 2026-04-09 48/2400 2026-04-11 10:27 by 89436494
[考研] 293求调剂 +5 勇远库爱314 2026-04-06 5/250 2026-04-11 09:44 by zhq0425
[考研] 22408调剂求助 +7 毂12 2026-04-09 9/450 2026-04-11 09:23 by 哦哦123
[考研] 346,工科0854求调剂,专硕 +7 moser233 2026-04-10 8/400 2026-04-11 08:52 by 猪会飞
[考研] 085506-求调剂-285分 +3 雷欧飞踢 2026-04-08 3/150 2026-04-11 08:37 by zhq0425
[找工作] 山东高校教师考核超级无底线,员工过不下去啦 +3 qut2026 2026-04-09 5/250 2026-04-10 22:52 by qut2026
[考研] 考研调剂 +26 硕星赴 2026-04-09 27/1350 2026-04-10 22:24 by 猪会飞
[考研] 22408 366分,本科211,一志愿西工大 +4 Rubt 2026-04-09 4/200 2026-04-10 19:51 by chemisry
[考研] 本9 一志愿西工大085601 324求调剂 +5 wysyjs25 2026-04-10 5/250 2026-04-10 16:57 by luoyongfeng
[考研] 一志愿 江南大学 085602 化工专硕 338分求调剂 +16 路痴小琪 2026-04-05 16/800 2026-04-10 08:08 by kangsm
[考研] 软件工程求调剂22软工296分求调剂,接受跨调 +4 yangchen2017 2026-04-08 5/250 2026-04-08 21:56 by 土木硕士招生
[考研] 信工所11408 340分 本科西安交大自动化 +3 moontrek 2026-04-06 3/150 2026-04-07 09:56 by chongya
[考研] 专硕304找调剂,一线城市最好 +3 李lsl李 2026-04-05 3/150 2026-04-06 12:16 by ffffjjjj
[考研] 348求调剂 +3 车厘子zzz 2026-04-05 3/150 2026-04-05 20:30 by 啵啵啵0119
[考研] 358求调剂 +7 秋gk 2026-04-04 7/350 2026-04-05 13:29 by huangmoli
信息提示
请填处理意见