关于一个万年历代码的问题

作者&投稿:紫矩 (若有异议请与网页底部的电邮联系)
求助!!!帮我看一下这个代码哪里有问题,设计目的是得出一个万年历,输入年和月份,打印出这个月的月历~

你把源代码发给我吧,我可以帮你改一下,邮箱:2396983355@qq.com

int week1(int year,int month,int day)//一个方法,名字叫week1,有三个参数,分别代码年,月,日
{
int number=(year-1)+(year-1)/4-(year-1)/100+(year-1)/400+day2(year,month,day);
//这里有两部分,第一部分是把(year-1)+(year-1)/4-(year-1)/100+(year-1)/400这些相加
//第二部分是day2(year,month,day);这是调用了day2这个方法,然后把年,月,日,传过去,然后就能给返回一个值。
//最后就是把第一部分和第二部分的值相加
number%=7;//number=number%7求余
return number;//返回求得的值
}

个人认为 我这个万年历更好点。
********************************分隔线***************************
package myCalendar;

public class Calc {
private int year,month,days;//年,月,日
private boolean leap;//用以表示当年是否闰年
private String week;//用以表示当天是星期几
private int firstday;//用以表示当月的第一天是星期几

//构造函数
public Calc(int year,int month,int days){
//初始化数据
this.year=year;
this.month=month;
this.days=days;
//判断当年是否闰年
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
leap = true;
else
leap = false;
//判断当天是星期几
//1900.01.01星期一,以此作为标准
int week_i=0;
for (int i=1900;i<year;i++)
if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)
week_i+=2;
else
week_i++;
for (int i=1;i<month;i++)
week_i+=monthday(i);
firstday=week_i+1;
week_i+=days;
week_i%=7;
switch (week_i) {
case 0:week="星期日";break;
case 1:week="星期一";break;
case 2:week="星期二";break;
case 3:week="星期三";break;
case 4:week="星期四";break;
case 5:week="星期五";break;
case 6:week="星期六";break;
}
}

public boolean leapyear() {
return leap;
}

public String getWeek(){
return week;

}

public int getFirstDay(){
return (firstday%7);
}

public int monthday(int month_i) {
int days_i=0;
switch (month_i) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days_i = 31;
break;
case 4:
case 6:
case 9:
case 11:
days_i = 30;
break;

case 2:
if (leap) {
days_i = 29;
} else {
days_i = 28;
}
break;

}
return days_i;
}

}
********************************分隔线***************************
package myCalendar;

import java.util.Scanner;

public class WNL {
public static void main(String[] args) {
int year,month,days;
Scanner sc = new Scanner(System.in);

System.out.println("************************* 欢 迎 使 用 万 年 历 ****************************\n");
System.out.print("请输入年份:");
year = sc.nextInt();
System.out.print("\n请输入月份:");
month = sc.nextInt();
System.out.print("\n请输入日期:");
days = sc.nextInt();

Calc Date=new Calc(year,month,days);

if (Date.leapyear()) {
System.out.print("\n今年是闰年!\n");
} else {
System.out.print("\n今年是平年!\n");
}

System.out.print(year+"."+month+"."+days+"是" + Date.getWeek());

System.out.print("\n\n星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\n");

int p=0;
for (; p < Date.getFirstDay(); p++) {
System.out.print("\t");
}

for (int i = 1; i <= Date.monthday(month); i++) {
System.out.print(i + "\t");
if ((i + p) % 7 == 0) {
System.out.print("\n");
}

}

}

}


万年历怎么用c#编写
添加这段代码到事件中 richTextBox.Text=monthCalendar.SelectionRange.Start.ToShortDateString();运行一下。当选择了一个日期后,这个日期便会显示在richtextbox内了。这样一个万年历就完成了。从这个例子可以看到,VS.NET提供了非常丰富的控件库。朋友们在使用VS.NET进行编程的时候,不要浪费这些资源,...

