c语言万年历的概述(c语言编写万年历)

今天给各位分享c语言万年历的概述的知识,其中也会对c语言编写万年历进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、c语言设计万年历2、万年历(C语言编程)3、万年历C语言4、C语言万年历项目概述(如何做这个项目)

c语言设计万年历

/*不过除了没有查询某年某月某日是这一年的第几天。。和判断这一年的生肖外,都能满足你的要求。

加点金币帮你完善点!*/

#includestdio.h

int

Swiss(int

Years)

//判断是否是闰年

{

if(!(Years%100))

{

Years=Years/100;

}

if(Years%4)

{

return

0;

}

else

{

return

1;

}

}

int

Number(int

Yearsa,int

Yearsb)

//已知两个年份,求出两个年份之间闰年的个数

{

int

i=Yearsa+1;

int

mou=0;

do{

if(Swiss(i))

{

mou++;

}

i++;

}while(iYearsb);

return

mou;

}

int

Mvalue(int

Years,int

Month,int

Day)

//已知年月日,求出某年某月某日是星期几

{

int

M[12]={0,3,3,6,1,4,6,2,5,0,3,5};

//月值

int

N=6;

//年值初始化

int

a;

if(Years2006)

//求年值,年值以2006年为基数

{

N=6-((2006-Years)%7)-Number(Years,2006);

if(Swiss(Years))

{

if(Month3)

{

N–;

}

}

}

else

if(Years2006)

{

N=((Years-2006)%7)-1+Number(2006,Years);

if(Swiss(Years))

{

if(Month2)

{

N++;

}

}

}

a=(Day+M[Month-1]+N)%7;

//某年某月某日是星期几=(日值+月值+年值)%7

return

a;

}

int

Amonth(int

Month)

//已知月,求出这个月是大月还是小月

{

switch(Month)

{

case

1:

case

3:

case

5:

case

7:

case

8:

case

10:

//1,3,5,7,8,10,12是大月,没月31天

case

12:return

1;

case

4:

case

6:

case

9:

case

11:return

0;

//4,6,9,11是小月,每月30天

case

2:return

2;

//二月份

}

return

-1;

}

void

main

()

{

int

Dtable[7][7];

int

i,j;

int

Years=9999;

int

Month=12;

int

Day=1;

int

b;

for(i=0;i7;i++)

//初始化数组

{

Dtable[0][i]=i;

}

for(i=1;i7;i++)

{

for(j=0;j7;j++)

{

Dtable[i][j]=0;

}

}

i=Mvalue(Years,Month,Day);

switch(Amonth(Month))

{

case

0:b=30;break;

case

1:b=31;break;

case

2:if(Swiss(Years))b=29;else

b=28;break;

//闰年2月29天,平年二月28天

default:b=-1;break;

}

for(;i7;i++)

{

Dtable[1][i]=Day++;

}

for(i=2;i7;i++)

{

for(j=0;j7;j++)

//建造日历表

{

if(Day=b)

{

Dtable[i][j]=Day++;

}

else

{

continue;

}

}

}

printf(“%d:%d\n”,Years,Month);

for(i=0;i7;i++)

//输出日历表

{

for(j=0;j7;j++)

{

printf(“%3d”,Dtable[i][j]);

}

printf(“\n”);

}

getch();

//完毕!

}

万年历(C语言编程)

#includestdio.h

#includetime.h

int leap (int year)//判断闰年

{

if(year%4==0year%100!=0||year%400==0)

return 1;

else return 0;

}

int days_month (int month,int year)//判断月

{

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)

return 31;

if(month==4||month==6||month==9||month==11)

return 30;

if(month==2leap(year)==1) return 29;

else return 28;

}

int firstday(int month,int year)//判断年

{

int w;

w=(1+2*month+3*(month+1)/5+year+year/4+year/400-year/100)%7+1;

return w;

}

main()

{

//调用系统时间

time_t tval;

struct tm *now;

tval = time(NULL);

now = localtime(tval);

printf(“现在时间: %4d年 %d月 %02d日 %d:%02d:%02d\n”, now-tm_year+1900, now-tm_mon+1, now-tm_mday,

now-tm_hour, now-tm_min, now-tm_sec);

//调用结束

int i,j=1,k=1,a,b,month,year;

b=days_month(now-tm_mon+1,now-tm_year+1900);

a=firstday (now-tm_mon+1,now-tm_year+1900);

printf(” Sun Mon Tue Wed Thu Fri Sat \n”);

if(a==7)

{

for(i=1;i=b;i++)

{

printf(“%4d”,i);

if(i%7==0)

{

printf(“\n”);

}

}

}

if(a!=7)

{

while (j=4*a)

{

printf(” “);

j++;

}

for(i=1;i=b;i++)

{

printf(“%4d”,i);

if(i==7*k-a)

{

printf(“\n”);

k++;

}

}

}

printf(“\n”);

}

c语言万年历的概述(c语言编写万年历)

万年历C语言

//完全手打,按楼主要求编的,支持的年份从1-无穷

#include stdio.h

#include conio.h

#include windows.h

#define TRUE 1

#define FALSE 0

int isDate(int year, int month, int day)

{

if((day 1) || (day 31) || (month 1) || (month 12) || (year 1))

{

return FALSE;

}

switch(month)

{

case 1: case 3: case 5: case 7: case 8: case 10: case 12:

return day=31 ? TRUE : FALSE;

case 4: case 6: case 9: case 11:

return day=30 ? TRUE : FALSE;

case 2:

if((0 == year%4) (0 != year%100) || (0 == year%400))

{

return day=28 ? TRUE : FALSE;

}

else {

return day=29 ? TRUE : FALSE;

}

}

return FALSE;

}

int getDayOfMonth(int year, int month)

{

switch(month)

{

case 1: case 3: case 5: case 7: case 8: case 10: case 12:

return 31;

case 4: case 6: case 9: case 11:

return 30;

case 2:

if((0 == year%4) (0 != year%100) || (0 == year%400))

{

return 29;

}

else

{

return 28;

}

}

return 0;

}

int getIndexOfWeek(int year, int month, int day)

{

int i, dayOfThisYear = 0;

for(i=1; imonth; i++)

{

dayOfThisYear += getDayOfMonth(year, i);

}

dayOfThisYear += day-1;

return ((year – 1) * 365 + (year – 1) / 4 – (year – 1) / 100 + (year – 1) / 400 + dayOfThisYear) % 7;

}

void getDayOfWeek(void)

{

int index, year, month, day;

char *week[7] = {“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”};

printf(“请输入年月日,用空格分开:\n”);

while(1)

{

scanf(“%d%d%d”, year, month, day);

if(isDate(year, month, day))

break;

printf(“输入的日期不合法,请重新输入: \n”);

}

printf(“%d年%d月%d日: “, year, month, day);

index = getIndexOfWeek(year, month, day);

printf(“%s\n”, week[index]);

}

void isLeapYear(void)

{

int year;

printf(“请输入要查询的年份:\n”);

while(1)

{

scanf(“%d”, year);

if(year = 1)

break;

printf(“输入的年份不合法,请重新输入: \n”);

}

((0 == year%4) (0 != year%100) || (0 == year%400)) ? printf(“是闰年。\n”) : printf(“不是闰年。\n”);

}

void getMaxDayOfMonth(void)

{

int year, month;

printf(“请输入年月,用空格分开:\n”);

while(1)

{

scanf(“%d%d”, year, month);

if((year = 1) (month = 1) (month = 12))

break;

printf(“输入的日期不合法,请重新输入: \n”);

}

printf(“该月份最大天数为: %d天\n”, getDayOfMonth(year, month));

}

void getCalendarOfYearMonth(int year, int month)

{

int index, i, day;

printf(“\n%d年%d月\n”, year, month);

printf(“%-8s%-8s%-8s%-8s%-8s%-8s%-8s\n”, “Sun”, “Mon”, “Tues”, “Wedn”, “Thur”, “Fri”, “Sat”);

index = getIndexOfWeek(year, month, 1);

if(6 != index)

{

for(i=0; i=index; i++)

{

printf(“%8s”, “”);

}

}

for(day=1; day = getDayOfMonth(year, month); day++)

{

printf(“%-8d”, day);

if(5 == getIndexOfWeek(year, month, day))

printf(“\n”);

}

}

