问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:Project4.cpp
* 作 者:陈旭
* 完成日期:2014年12月22日
* 版 本 号:v1.0
*
* 问题描述:定义一个结构体变量(包括年、月、日),要求输入年、月、日,计算输出该日是该年的第几天
* 输入描述:略
* 程序输出:略
*/
#include <iostream>
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int main()
{
Date date;
cout<<"input year,month,day:";
cin>>date.year>>date.month>>date.day;
int days;
if((date.year%4==0&&date.year%100!=0)||date.year%400==0)
{
switch(date.month)
{
case 1:
days=date.day;
break;
case 2:
days=date.day+31;
break;
case 3:
days=date.day+31+29;
break;
case 4:
days=date.day+31+29+31;
break;
case 5:
days=date.day+31+29+31+30;
break;
case 6:
days=date.day+31+29+31+30+31;
break;
case 7:
days=date.day+31+29+31+30+31+30;
break;
case 8:
days=date.day+31+29+31+30+31+30+31;
break;
case 9:
days=date.day+31+29+31+30+31+30+31+31;
break;
case 10:
days=date.day+31+29+31+30+31+30+31+31+30;
break;
case 11:
days=date.day+31+29+31+30+31+30+31+31+30+31;
break;
case 12:
days=date.day+31+29+31+30+31+30+31+31+30+31+30;
break;
}
}
else
{
switch(date.month)
{
case 1:
days=date.day;
break;
case 2:
days=date.day+31;
break;
case 3:
days=date.day+31+28;
break;
case 4:
days=date.day+31+28+31;
break;
case 5:
days=date.day+31+28+31+30;
break;
case 6:
days=date.day+31+28+31+30+31;
break;
case 7:
days=date.day+31+28+31+30+31+30;
break;
case 8:
days=date.day+31+28+31+30+31+30+31;
break;
case 9:
days=date.day+31+28+31+30+31+30+31+31;
break;
case 10:
days=date.day+31+28+31+30+31+30+31+31+30;
break;
case 11:
days=date.day+31+28+31+30+31+30+31+31+30+31;
break;
case 12:
days=date.day+31+28+31+30+31+30+31+31+30+31+30;
break;
}
}
cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<days<<"天."<<endl;
return 0;
}
运行结果:
知识点总结:
通过这个程序的编写,让我们把之前学过的知识融合现在所学的结构体变量,使问题处理更加系统化。
学习心得:
看着自己长长的编码,而看老师或同学的总是很简洁的就处理完了,觉得也挺难过的,不过我做出来了我骄傲。
本文详细阐述了如何使用结构体变量实现日期的输入与计算,以确定该日期是相应年份中的第几天。
29万+

被折叠的 条评论
为什么被折叠?