java程序的万年历编程代码?
calendar.set(Calendar.MONTH,1);calendar.set(Calendar.DAY_OF_MONTH, 1);int first = calendar.get(Calendar.DAY_OF_WEEK) - 1;System.out.println(calendar.get(Calendar.YEAR) + "年"+ (calendar.get(Calendar.MONTH) + 1) + "月万年历");System.out.println("日\\t一\\t二\\t三\\t四\\...

求java万年历代码
现在网络上提供的万年历基本都是有你所说的功能。除了“闹钟”功能。你可以打开一个万年历,如:http:\/\/wentong.org\/wannianli\/,右键,查看“源代码”,把源代码复制保存为网页(后缀为.htm)格式就可以了。或者,你干脆在菜单的“文件”-“另存为”就可以了。参考资料:http:\/\/wentong.org\/wannianli...

C语言编写万年历
for(j=1;j<=8*days;j++)printf(" ");switch(i){ case 1:case 3:case 5:case 7:case 8:case 10:case 12:count=31;break;case 4:case 6:case 9:case 11:count=30;break;case 2:if(leap) count=29;else count=28; break;} for(k=1;k<=count;k++)\/\/以下代码是控制界面的...

急求:课程设计题目:万年历,用C语言编写的。
我以前写的代码,你自己改下输出格式吧 我的是输入:2010 07 01 输出: 4 include <stdio.h> int main(){ int Y,M,D,A;while(scanf("%d%d%d",&Y,&M,&D)==3){ if(M<1||M>12){ Y+=M<1?M\/12-1:M\/12;M=M%12;M=M<1?M+12:M;} A=Y>0?(5+(Y+1)+(Y-1)\/4-(...

想用单片机设计一个万年历,如何实现阳历到农历的转换?最好是给出思路...
算法代码有的!我也是昨天找到有一个,不过是网页JS的,你应该会看懂的。该Html文件请到我QQ网盘去拿:QQ450320826 密码www.126.com。 本回答被网友采纳 已...你自已写控制算法很复杂,可以采用万年历芯片。有很多种类型可以选择。一般接口方式都不会很复杂。 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 ...

C++万年历 十二生肖的代码带着解释,跪求大神
写了下,测试成功,代码很简单,有注释。include <iostream>using namespace std;int main(){\/\/ 12 猪 在这能被12取余为0说明差值是12的倍数\/\/ 0"猪", 1"鼠", 2"牛", 3"虎", 4"兔", 5"龙", 6"蛇", 7"马", 8"羊", 9"猴", 10"鸡", 11"狗"char * zodiacArray[12] =...

求万年历VC6.0 源代码.高手请指教
{day=1;if (month==12){month=1;year+=1;} else month+=1;}} void print()if (ValidDate())printf("nextday is %d\/%d\/%d",month,day,year);elseprintf("Date error");} void main(){getday();incrementdate();print();} 补充一下,又发现一个问题。输入之后虽然你做了输入检查,...

怎么用C语言写万年历,输出一个月份,显示下个月和上个月的日历情况...
这是我原来的代码,可运行,你看着改吧,C++写的。include"iostream"include"iomanip"include"windows.h"using namespace std;int tab[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} };int y,m,d,leap;class Calendar { publi...

如何编写万年历程序,子函数怎样调用子函数
is=1;else is=0;return(is);} \/\/int GetMonthDay(int year,int month);int GetMonthDays(int year,int month){ int is,md;\/\/days没定义 int days = 0;\/\/is=int isLeap(int year);is = isLeap(year);if(is=1){ switch(month){ case 1:md=31,days+=1;break;case 2:md=29,days...

黔西南布依族苗族自治州13338831600: 关于一个万年历代码的问题 -
锐唯妇科: 个人认为 我这个万年历更好点.********************************分隔线*************************** package myCalendar; public class Calc { private int year,month,days;//年,月,日 private boolean leap;//用以表示当年是否闰年 private String week;//...

黔西南布依族苗族自治州13338831600: C语言编程 关于万年历程序的问题 -
锐唯妇科: int number=(year-1)+(year-1)/4-(year-1)/100+(year-1)/400+yearDay(year,month,day); //计算的是这一天是这一年的第几天number=number%7; //一个星期有七天,return number; //返回为0代表星期天,1代表星期一,.........

黔西南布依族苗族自治州13338831600: 我想在新浪博客里面加一个万年历,应该怎样弄?代码怎么写?应该写在
锐唯妇科: 万年历代码: 具体操作步骤是: 点击控制面板——个人首页维护——自定义空白面板——新增——钩选“显示源代码”前的小方框(出现钩号,同时文档里出现DIV的字样)——复制粘贴上面代码——再次钩选“显示源代码”前的小方框(钩号消失)——保存——返回自定义设置——定制我的首页——添加模块——勾选新增面板——保存设置就行了; 欢迎光临我的博客:

黔西南布依族苗族自治州13338831600: 用c语言设计一个简单的万年历怎么写代码 -
锐唯妇科: #include"stdio.h"#include"stdlib.h"main(){intYear,Month;//年、月intFirstDay_Year,FirstDay_Month;//某年的第一天是星期几,某年某月的第一天是星期几(范围是0~6,其中0代表星期日)intIsLeapYear;//是否为闰年,0表示不是闰年,...

黔西南布依族苗族自治州13338831600: 这是一段万年历程序代码的一部分,这段看不太懂 求高人解释!!! -
锐唯妇科: int week1(int year,int month,int day)//一个方法,名字叫week1,有三个参数,分别代码年,月,日{int number=(year-1)+(year-1)/4-(year-1)/100+(year-1)/400+day2(year,month,day);//这里有两部分,第一部分是把(year-1)+(year-1)/4-(...

黔西南布依族苗族自治州13338831600: c语言编写万年历 -
锐唯妇科: #include"stdio.h" #include"stdlib.h" #include"windows.h" void welcome(); void getday(int year,int month); void shuru(); void end(); long year; long month; void welcome() {printf("【万年历程序加载中");for(int i=0;i<30;i++){printf("★"...

黔西南布依族苗族自治州13338831600: 用C或C++编程实现一个简单、实用的万年历程序 -
锐唯妇科: 自己用VC弄下排版.#include #include char*month_str[]={"January","February","March","April","May","June","July","August","September","October","November","December"}; char*week[]={"Sunday","Monday...

黔西南布依族苗族自治州13338831600: 如何用Java编写一个万年历 -
锐唯妇科: /* 题目:输出任意年份e799bee5baa6e79fa5e9819331333361326239任意月份的日历表(公元后) 思路:1.已知1年1月1日是星期日,1 % 7 = 1 对应的是星期日,2 % 7 = 2 对应的是星期一,以此类推;2.计算当年以前所有天数+当年当月1...

黔西南布依族苗族自治州13338831600: 如何用c语言做一个万年历? -
锐唯妇科: 想要就拿去吧! #include #include char* month_str[]={"January","February","March","April","May","June","July","August","September","October","November","December"}; char* week[]={"Sunday","Monday",...

黔西南布依族苗族自治州13338831600: 如何用C语言编一个万年历系统 -
锐唯妇科: #include int day,year,month; int isLeap() {int isleap; if(((year%4==0)&&!(year%100==0))||(year%400==0))isleap=1; else isleap=0; return isleap;} int lastdayofmonth() {int lastday,isleap; switch (month) {case 1: case 3: case 5: case 7:case 8: case 10: ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网