void getCalendarOfYear(int year)

{

int month;

for(month=1; month=12; month++)

{

getCalendarOfYearMonth(year, month);

printf(“\n”);

}

}

void getCanlendar(void)

{

int year, month, n;

printf(“要查询某年的日历还是某年某月的日历? (按1选择某年, 2选择某年某月): \n”);

while(1)

{

n = getch();

if((n = ‘1’) (n = ‘2’))

break;

}

if(‘1’ == n)

{

printf(“请输入要查询的年份:\n”);

while(1)

{

scanf(“%d”, year);

if(year = 1)

break;

printf(“输入的年份不合法,请重新输入: \n”);

}

getCalendarOfYear(year);

}

else

{

printf(“请输入年月,用空格分开:\n”);

while(1)

{

scanf(“%d%d”, year, month);

if((year = 1) (month = 1) (month = 12))

break;

printf(“输入的日期不合法,请重新输入: \n”);

}

getCalendarOfYearMonth(year, month);

}

}

int main()

{

int n;

//menu是个数组,其元素是个指针,该指针指向一个函数

void (*menu[])(void) = {getDayOfWeek, isLeapYear, getMaxDayOfMonth, getCanlendar};

printf(“欢迎来到万年历~\n”);

while(1)

{

printf(“请选择菜单:\n”);

printf(“1-查询某年某月某日是星期几\n”);

printf(“2-查询某年是否闰年\n”);

printf(“3-查询某月的最大天数\n”);

printf(“4-查询某年(某月)月历\n”);

printf(“0-退出\n”);

while(1)

{

n = getch();

if((n = ‘0’) (n = ‘4’))

break;

}

if(‘0’ == n)

break;

(*menu[n-‘1’])(); //调用函数

printf(“\n”);

system(“pause”);

}

printf(“\n谢谢使用~\n”);

system(“pause”);

return 0;

}

C语言万年历项目概述(如何做这个项目)

首先,打开VC++6.0,依次选取“File(中文版的为‘文件’,以后不再提示)”——“New(新建)”菜单项,打开New窗口后,选取Projects(工程)选项卡,再选取MFC AppWizard(exe)项,先在Location(位置)编辑框中输入工程地址,再在Project name(工程)编辑框中输入工程文件名,单击“OK(确定)”按钮,在打开的新窗口中选取Dlalog based(基本对话)单选钮,单击finish(完成)按钮,再在打开的新窗口中单击OK(确定)按钮即可创建一个空白的对话框,删除其中不需要的控件,再在上面拉出一个Date Time Picker控件,再单击运行按钮即可。

c语言万年历的概述的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言编写万年历、c语言万年历的概述的信息别忘了在本站进行查找喔。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年4月2日 08:41:15
下一篇 2024年4月2日 08:48:27

相关推荐

  • 查看c语言的安卓软件,c语言 安卓

    手机c语言编程软件哪个好 NO.1c4droid一款手机上的c语言编译器。个人认为手机上最好用的,没有之一!c4droid是款Android设备上的C/C++程序编译器。NO.2AIDE功能强大,内置学习教程。 在手机上,可以使用C语言编译器或C++编译器;在电脑上,常用的软件包括VisualC++、TurboC、BorlandC++Compiler、Dev…

    2024年5月20日
    7700
  • c语言题目广度优先,广度优先搜索c语言代码

    c语言关于图的广度优先遍历 1、深度优先是沿着一条路走到底,走不通了或到头了,再回溯,再搜索。 2、实现深度优先和广度优先两种遍历算法。要求输入图的顶点数,边数,边的偶对,建立图的邻接表。为了测试图的邻接表建立的是否正确,要求实现邻接表输出功能。输入用户指定的起… 实现深度优先和广度优先两种遍历算法。 C语言广度优先搜索,代码1、广度优先搜索算法…

    2024年5月20日
    3300
  • c语言关闭excel,c语言关闭文件的函数

    c语言:对文件打开和关闭的含义是什么?为什么要打开和关闭文件? 1、一方面,文件是系统中的一种资源,打开文件是对资源的占用,若不关闭,则别的程序就不能使用此资源。 2、文件在进行读写操作之前要先打开,使用完毕要关闭。所谓打开文件,实际上是建立文件的各种有关信息,并使文件指针指向该文件,以便进行其它操作。关闭文件则断开指针与文件之间的联系,也就禁止再对该文件进…

    2024年5月20日
    3800
  • 计算圆的周长c语言,c语言求圆的周长和面积oj

    编程从键盘输入圆的半径r,计算并输出圆的周长和面积.{用C语言编写}谢… 圆面积公式: S=πr圆周长公式: C=2πr 算法设计:输入半径r值;根据数学公式,分别计算面积和周长;输出结果。 C语言程序设计编程题: 从键盘输入圆的半径,计算圆的周长和面积,并输出计算结果,输出时要求有文字说明,取小数点后2位数字。 2,从键盘输入一个大写字母,在显…

    2024年5月20日
    3900
  • c语言不用,c语言不用编译可直接运行

    C语言中,怎样不用中间变量而互换两个变量的值呢? 有两种方式:1 通过加法交换a,b的值。设a,b原始值为A,B a +=b; //这时a=A+B; b=B b = a-b; //b = a-b=A a = a-b;// a=a-b = B 实现交换。2 通过异或。 加减法 比如 a=a+b b=a-b a=a-b 当然 这种方法不怎么好 因为它可能会出现精…

    2024年5月20日
    3700
  • c语言人机对战井字棋,c语言井字棋双人小游戏

    这是一个关于C语言的问题,在井字棋局中如何确定的玩家落子?求解… 简单来说,定义数据结构(比如棋盘数组,棋盘格子以及棋子,双方玩家等相关的数据结构表示),定义规则(比如同一个位置不能放两颗棋子,三颗棋子连线放胜利)。具体取决于需求,比如图形表示和AI(人工智能)等等。 其次,在进行赋值运算的时候是从右向左进行的,故应该是行执行*from(即取值)…

    2024年5月20日
    7700
  • 如何用mac写c语言程序,如何用mac写c语言程序文件

    Mac系统怎样使用终端编写c语言程序 Mac电脑上使用终端来编写c语言程序。找到终端。打开终端,输入 cd /Users/mac/desktop/c到指定目录文件夹下。输入 vim hello.c,用vim编辑hello.c文件。按i进入编辑状态,输入要程序的代码。 使用Xcode软件。Xcode是一个苹果系统上的集成开发环境(IDE),就是说用Xcode就…

    2024年5月20日
    6000
  • c语言链接sqlserver,C语言链接文件

    C语言编辑编译连接的作用是什么 1、编辑:就是写代码或修改代码,制作C语言的源文件和头文件。2 编译:是由编译程序将C语言源文件转换成二进制中间文件,在这一步中,会对文件内部的语法语义做处理,如果编译出错,无法进行后续动作。 2、编辑:编写代码,制作C语言的源文件。编译:是由编译程序将C语言源文件转换成二进制中间文件,对文件内部的语法语义做处理,如果编译出错…

    2024年5月20日
    3700
  • c语言%fn,c语言fn+f10的功能是什么

    C语言编程问题请教 1、若后台已经有黑框再运行,则结束黑框;若无黑眶,可能是main函数出了问题,可查看是否把函数的定义写到了main函数中。 2、把代码中80=x90,改成x=80&&x90。把代码中70=x80,改成x=70&&x80。把代码中60=x70,改成x=60&&x70。就可以了。 3、(4) C…

    2024年5月20日
    4000
  • 7寸液晶屏c语言旋转,c语言液晶屏显示

    用c语言实现将bmp图片(黑白单色)进行任意角度旋转。求高手给完整代码… 1、int bitmapToGray(char *OriginalBMP,char *ResultBMP); //声明了一个函数将bitmap转换为灰度图像,括号里面的是输入的变量。这个相当于告诉编译器,后面会有一个函数叫这个名字,但没有具体定义函数内容。 2、先去看看bm…

    2024年5月20日
    3700

发表回复

登录后才能评论



关注微信