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

2024-11-08 11:54:56
推荐回答(5个)
回答(1):

#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"文件名"

回答(2):

C语言实现如下:

#include
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 days+=m[i];
days+=d.date;
printf("%d\n",days);//输入该日在本年中是第几天。
}

回答(3):

#include
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<<"该日在本年中是第"<}

回答(4):

struct _Date_Time
{
short year;
short month;
short day;
}DateTime;

回答(5):

#include
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;idays+=m[i];}
else
{s[1]++;
for(i=0;idays+=s[i];}
days+=date.day;
printf("sumday=%d\n",days);
return 0;
}