首页 > 软件 > C语言:定义一个表示日期的结构体(成员包括年,月,日),在主函数中输入今天的日期并输出。

C语言:定义一个表示日期的结构体(成员包括年,月,日),在主函数中输入今天的日期并输出。

软件 2023-03-22

C语言定义一个结构体变量(包括年、月、日),输入一个日期,计算该日在本年中是第几天。

//希望我的回答对你的学习有帮助
#include
structymd{
intY,M,D;
};
constshortMonthDay[]={0,31,28,31,30,31,30,31,31,30,31,30,31};

intYMD_2_JD(intY,intM,intD){
constshortMonthDay[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
intJD,i;
JD=D;
for(i=0;i if(((Y%4==0)&&(Y%100!=0)||(Y%400==0))&&(M>2))JD++;
returnJD;
}


intmain(){
intd;
structymda;
while(~scanf("%d%d%d",&a.Y,&a.M,&a.D)){
d=YMD_2_JD(a.Y,a.M,a.D);
printf("%d\n",d);
}
return0;
}

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

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

用c语言编程 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。

#include
structy_m_d
{
intyear;
intmonth;
intday;
};
intdays(structy_m_ddate)
{
intsum=date.day;
inta[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
inti;
for(i=1;i{
sum+=a[i];
}
if(date.month>2&&((date.year%4==0&&date.year%100!=0)||date.year%400==0))//若闰年,且晚于2月,加一天
sum++;
returnsum;
}
intmain()
{
structy_m_ddate;
intday_sum;
printf("请输入年月日(以空格隔开):");
scanf("%d%d%d",&date.year,&date.month,&date.day);
day_sum=days(date);
printf("%d年%d月%d日是%d年的第%d天\n",date.year,date.month,date.day,date.year,day_sum);
return0;
}

执行结果如下:

输入:2016年3月1日

输出:该日是当年的第61天。2016年是闰年,所以3月1日是第61天=31+29+1

'C语言 定义一个包含年月日的结构体变量,任意输入一天,计算该日是本年的第几天

#include
#include
structdate
{
intyear,mouth,day;
};
intmain()
{
structdated;
inti,k=0,nday=0;

printf("请输入当前年月日:");
scanf("%d%d%d",&d.year,&d.mouth,&d.day);
///先判断是否是闰年,符合条件就是闰年,k置为1
if(d.year%4==0&&d.year%100!=0||d.year%400==0)
k=1;
for(i=1;i {
//如果是2月并且是闰年,加上29天
if(i==2&&k==1)
nday+=29;
elseif(i==2)
nday+=28;
elseif(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
nday+=31;
else
nday+=30;
}
nday+=d.day;
printf("今天是今年的第%d天\n",nday);
return0;
}

c++ 定义日期的结构体类型DATE,它包含年,月,日三个成员,定义学生结构体类

#include
usingnamespacestd;
typedefstruct__date
{
intnYear;
intnMonth;
intnDay;
friendostream&operator<<(ostream&o,const__date&d)
{
o< returno;
}
}DATE;
#defineMAX_LEN_NAME20
typedefstruct__student
{
intnId;
charstrName[MAX_LEN_NAME];
DATEiDate;
intnGrade;
}STUDENT;
voidinput(STUDENT&st)
{
cout<<"请输入学号:";
cin>>st.nId;
cout<<"请输入姓名:";
cin>>st.strName;
cout<<"请输入出生日期(年月日):";
cin>>st.iDate.nYear
>>st.iDate.nMonth
>>st.iDate.nDay;
cout<<"请输入分数:";
cin>>st.nGrade;
}
voidprint(STUDENT*st)
{
cout<<"学号:"<nId< cout<<"姓名:"<strName< cout<<"出生日期"<iDate< cout<<"分数:"<nGrade<}
intmain()
{
constintnCount=2;
STUDENTst[nCount];
for(inti=0;i {
cout<<"请输入第"< input(st[i]);
cout< }
cout< for(inti=0;i {
cout<<"输出第"< print(&st[i]);
cout< }
return0;
}


标签:编程语言 信息技术 CC++ 编程 结构体

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18