C编程题:定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天.

 我来答
问明6E
高粉答主

2019-06-03 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:12.5万
展开全部

#include"stdafx.h"

#include<iostream>

using namespace std;

struct//定义结构体类型(无名)

{

int year;

int month;

int day;

}date;//定义结构体变量

int main()

{

int days;

cout<<"请输入年月日,比如:2012 12 12:"<<endl;

cin>>date.year>>

date.month>>date.day;//给结构体变量各成员赋值

switch(date.month)//控制月的天数

{

case 1:days=date.day;break;

case 2:days=date.day+31;break;

case 3:days=date.day+59;break;

case 4:days=date.day+90;break;

case 5:days=date.day+120;break;

case 6:days=date.day+151;break;

case 7:days=date.day+181;break;

case 8:days=date.day+212;break;

case 9:days=date.day+243;break;

case 10:days=date.day+273;break;

case 11:days=date.day+304;break;

case 12:days=date.day+334;break;

}

if((((date.year%4==0)&&(date.year%100!=0))||

(date.year%400==0))&&date.month>=3)

{

days=days+1;//daya+=1

}

cout<<date.month<<"月"<<date.day<<

"月是"<<date.year<<"年

中的第"<<days<<"天"<<endl;//输出月天数。

return 0;

}

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include<文件名>

2、#include"文件名"

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
百度网友a39fb3e
2016-01-24 · TA获得超过4465个赞
知道小有建树答主
回答量:477
采纳率:100%
帮助的人:65.4万
展开全部

C语言实现如下:

#include<stdio.h>
void main()
{
struct day
{
int year;
int month;
int date;
}d;//定义结构体变量d。
scanf("%d%d%d",&d.year,&d.month,&d.date);/*输入年、月、日。
int m[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int i,days=0;
if ((d.year%400==0)||(d.year%100!=0)&&(d.year%4==0)) m[1]++;
for(i=0;i<d.month-1;i++)
days+=m[i];
days+=d.date;
printf("%d\n",days);//输入该日在本年中是第几天。
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
life两条小鱼
2012-07-03 · 超过14用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:27.9万
展开全部
#include<iostream.h>
class date{
private:
int year,month,day;
void checkday( );
public:
date(int y,int m,int d){year=y;month=m;day=d;}
};
void main ()
{date obb(2000,1,21);
obb.checkday();
}
void date::checkday()
{ int days[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}},(*p)[13]=days;
if((year%400==0)||(year%4==0&&year%100!=0) ) p+=1;
day+=*(*p+month);
cout<<"该日在本年中是第"<<day<<"天"<<endl;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaosi_show
2012-07-03 · 超过12用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:32.9万
展开全部
struct _Date_Time
{
short year;
short month;
short day;
}DateTime;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友08b1548
2018-05-29
知道答主
回答量:7
采纳率:0%
帮助的人:7415
展开全部
#include <stdio.h>
struct
{ int year;
int month;
int day;
} date;
int main(void)
{
scanf("%d%d%d",&date.year,&date.month,&date.day);
int m[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int s[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int i,days=0;
if ((date.year%400==0)||(date.year%100!=0)&&(date.year%4==0))
{m[1]++;
for(i=0;i<date.month-1;i++)
days+=m[i];}
else
{s[1]++;
for(i=0;i<date.month-1;i++)
days+=s[i];}
days+=date.day;
printf("sumday=%d\n",days);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式