C语言实训--万年历源代码 # include #include #include #include #include # define YEAR 365 int numday[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31}, {31,29,31,30,31,30,31,31,30,31,30,31}}; int leap(int year); int calday(int y,int m); int counterdays(int year,int month,int day); int week(int year,int month,int day); int eachyeartotal(int year,int month,int day); int maxDay(int y,int month); void print(int y,int m,int w); void festival (int year,int month,int day); int IsLeap(int y); int guanli(int i); void rili(int year,int month); int rili1(); void rili2(); void rili3(); void rili4(); void rili5(); void fan(); void show(int year,int month,int date,int sec,int mini,int hour); int main() { int i; printf("***************************************\n"); printf("1.查询日历,输入年份:\n"); printf("2.查询该月日历及对应星期,输入年份和月份:\n"); printf("3.查询星期几及节日,输入年月日:\n"); printf("4.距您输入日期还有多少天,输入日期:\n"); printf("5.通过键盘上下控制不同年月日:\n"); scanf("%d",&i); guanli(i); return 0; } int guanli(int i) { switch(i) { case 1:rili1();return main();
万年历系统源代码 #include #include #include #include #include #define KEYNUMUp 0x48 #define KEYNUMDown 0x50 #define KEYNUMLeft 0x4b #define KEYNUMRight 0x4d #define KEYNUMPageUp 0x49 #define KEYNUMPageDown 0x51 int year,month,day; //全局变量记录时间 int daysOfMonth[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31, 31,30,31, 30,31}}; int runYear(int year) //判断是否是闰年 { int flag=0; if(year%400==0||(year%4==0&&year%100!=0)) flag=1; return flag; } struct tm* getDay()//从系统取得当前时间 { time_t timer; struct tm* gmt; time(&timer); gmt=localtime(&timer); return gmt; } int dayExame(int year,int month,int day)//检查日期是否正确 { if(year<0||month<1||month>12||day<1||day>31) return 0; switch(month) { case 1: case 3: case 5: case 7: case 8: case 10:
C语言编写的万年历代码 该代码在VC++6.0编译器下运行,只要按照编译器给出的说明操作,就能将万年历显示在调试窗口中了……………………………………由于制作时间匆忙,很多注释都来不及写了,对于出学者可以慢慢看,代码很简单的,都放在了主函数里,如果有兴趣的话,可以把这些代码放在几个文件里,这样会好看点,加油了! #include #include void main() { int m,i,j,n=0,y=2010,wo,w,a; printf("input the form of: year-month:\t"); scanf("%d-%d",&y,&m); //输入格式的决定 if(y%4==0&&y%100!=0||y%400==0) a=29; else a=28; //闰年的判断及2月日数的确定 if(m<1||m>12){ printf("month is not exit,please input later!\n"); exit(0); } wo=(y+(y-1)/4-(y-1)/100+(y-1)/400)%7; //1月1日的算法wo表示 for(i=0;i<55;i++) printf("*"); //*的输入 printf("\n"); for(j=1;j<=7;j++) printf("星期%d\t",j); //星期的输入 printf("\n"); //表前的建造 switch(m){ case 1:for(i=1;iprintf("\t"); n++; } for(j=1;j<=31;j++){ if(n%7==0) printf("\n"); printf("%d\t",j); n++; } break; // 1 month case 2:w=(wo+31)%7; for(i=1;ijava课程设计 万年历 源代码 华北科技学院 课程设计报告 面向对象程序设计(Java) 班级: 电商B09-3 姓名: 周婷玉 设计题目:__________万年历________________ 设计时间: 2011-12-28 至2012-01-06 指导教师:_______ 郭慧____________ _____ 评语:_________________________________ _________________________________________ _________________________________________ _________________________________________ _________________________________________ 评阅成绩:___________评阅教师:_____________
课程设计说明书 1、课程设计的目的 a)掌握面向对象程序设计基本要素(封装、继承、多态) b)掌握JA VA语言常用类包及其常用方法和JA VA语言基本语法 c)掌握基于AWT的图形用户界面设计 i.常用标准控件的使用,如标签、按钮、菜单、文本框、单选按钮、 滚动条等。 ii.事件处理机制 d)掌握布局、对话框的使用 e)掌握发布JA VA应用程序 2、功能模块简介和系统结构图 需求分析:本程序的要求为: 1.使用图形用户界面 2.能够实现日期与星期的查询 3.实现当日的时间备忘 功能设计: 1.能以月历形式显示日期与星期 2.支持用户自己输入年份,并提供月份的下拉形式来选择查询 3.添加当日行事历,储存与清除功能
数字万年历简易C语言程序源代码 #include"reg52.h" #define uchar unsigned char #define uint unsigned int sbit rs=P2^0; // lcd 控制端 sbit en=P2^2; // lcd 控制端 sbit all=P2^1; // lcd 控制端 sbit s0=P1^5; //时间调节 sbit s1=P1^6; sbit s2=P1^7; sbit voice=P2^7; int nt; sbit DQ=P2^6; sbit DS1302_CLK = P2^3; //实时时钟时钟线引脚sbit DS1302_IO = P2^4; //实时时钟数据线引脚sbit DS1302_RST = P2^5; //实时时钟复位线引脚sbit ACC0 = ACC^0; sbit ACC7 = ACC^7; unsigned char time; #define ads_y 0 #define ads_mo 3 #define ads_d 6 #define ads_w 9 #define ads_h 65 #define ads_m 68 #define ads_s 71 #define DS1302_SECOND 0x80 //写入ds地址宏定义 #define DS1302_MINUTE 0x82 #define DS1302_HOUR 0x84 #define DS1302_WEEK 0x8A #define DS1302_DAY0x86 #define DS1302_MONTH 0x88 #define DS1302_YEAR 0x8C
用C语言编写万年历,详细代码 /* welcome to use the WanNianLi system! */ #include #include #include char* month_str[]={"January","February","March","April","May","June","July","August ","September","October","November","December"}; char* week[]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Sat urday"}; int leap (int year)//判断闰年 { if(year%4==0&&year%100!=0||year%400==0) return 1; else return 0; } int month_day(int year,int month) //判断这一个月有多少天 { int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31}; //初始化每个月的天数if(leap(year)&&month==2 ) return 29; else return(mon_day[month-1]); } int firstday(int year,int month,int day)//判断这一个月的第一天是星期几 { int c=0; float s; int m; for(m=1;m51单片机实现万年历程序文件 51单片机实现万年历 利用AT89S52单片机的P0口来和另外几个口来控制1602液晶的显示和P1口还有其它口来控制ds12887时钟芯片。设置四个按键,1个定义为时间设置功能键,一个定义为闹钟设置功能键,另外两个用来调节时间的增减。 原理图: pcb图:
源程序: #include #define uint unsigned int #define uchar unsigned char sbit beep=P2^0;//蜂鸣器控制口 sbit timeadd=P2^1;//调节时间加 sbit timesub=P2^2;//调节时间减 sbit timeclk=P2^3;//闹钟设定键 sbit timefun=P2^4;//时间设定键 sbit lcdrs=P2^5;//液晶的命令和数据控制口 sbit ledrw=P2^6;//液晶的写数据口 sbit lcden=P2^7;//液晶显示模块的使能端 sbit timeds=P3^3;//时钟芯片地址闸 sbit timerw=P3^4;//时钟芯片读写 sbit timeas=P3^5;//时钟芯片地址闸 sbit timeen=P3^6;//时钟芯片片选 uchar code table[]="20 - - week "; uchar code table1[]=" : : ";//要显示的字符串 char num,shi,fen,miao,nian=2000,yue,ri,week,numfun,anumfun,flag,flag1; uchar leap;
void delay(uint x){ uchar i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } void didi() { beep=0; delay(1000); beep=1; delay(1000); } void write_(uchar ){ lcdrs=0; P0=; delay(5); lcden=1; delay(20); lcden=0; } void write_date(uchar date){ lcdrs=1; P0=date; delay(5); lcden=1; delay(20); lcden=0; } void write_sfm(uchar add,uchar date){ uchar shi,ge; shi=date/10; ge=date%10; write_(0x80+0x40+add); write_date(0x30+shi); write_date(0x30+ge); } void write_nyr(uchar add,uchar date){ uchar shi,ge; shi=date/10; ge=date%10;
万年历系统——C语言完整版 实验十九:编写一个万年历系统 1.设计目的: 从实验的角度来看,这次课程设计一方面可以让自己巩固并加深对C语言程序设计知识的理解,掌握和提高C语言编程和程序的基本调试的基本技能,进一步理解和运用结构化程序的思想和方法;另一方面,可以让自己在面对一个全新的问题时,学会如何思考,如何寻找问题的关键,从而提升自己的能力。 2.总体设计: 1.、当前页以系统当前日期的月份为准,显示当前月的每一天(显示出日及对应的星期几); 2、当系统日期变到下一个月时,系统自动翻页到下一月。 3.调试与测试: 4.源程序清单和执行结果:
#include #include #include #include int leap(int year ) { if ((year %4 == 0) && (year % 100 != 0) || (year % 400 == 0)) { return 1; } return 0; } void show(int year,int month,int date,int sec,int mini,int hour) { const char month_str[][4]={"","Jan","Feb","Mar","Apl", "May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}; const int month_day[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int i,j,wdays,mdays,days; for(i=1,days=0;i万年历时钟芯片代码 万年历时钟芯片代码 /******************************************************************** * 文件名: 时钟DS1302LCD.c * 描述: 该程序实现了用单片机来控制时钟芯片DS1302进行时钟的显示。时钟会在1602上显示. * 创建人:东流,2012年2月7日 * 版本号:1.0 * 杜邦线接法:P3.5接J18的1端;J3.6接J18的2端;J3.7接J18的3端。1602接到J17的排座上。 ********************************************************************* **/ #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit ACC0 = ACC^0; sbit ACC7 = ACC^7; sbit T_CLK = P3^5; /*实时时钟时钟线引脚*/ sbit T_IO = P3^6; /*实时时钟数据线引脚*/ sbit T_RST = P3^7; /*实时时钟复位线引脚*/ //这三个引脚参考资料 sbit E=P2^7; //1602使能引脚 sbit RW=P2^6; //1602读写引脚 sbit RS=P2^5; //1602数据/命令选择引脚 /******************************************************************** * 名称: delay() * 功能: 延时,延时时间大概为5US。 * 输入: 无 * 输出: 无 ********************************************************************* **/ void delay() { _nop_();
万年历C语言代码 万年历C语言代码 #include main() { for(;;) { int year,month,a,b,c,m,n=28;/*定义变量*/ long e; printf("请输入年份"); scanf("%d",&year); e=year; e--; /*前一年*/ e=(e*365+e/4)%7; /*计算这一年的第一天是星期几*/ m=e; /*把第一天的日期赋给m*/ if((year%4==0)||(year%100!=0)&&(year%400!=0))/*如果是闰年*/ n++; printf("%d的日历:",year); for(month=1;month<=12;month++) { if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)/*这几个月每个月都是31天*/ { c=0; printf("\n"); printf(" %d月\n",month); printf(" 日一二三四五六\n"); for(b=1;b<=m;b++) { c++; printf(" ");/*从星期日开始到这个月开始的那天前都是空的*/ } for(a=1;a<=31;a++) { c++; if(c%7-1==0&&c!=1)/*判断一行是否已排满,满了就要换行*/ printf("\n"); if(a<10) /*如果是小于10,空一格,大于10,前后空*/ printf(" "); printf(" %d ",a); m++; if(m==7)/*一行排满,开始换行。(指的是这个月的最后一行)*/ m=0;
万年历C语言设计 万年历的设计: 要求:模仿现实生活中的挂历,能够显示年历、月历、日历,并具备退出功能。当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几)。当系统日期变到下一月时,系统自动翻页到下一月。 万年历的程序流程图: 主要程序流程图: 具体对于月份和年份的程序图如下:
上图为计算星期方法上图为打印日历程序图
万年历的设计的程序源代码: #include #include #include void f() { int day,month,year,sum,leap,S; printf("\n请输入年月日\n"); scanf("%d%d%d",&year,&month,&day); while(1) { if((month>12||month<1)||(day>31||day<1)) { printf("输入错误,重新输入"); scanf("%d%d%d",&year,&month,&day); } else break; } 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) sum++; S=(year-1+(year-1)/4-(year-1)/100+(year-1)/400+sum)%7; switch(S)
Java万年历源代码 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.DefaultTableModel; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; import java.util.TimeZone; publicclass wannianli extends Jframe//窗体类implements ActionListener,//事件处理接口MouseListener { private Calendar cld = Calendar.getInstance();//获取一个Calendar类的实例对象 private String[] astr = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" }; //JPanel是Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing包中,是一种轻量级容器,可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField等private DefaultTableModel dtm = new DefaultTableModel(null, astr);//创建了一个表格模型 private JTable table = new JTable(dtm); private JScrollPane sp = new JScrollPane(table); private JButton bLastYear = new JButton("上一年
万年历程序(不要嫌程序长,功能很齐全,而且对初学者很有帮助) #include #include #define uint unsigned int #define uchar unsigned char void Stopwatch(); //声明秒表函数 void Clock(); //声明闹钟函数 void Output(); //声明输出函数 void important(); //声明重要函数(相当于mian()函数) void TLimit(); //声明调节温度上下限函数 sbit DS1302_CLK = P1^7; //实时时钟时钟线引脚 sbit DS1302_IO = P1^6; //实时时钟数据线引脚 sbit DS1302_RST = P1^5; //实时时钟复位线引脚 sbit wireless_1 = P3^0; //温度过上限标志 sbit wireless_2 = P3^1; //温度适中标志 sbit wireless_3 = P3^2; //温度过下限标志 sbit fan = P3^4; //开风扇标志 sbit clock=P3^5; //开关闹钟 sbit setclock = P3^6; //闹钟开启控制 sbit stopwatch = P3^7; //秒表开启控制 sbit ACC0 = ACC^0; sbit ACC7 = ACC^7; char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year; //秒,分,时到日,月,年位闪的计数 sbit Set = P2^0; //模式切换键 sbit Up = P2^1; //加法按钮 sbit Down = P2^2; //减法按钮 sbit out = P2^3; //立刻跳出调整模式按钮 sbit DQ = P1^0; //温度传送数据IO口 char c3,c2=0; char c=0,LowerBonud=20,UpperLimit=30; char a1=0,a2=0,a3=0,a4=0; char k[8]={'0','0',':','0','0',':','0','0'}; void InitTimer0(void)//产生10ms时间间隔 { TMOD = (TMOD & 0XF0) | 0X01; //定时器0工作在模式1,16Bit定时器模式 TH0 = (65536 - 8000)/256; TL0 = (65536 - 8000)%256; TR0 =1; ET0 =1;//开启定时器和中断 EA = 1; } char done,count,temp,flag,up_flag,down_flag; // uchar temp_value; //温度值
jQuery万年历日历设置代码
jQuery万年历日历设置代码- A5源码