| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1550 人关注过本帖
标题:日期题目:算两个日期之间的相差天数,程序整体没错,编译有问题
只看楼主 加入收藏
i多子妹师南
Rank: 1
来 自:江苏
等 级:新手上路
帖 子:12
专家分:4
注 册:2016-11-13
结帖率:85.71%
收藏
已结贴  问题点数:14 回复次数:3 
日期题目:算两个日期之间的相差天数,程序整体没错,编译有问题
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;

int dayOfMonth[13][2]=
{
    0,0,
    31,31,
    28,29,
    31,31,
    30,30,
    31,31,
    30,30,
    31,31,
    31,31,
    30,30,
    31,31,
    30,30,
    31,31
};
struct Date
{
    int Day;
    int Month;
    int Year;
    void nextDay()
    {
        Day ++;
        if(Day>dayOfMonth[Month][ISYEAP(Year)])
        {
            Day=1;
            Month++;
            if(Month>12)
            {
                Month=1;
                Year++;
            }
        }
    }
 };
 int buf[5001][13][32];
 int abs(int x)
 {
     return x<0?-x:x;
 }
----------------------------------------------------------------------------------------------------------------------------------------------------------------
 int main()
 {
     date tmp;
     tmp.day=1;
     tmp.month=1;
     tmp.day=0;
     tmp.nextday();
     int cnt=0;
    while(tmp.year<5001)
    {
        buf[year][month][day]=cnt;
        tmp.nextday();
        cnt++ ;
     }
     while(scanf("%4d%d%d",&tmp.year,&tmp.month,&tmp.day)!=EOF)
     {
         int a=buf[tmp.year][tmp.month][tmp.day];
         scanf("%4d%d%d",&tmp.year,&tmp.month,&tmp.day);
         int b=buf[tmp.year][tmp.month][tmp.day];
         a=a-b+1;
         a=abs(a);
         printf("%d\n",a);
         
     }
     return 0;
     
     
  }
 
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 日期 include int Year tmp 
2018-02-02 11:28
kin3z
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:157
专家分:390
注 册:2011-4-24
收藏
得分:4 
你是在哪里看到用结构体里定义自有函数这个用法的?
我编码实验了一下,过不了编译。
程序代码:
#include <stdio.h>

struct {
    int a;
    int b;
    int ab(){    //test1.c:6:10: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘{’ token
        return 1;
    }    
} test;

int main(int argc, char **argv){
    test.a = 2 ;
    test.b = 3 ;
    printf("%d",test.ab);    //test1.c:14:21: error: ‘struct <anonymous>’ has no member named ‘ab’
    return 0;
} 

2018-02-02 12:47
虫眼
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:314
专家分:1121
注 册:2017-11-29
收藏
得分:4 
可以通过指针实现这个功能
2018-02-02 16:25
爱之梦魇
Rank: 2
等 级:论坛游民
帖 子:21
专家分:30
注 册:2018-2-2
收藏
得分:4 
结构体是用来定义某种类型信息的属性,调用函数能用在函数中,所以你编程有误
2018-02-02 21:51
快速回复:日期题目:算两个日期之间的相差天数,程序整体没错,编译有问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032859 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved