栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

★C/C++语言期末课程设计★——万年历显示系统(详细报告+源代码+详细注释)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

★C/C++语言期末课程设计★——万年历显示系统(详细报告+源代码+详细注释)

万年历显示系统报告

一、描述

        大家好!我是小浝仔,今天给大家分享C/C++语言期末课程设计——万年历显示系统,这个程序是用C/C++语言程序编写的,运行环境为VisualC++6.0,实现了①输入一个年份,在屏幕上显示该年的日历。假定输入的年份在1940—2040年之间。②输入年月,输出该月的日历。③如何让星期与下面的数字对齐,且第一行显示星期,从周日到周六,从第二行开始显示日期。④主函数显示主菜单界面,并进行多分支选择用循环结构造功能等等,是学习C/C++语言程序很好的参考资料,本系统在命令行窗口运行,没有可视化界面,也没有用到MFC类库,如果朋友们用来学习或做C/C++语言期末课程设计作业一定是可以的,我来共享给大家一些哦!!!要是觉得好的话,记得给个三连!!!亲测有效哦!!!

        在此声明一下,对之前发布的文章出现错误、无法运行、丢失数据等情况,非常感谢大家的反馈!后期我将会一一进行改进完善。对于每个系统测试环境,我都是在VisualC++6.0上运行成功后再发布出来的,至于其他环境例如Visual Studio等等,还请大家自行测试!!!

有问题或意见,请及时联系我: 

CSDN:小浝仔_CSDN博客https://blog.csdn.net/m0_46843484?spm=1000.2115.3001.5343

版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

二、课程设计的目的及要求

        《C/C++程序设计》课程设计是计算机专业的集中实践性环节之一,是学习完《C/C++程序设计》课程后进行的一次全面的综合实训。其目的就是要训练学生采用面向过程和面向对象的设计理解,进行分析、设计和实现的程序的能力,达到理论与实际应用的相结合。通过本课程设计使学生能够熟练掌握面向过程和面向对象的程序设计方法;并能够完成软件的需求、设计和实现。

        1)培养学生面向过程和面向对象分析和设计能力。

        2)培养学生面向过程和面向对象程序开发能力。

        3)培养学生文字论述规范、清晰、严谨的能力。

三、需求分析

        1、问题陈述

                ①输入一个年份,在屏幕上显示该年的日历。假定输入的年份在1940—2040年之间。

                ②输入年月,输出该月的日历。

                ③如何让星期与下面的数字对齐,且第一行显示星期,从周日到周六,从第二行开始显示日期。

                ④主函数显示主菜单界面,并进行多分支选择用循环结构造。

        2、功能需求分析

                ①菜单显示:

               ②用户可以通过主菜单选择不同的选项输入:

                        输入1,通过输入年份可以显示该年的日历;

                        输入2,通过输入年月可以显示当前年份中该月的日历;

                        输入3,则退出查询系统。

               ③系统输入任一年的年份,输出该年的日历(星期、月份中英文均可)。第一行显示星期,从周日到周六,从第二行开始显示日期,并与星期垂直对齐,日期从1号开始。

              ④主函数显示主菜单界面,并根据菜单进行多分支选择。

四、总体设计

        1、功能结构图设计

 五、模块详细设计

        1、输入所查询年份的日历

               当我们输入任意公元年份year时,可以通过一个for语句,算出从公元一年到year-1年的总天数,这其中要注意平年与闰年的区别,平年365天,闰年366天;还有闰年二月是29天,平年是28天,把这一部分用Then()函数表示。算出总天数Z后,用Z初以7,余数是d,则year这一年的一月一日便是星期d。如此一月的日历可表示出来。然后把Z加上一月的天数tian得到的新值赋给Z,再用Z除以7,重新得到新的余数d,如此可知二月的第一天是星期几,可表示出二月的日历。依次循环,用for(i=1;i<=12,i++)语句可表示出该年的日历。

        2、输入所查询月份的日历

                当我们输入m和n时,还是用Then()函数算出公元一年一月一日到year-1年的总天数Z,再用一个for(j=1;j

 六、编码

        1、判断是否为闰年
int Then(int A)//该函数为判断输入的年份是否为闰年或者平年;
{
	int i,s=0,day;
	for(i=1;i<=A-1;i++)//运用for循环语句
	{
		if(i%4==0&&i%100!=0||i%400==0)//此公式为判断是否为闰年
			day=366;
		else
			day=365;
		s=s+day;}
	return s;	
}

        2、判断每个月的天数
int There(int B,int C)//该函数为判断输入的月份有多少天;
{	
	int tian;
	switch(C)//调用多分支语句
	{	
case 1:				tian=31;break;//以下为1~12月每个月所对应的天数, 
	case 2:		//其中闰年二月为29天,平年二月为28天。			  
		if(B%4==0&&B%100!=0||B%400==0)
							tian=29;
		else 
							tian=28;break;
	case 3:					tian=31;break;
	case 4:					tian=30;break;
	case 5:					tian=31;break;
	case 6:					tian=30;break;
	case 7:					tian=31;break;
	case 8:					tian=31;break;
	case 9:					tian=30;break;
	case 10:				tian=31;break;
	case 11:				tian=30;break;
	case 12:				tian=31;break;
	}
	return tian;
}

七、运行截图和测试

        1、系统设置界面

        2、年份日历查询

        3、月份日历查询

        4、退出界面 

八、总结及建议

            通过这次的年历显示设计实验报告中,使我加深了对C++语言理解,也使我对函数的调用与套用、循环体结构运用的更加灵活。在测试和调试的过程中,语法上有一些不足,以及星期与下面的数字垂直对齐有些缺陷。但,通过查阅书籍以及材料,弥补了语法上的不足,而通过反复的调试与修改后,使得日历更加美观。

           这次实验巩固了我学过的基础理论知识,提高了我的实践能力和计算机的综合运用能力。同时也发现了自己的不足以及缺点,对学过的知识不能进行及时的复习,这便造成学过知识的还不能熟练的运用,这会给今后的学习造成很大的影响,在以后的学习生活中要做到对所学过的知识进行及时的复习,锻炼和培养自己解决问题的能力,做一个积极的学习者。

九、源代码

注意:保存数据文件文本需要提前建立好,并修改源程序中的文件的目录。如果建立好开发环境(VisualC++6.0,其他环境自测,如不行可下载工程文件),直接拷贝代码,即可运行!亲测有效!!! 

# include 
int Then(int A)//该函数为判断输入的年份是否为闰年或者平年;
{
	int i,s=0,day;
	for(i=1;i<=A-1;i++)//运用for循环语句
	{
		if(i%4==0&&i%100!=0||i%400==0)//此公式为判断是否为闰年
			day=366;
		else
			day=365;
		s=s+day;}
	return s;	
}
int There(int B,int C)//该函数为判断输入的月份有多少天;
{	
	int tian;
	switch(C)//调用多分支语句
	{	
case 1:				tian=31;break;//以下为1~12月每个月所对应的天数, 
	case 2:		//其中闰年二月为29天,平年二月为28天。			  
		if(B%4==0&&B%100!=0||B%400==0)
							tian=29;
		else 
							tian=28;break;
	case 3:					tian=31;break;
	case 4:					tian=30;break;
	case 5:					tian=31;break;
	case 6:					tian=30;break;
	case 7:					tian=31;break;
	case 8:					tian=31;break;
	case 9:					tian=30;break;
	case 10:				tian=31;break;
	case 11:				tian=30;break;
	case 12:				tian=31;break;
	}
	return tian;
}
void  output_year()
{	
	int year,d,j,Z,di,did;
	printf("请输入你所查询日历的年份:");
	scanf("%d",&year);
	Z=Then(year);
	for(j=1;j<=12;j++)
	{	
		d=Z%7;
		printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n");
		printf(" %d SUM  MON  TUE  WED  THU  FIR  SATn",j);//该语句为输出屏幕显示星期的英文缩写。
		if(d<6)//以下几行语句使星期与下面的数字垂直对齐,使输出的日历更加美观。
		for(di=1;di<=d+1;di++)
			printf("     ");
		for(did=1;did<=There(year,j);did++)
		{	
			printf("%5d",did);
			if(did==6-d||(did-6+d)%7==0||did==There(year,j))
				printf("n");
		}
		Z=Z+There(year,j);
	}
}
void output_month()
{
	int m,n,j,Z,D,di,did,d;
	printf("请输入你所查询日历的年月:");
	scanf("%d %d",&m,&n);
	Z=Then(m);
	for(j=1;j<=n-1;j++)
	{	D=There(m,j);
		Z=Z+D;
	}
		d=Z%7;
		printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~n");
		printf(" %d SUM  MON  TUE  WED  THU  FIR  SATn",j);//该语句为输出屏幕显示星期的英文缩写。
		if(d<6)//以下几行语句使星期与下面的数字垂直对齐,使输出的日历更加美观。
		for(di=1;di<=d+1;di++)
			printf("     ");
		for(did=1;did<=There(m,j);did++)
		{	
			printf("%5d",did);
			if(did==6-d||(did-6+d)%7==0||did==There(m,j))
				printf("n");
		}
}

int main()
{	
	int number;
		do{	//运用循环结构输出主菜单;
			printf("1.年份日历查询!n");
			printf("2.年月日历查询!n");
			printf("3.退出!n");
			printf("请选择1,2,3!n");
			scanf("%d",&number);
			switch(number)//运用函数的调用与套用以及采用多分支结构。
				{	
					case 1:  output_year();break;
					case 2:  output_month();break;
					case 3:  return (0);break;
					default: break;
				}
		}
		while(1);
		return 0;
}

十、其他期末课程设计系统(开源)

؂<๑)的博客-CSDN博客_教师工资管理系统c语言课程设计">★C语言期末课程设计★——教师工资管理系统(详细报告+源代码+详细注释)_小浝仔(๑>؂<๑)的博客-CSDN博客_教师工资管理系统c语言课程设计

؂<๑)的博客-CSDN博客_c语言期末课程设计作业">★C语言期末课程设计★——成绩管理系统(源代码+详细注释)_小浝仔(๑>؂<๑)的博客-CSDN博客_c语言期末课程设计作业

؂<๑)的博客-CSDN博客_超市管理系统c语言">【C语言期末课程设计】——超市管理系统(开源)_小浝仔(๑>؂<๑)的博客-CSDN博客_超市管理系统c语言

؂<๑)的博客-CSDN博客_c++期末设计">★C/C++期末课程设计★—☆产品入库管理操作系统☆【开源+详细注释】_小浝仔(๑>؂<๑)的博客-CSDN博客_c++期末设计

؂<๑)的博客-CSDN博客_c语言职工工作量统计系统">【C&C++期末课程设计】——职工工作量统计系统(源代码+详细注释)_小浝仔(๑>؂<๑)的博客-CSDN博客_c语言职工工作量统计系统

؂<๑)的博客-CSDN博客">​​​​​​【C&C++期末课程设计】——职工资源管理系统(源代码+详细注释)不要错过哦。_小浝仔(๑>؂<๑)的博客-CSDN博客

؂<๑)的博客-CSDN博客_个人收支管理系统">C&C++期末课程设计——个人收支管理系统(一)【源代码+详细注释】_小浝仔(๑>؂<๑)的博客-CSDN博客_个人收支管理系统

؂<๑)的博客-CSDN博客_c++学生成绩管理系统代码">C&C++期末课程设计——学生成绩管理源代码_小浝仔(๑>؂<๑)的博客-CSDN博客_c++学生成绩管理系统代码

؂<๑)的博客-CSDN博客_图书馆管理系统源代码">C&C++期末课程设计——图书管理系统源代码_小浝仔(๑>؂<๑)的博客-CSDN博客_图书馆管理系统源代码

؂<๑)的博客-CSDN博客_c语言客房管理系统">C++期末课程设计——宾馆客房管理系统(详细报告+源代码+详细注释)(另附加“25+”C++&&C语言期末课程设计系统下载地址)_小浝仔(๑>؂<๑)的博客-CSDN博客_c语言客房管理系统

؂<๑)的博客-CSDN博客_产品管理系统">C&C++期末课程设计——产品管理系统(源代码+详细注释)_小浝仔(๑>؂<๑)的博客-CSDN博客_产品管理系统

十一、附载/下载地址

注意

下面附载了“25+”C++&&C语言期末课程设计下载地址(超详细),每个系统的简介都详细介绍了本系统的实现功能,可以根据功能查找自己所需要的。

C&C++期末课程设计

C&C++——文件成绩(源代码)-C/C++文档类资源-CSDN文库

C&C++课程设计——图书管理系统.zip_图书管理系统c++增添删除-C/C++文档类资源-CSDN文库

C&C++课程设计——学生成绩管理系统.zip-C/C++文档类资源-CSDN文库

C/C++课程设计——职工工作量统计系统(源代码、注释).zip-C/C++文档类资源-CSDN文库

C&C++课程设计——班级学生档案管理系统源代码(源代码+注释).zip-C/C++文档类资源-CSDN文库

C&C++期末课程设计——KTV歌曲管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C&C++期末课程设计——产品信息管理系统(源代码+详细注释)-C/C++文档类资源-CSDN文库

 C&C++期末课程设计——个人收支管理系统(源代码+详细注释)-C/C++文档类资源-CSDN文库

 C&C++期末课程设计——职工资源管理系统(源代码+详细注释)-C/C++文档类资源-CSDN文库

C&C++期末课程设计——个人收支管理系统(二)(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言期末课程设计

C语言课程设计——教工工资管理系统(源代码+课程设计+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——成绩管理系统源程序.zip-C/C++文档类资源-CSDN文库

C语言课程设计——超市管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——火车票订票管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——商品销售系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——通讯录管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——图书管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——图书借阅系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——万年历系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——文本编辑器系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——学生成绩管理系统.zip-C/C++文档类资源-CSDN文库

 C语言课程设计——学生成绩管理系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——学生信息系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

C语言课程设计——做的绘图板系统(源代码+详细注释).zip-C/C++文档类资源-CSDN文库

 -  版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971719.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号