將這段代碼拷貝到UseBirthday類中和你的比較一下看看
public class UseBirthday {
public static void main(String[] args) {
Birthday a=new Birthday(2000,1,1);
a.GetBirthday();
a.Birthday(2008,5,12);
a.GetBirthday();
}
}
class Birthday {
private int Year, Month, Day;
Birthday(){
Year=2000;
Month=1;
Day=1;
}
Birthday(int y,int m,int d) {
Year = y;
Month = m;
Day = d;
}
public void Birthday(int y,int m,int d){
Year = y;
Month = m;
Day = d;
}
int Gety() {
return Year;
}
int Getm() {
return Month;
}
int Getd() {
return Day;
}
void GetBirthday() {
System.out.println(Gety() + "年" + Getm() + "月" + Getd() + "日");
}
}
『貳』 編寫程序,輸入年月日,輸出天數
#include<iostream>
using namespace std;
int main()
{
int year,month,day;
int days=0,i;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; //定義一個數組 用來存放每個月的天數
cout<<"請輸入年月日,比如2014 12 9"<<endl;
cin>>year>>month>>day;
for(i=1;i<month;i++) //天數相加
{
days=days+a[i];
}
days=days+day;
if((((year%4==0)&&(year%100!=0))||(year%400==0))&&month>=3) //若是閏年的情況 月份在二月之後 天數加1
{
days=days+1;//daya+=1
}
cout<<month<<"月"<<day<<"月是"<<year<<"年中的第"<<days<<"天"<<endl; //輸出月 天數。
return 0;
}
『叄』 編程:要求輸入某一年月日,判斷其為該年的第幾天
暈!~C到C++,輕微改一下不就得了,C++的補在C的後下面了
很簡單,用C寫的,可以用數組,我沒用,代碼也可以更簡單,不過這樣便於你理解,我沒有調試,你看一下有沒有錯誤
main
()
{int
year,moon=13,week=0,day=32,c=0,
m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12;
while(moon>12
||
moon<1
||
day>31
||
day<1)
{
printf("請輸入年,月,日:");
scanf("%d,%d,%d",&year,&moon,&day);
}
/*
檢驗輸入數據的合法性
*/
printf("\n*
%d
\\
%d
\\
%d\n",year,moon,day);
if
(year%4==0
&&
year%100!=0
||
year%400==0)
/*
檢驗輸入年份是否為閏年
*/
m2=29;
else
m2=28;
m1=m3=m5=m7=m8=m10=m12=31;
m4=m6=m9=m11=30;
switch(moon)
{
case
1:
c=0;
break;
case
2:
c=m1;
break;
case
3:
c=m1+m2;
break;
case
4:
c=m1+m2+m3;
break;
case
5:
c=m1+m2+m3+m4;
break;
case
6:
c=m1+m2+m3+m4+m5;
break;
case
7:
c=m1+m2+m3+m4+m5+m6;
break;
case
8:
c=m1+m2+m3+m4+m5+m6+m7;
break;
case
9:
c=m1+m2+m3+m4+m5+m6+m7+m8;
break;
case
10:
c=m1+m2+m3+m4+m5+m6+m7+m8+m9;
break;
case
11:
c=m1+m2+m3+m4+m5+m6+m7+m8+m9+m10;
break;
case
12:
c=m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11;
break;
default:
printf("Error");
break;
}
printf("這日為該年的第
%d
天",c+day);
}
==================================
C++的
#include
<iostream>
using
namespace
std;
void
main
()
{int
year,moon=13,week=0,day=32,c=0,
m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12;
while(moon>12
||
moon<1
||
day>31
||
day<1)
{
cout<<"請輸入年,月,日:";
cin
>>
year
>>
moon
>>
day;
}
//
檢驗輸入數據的合法性
if
(year%4==0
&&
year%100!=0
||
year%400==0)
//
檢驗輸入年份是否為閏年
m2=29;
else
m2=28;
m1=m3=m5=m7=m8=m10=m12=31;
m4=m6=m9=m11=30;
switch(moon)
{
case
1:
c=0;
break;
case
2:
c=m1;
break;
case
3:
c=m1+m2;
break;
case
4:
c=m1+m2+m3;
break;
case
5:
c=m1+m2+m3+m4;
break;
case
6:
c=m1+m2+m3+m4+m5;
break;
case
7:
c=m1+m2+m3+m4+m5+m6;
break;
case
8:
c=m1+m2+m3+m4+m5+m6+m7;
break;
case
9:
c=m1+m2+m3+m4+m5+m6+m7+m8;
break;
case
10:
c=m1+m2+m3+m4+m5+m6+m7+m8+m9;
break;
case
11:
c=m1+m2+m3+m4+m5+m6+m7+m8+m9+m10;
break;
case
12:
c=m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11;
break;
default:
cout<<"Error";
break;
}
cout<<"是這一年的第"<<c+day<<"天"<<endl;
}
『肆』 C語言編程:給定一個日期(年/月/日)計算該日期是所在年的第幾天。
//1.程序分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊
//情況,閏年且輸入月份大於3時需考慮多加一天。
#include<stdio.h>
void main(){
int year,month,day,i,leap;
int fleap(int a);
printf("請輸入年月日如(2009,1,1):");
scanf("%d,%d,%d",&year,&month,&day);
//printf("%d,%d,%d\n",year,month,day);
switch(month){
case 1:i=0;break;
case 2:i=31;break;
case 3:i=31+28;break;
case 4:i=31+28+31;break;
case 5:i=31+28+31+30;break;
case 6:i=31+28+31+30+31;break;
case 7:i=31+28+31+30+31+30;break;
case 8:i=31+28+31+30+31+30+31;break;
case 9:i=31+28+31+30+31+30+31+31;break;
case 10:i=31+28+31+30+31+30+31+31+30;break;
case 11:i=31+28+31+30+31+30+31+31+30+31;break;
case 12:i=31+28+31+30+31+30+31+31+30+31+30;break;}
leap=fleap(year);
if(leap==1)
{ i=i+day+1;
printf("\n\n\n\n\n %d年是潤年\n",year);}
else {i=i+day;printf("\n\n\n\n\n %d年不是潤年\n",year);}
printf("%d年%d月%d是%d年的第%d天",year,month,day,year,i);
getch();}
int fleap(int a){
int leap;
if(a%4==0)
{
if(a%100==0)
{
if(a%400==0)
leap=1;
else
leap=0;
}else leap=1;
}
else leap=0;
return(leap);}//判斷潤年的
『伍』 編寫程序,輸入一個用三個整數表示的年月日,輸出該日是星期幾。
既然要判斷某一天是星期幾,你總得知道,某一基準日期是星期幾把,我好像沒有找到有關於基準日期的代碼,你的代碼沒有注釋看起來特費勁!!!
我給你寫一個,你參考下,運行過了,么有任何問題!!
又不明白的可以交流下!
我的是以1970年1月1日,作為基準日期,此日是周四
#include <stdio.h>
//計算給定的日期是本年的第幾天
int count(int year,int month,int day)
{int i,sum=0,flag=0;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(i=1;i<month;i++)
sum=a[i]+sum;
if(year%400==0||year%100!=0&&year%4==0)
flag=1;
if(flag==1&&month>2) sum++;
sum=sum+day;
return sum;
}
int main()
{
int year,month,day;
int sum=0,i;
int a;
//1970年1月1日是周四。
printf("輸入日期:");
scanf("%d%d%d",&year,&month,&day);
for(i=1970;i<year;i++)
{
if(i%400==0||i%100!=0&&i%4==0)
sum=sum+366 ;
else sum=sum+365;
}
sum+=count(year,month,day)-1;
a=sum%7;
switch(a)
{
case 0:printf("%d年%d月%d日是:周四\n",year,month,day);break;
case 1:printf("%d年%d月%d日是:周五\n",year,month,day);break;
case 2:printf("%d年%d月%d日是:周六\n",year,month,day);break;
case 3:printf("%d年%d月%d日是:周日\n",year,month,day);break;
case 4:printf("%d年%d月%d日是:周一\n",year,month,day);break;
case 5:printf("%d年%d月%d日是:周二\n",year,month,day);break;
case 6:printf("%d年%d月%d日是:周三\n",year,month,day);break;
}
return 0;
}
c編程高手團隊正在招新,有意者速速行動,一起學習,一起努力!!
『陸』 設int year,month,day分別表示一個日期中的年月日,試編程求 :
2009-02-19 14:24import java.text.*;import java.util.*;
public class DateOption {
private static final String pattern = "yyyy-MM-dd";
private static SimpleDateFormat sdf = new SimpleDateFormat(pattern);
private static Scanner scan = new Scanner(System.in);
// 日期判斷
public static boolean isValdateDate(String strDate) {
boolean isPassed = false;
sdf.setLenient(false);
if (strDate != null && strDate.length() > 0) {
try {
Date dtCheck = (Date) (sdf.parse(strDate));
String strCheck = sdf.format(dtCheck);
if (strDate.equals(strCheck)) {
isPassed = true;
} else {
isPassed = false;
}
} catch (Exception e) {
isPassed = false;
}
}
return isPassed;
}
// 根據輸入 返回一個Date
public static Date valueOf(String strDate) {
Date date = null;
try {
date = (DateOption.isValdateDate(strDate) ? sdf.parse(strDate)
: null);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
// 測試
public static void main(String[] args) {
Date[] dates = new Date[2];
for (int i = 0; i < 2; i++) {
System.out.println("依次輸入第" + (i + 1) + "個年,月,日(月份用2位表示): ");
StringBuffer line = new StringBuffer();
for (int j = 0; j < 3; j++) {
line.append(scan.nextLine() + "-");
dates[i] = DateOption.valueOf(line.toString().substring(0, line.length() - 1));
}
}
if (dates[0] != null && dates[1] != null) {
int days = (int) Math.abs((dates[0].getTime() - dates[1].getTime())
/ (24 * 60 * 60 * 1000));
System.out.println("兩者相距" + days + "天");
int afterDays = 2;
long time1 = dates[0].getTime() + 24 * 60 * 60 * 1000 * afterDays;
long time2 = dates[1].getTime() + 24 * 60 * 60 * 1000 * afterDays;
dates[0].setTime(time1);
dates[1].setTime(time2);
System.out.println(afterDays + "天後兩者為:\n"
+ sdf.format(dates[0]) + "\n"
+ sdf.format(dates[1]));
} else {
System.out.println("輸入有誤!");
}
}
}
// 除了日期判斷,其他功能用Calendar 處理合適,也可以單獨寫成方法
『柒』 編程給出年,月,日,計算該日是該年的哪一天
#include<stdio.h>
intmain()
{ inti,y,m,d,n,a[12]={0,31,28,31,30,31,30,31,31,30,31,30};
scanf("%d%d%d",&y,&m,&d);
n=d;
a[2]+=y%4==0&&y%100||y%400;
for(i=1;i<m;i++)n+=a[i];
printf("%d-%distheNo.%ddayof%d. ",m,d,n,y);
return0;
}
『捌』 怎麼用C語言編程任給一個年月日它是星期幾
<script language=JavaScript>
today=new Date();
function initArray(){
this.length=initArray.arguments.length
for(var i=0;i<this.length;i++)
this[i+1]=initArray.arguments[i] }
var d=new initArray(
"星期日",
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六");
document.write(today.getYear(),"年",
today.getMonth()+1,"月",
today.getDate(),"日 ","</font>" );
document.write("") ;
document.write( d[today.getDay()+1],"</font>");
</script>
復制到記事本里,保存為*.htm格式雙擊打開即可,
C語言就把document.write改為printf包含日期頭文件,再加一個main()函數。
『玖』 用c語言中的數組編程,當填寫年月日時,輸出是這年的第幾天.
方法一:
#include<stdio.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
int day,month,year,sum,leap;
do{
printf("\nplease input year month day\n");
printf("\n請輸入年 月 日\n");
scanf("%d %d %d",&year,&month,&day);
if((month==1&&day<=31&&day>=1)||
((year%4==0&&year%100!=0||year%400==0)&&(month==2&&day<=29&&day>=1))||
(!(year%4==0&&year%100!=0||year%400==0)&&(month==2&&day<=28&&day>=1))||
(month==3&&day<=31&&day>=1)||(month==4&&day<=30&&day>=1)||
(month==5&&day<=31&&day>=1)||(month==6&&day<=30&&day>=1)||
(month==7&&day<=31&&day>=1)||(month==8&&day<=31&&day>=1)||
(month==9&&day<=30&&day>=1)||(month==10&&day<=31&&day>=1)||
(month==11&&day<=30&&day>=1)||(month==12&&day<=31&&day>=1))
{ switch(month)//先計算某月以前月份的總天數
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");
break;
}
sum=sum+day; //再加上某天的天數
if(year%400==0||(year%4==0&&year%100!=0)) //判斷是不是閏年
leap=1;
else
leap=0;
if(leap==1&&month>2) //如果是閏年且月份大於2,總天數應該加一天
sum++;
//clrscr(); //清屏
system("cls"); //清屏
printf("%d-%d-%dis the year\'s first %d days.\n\n",year,month,day,sum);
printf("%d-%d-%d是這年的第%d天.\n\n",year,month,day,sum);
}
else printf("\tData errors!!!\n\n");
}while(1);
}
方法二:
#include<stdio.h>
#include <stdlib.h>
struct
{
int year;
int month;
int day;
}date;
void main()
{int i,days;
int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
do{
printf("Input year,month,day:\n");
scanf("%d %d %d",&date.year,&date.month,&date.day);
system("cls"); //清屏
days=0;
if((date.month==1&&date.day<=31&&date.day>=1)||
((date.year%4==0&&date.year%100!=0||date.year%400==0)&&(date.month==2&&date.day<=29&&date.day>=1))||
(!(date.year%4==0&&date.year%100!=0||date.year%400==0)&&(date.month==2&&date.day<=28&&date.day>=1))||
(date.month==3&&date.day<=31&&date.day>=1)||(date.month==4&&date.day<=30&&date.day>=1)||
(date.month==5&&date.day<=31&&date.day>=1)||(date.month==6&&date.day<=30&&date.day>=1)||
(date.month==7&&date.day<=31&&date.day>=1)||(date.month==8&&date.day<=31&&date.day>=1)||
(date.month==9&&date.day<=30&&date.day>=1)||(date.month==10&&date.day<=31&&date.day>=1)||
(date.month==11&&date.day<=30&&date.day>=1)||(date.month==12&&date.day<=31&&date.day>=1))
{
for(i=1;i<date.month;i++)
days+=day_tab[i];
days+=date.day;
if((date.year%4==0&&date.year%100!=0||date.year%400==0)&&date.month>=3)
days++;
printf("\n\n");
printf("\t%d/%d is the %dth day in %d.\n",date.month,date.day,days,date.year);
}
else printf("\tData errors!!!\n\n");
}while(1);
}
『拾』 c語言編程:輸入年月日,求出該天是該年的第幾天
#include<stdio.h>
intmain()
{intday,month,year,sum,leap;
printf(" 請輸入年、月、日,格式為:年,月,日(2015,12,10) ");
scanf("%d%d%d",&year,&month,&day);//格式為:20190510
switch(month)//先計算某月以前月份的總天數
{case1:sum=0;break;
case2:sum=31;break;
case3:sum=59;break;
case4:sum=90;break;
case5:sum=120;break;
case6:sum=151;break;
case7:sum=181;break;
case8:sum=212;break;
case9:sum=243;break;
case10:sum=273;break;
case11:sum=304;break;
case12:sum=334;break;
default:printf("dataerror");break;}
sum=sum+day;//再加上某天的天數
if(year%400==0||(year%4==0&&year%100!=0))
{//判斷是不是閏年
leap=1;
}
else
{leap=0;
}
if(leap==1&&month>2)
{//*如果是閏年且月份大於2,總天數應該加一天
sum++;
}
printf("這是這一年的第%d天。",sum);
printf(" ");
}
(10)編程年月日擴展閱讀
使用c語言編程結構tm格式化時間注意事項:
tm結構在C/C++中處理日期和時間相關的操作時,顯得尤為重要。tm結構以C結構的形式保存日期和時間,大多數與時間相關的函數都使用了tm結構。
使用了tm結構和各種與日期和時間相關的函數。在練習使用結構之前,需要對C結構有基本的了解,並懂得如何使用箭頭->運算符來訪問結構成員。