IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 从零开始学习C++ Day 013 -> 正文阅读

[C++知识库]从零开始学习C++ Day 013

本科郑州大学应用化学系,研究生福州大学物理化学,后从事营地教育两年,现在跨专业考研至计算机。

写这个文章记录的初衷是希望通过这样的方式来监督自己每日学习一定量的编程保持练习,虽然初试的成绩还未出。但只要有一线希望自然应该是百倍努力来准备复试,希望自己不会对任何结果后悔,而只有努力才不会后悔。

今日学习总结:今日编完了日历代码,整个日历跑通的那一刻真的非常开心,那种开心是一种发自内心的开心,感觉按照自己的思维逻辑写出来的代码竟然也能跑了,我这个学计算机学了一年的人终于也可以写出一个具有一定实用意义的日历了,那种我终于入门的感觉,那种我终于编了一个100+行的完整程序的感觉,那种自己终于变成了想象中的那些可以对着黑色屏幕编出代码的人的感觉,因为我一直觉得那样写代码的人好酷,一写就是几千几万行代码,太tm帅了吧。

越发的感觉到了写代码的逻辑性,只要逻辑对了,基本上就没问题。这种及其强的逻辑性给我一种非常扎实和踏实的感觉。

自己也终于可以写一个了,虽然模仿了别人的思路,可是代码是我自己实现的,虽然被伙计找了几个bug但整体还可以,后续会修改好。

这也是我第一个“程序”,开心激动!

今日代码惊喜:今天特别设置了一个彩蛋,感觉有点浪漫哈哈哈哈,送给我的日历监督者,没有这位伙计的监督和deadline,我可能再过一个月也不会写出日历来。感谢。(请原谅我的过多的goto语句,我真的觉得现阶段比较菜的时候好用)

?今日代码码量:如下

今日疑惑记录:形参与实参的关系,位置,实现还是不熟悉。数组还是不熟悉。

明日学习展望:好好学习!兑现诺言!

日历代码放在这里,有需要可以自取。实现了1900年后的每个月的日历的呈现。

#include <stdio.h>

int ping[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int run[12]={31,29,31,30,31,30,31,31,30,31,30,31};    //闰年(run)、平年(ping)每月的天数
int year,month,day;

//void printframe()    //输出日历分隔线 
//void printtitle(int x_month)    //输出日历头部 
//int leap(int x_year)    //闰年与平年的判定 
//int thesum(int x_year,int x_month)    //输出距离1900年到输入的年份和月份的天数
//void printcontent()    //输出日历所在月份内容 

void printframe()    //输出日历分隔线 
{
	printf("************************************************************************\n"); 
}

void printtitle(int x_month)    //输出日历头部 
{
	char weekday[7][7]={
	"星期一",
	"星期二",
    "星期三",
	"星期四",
	"星期五",
	"星期六",
	"星期日",	
	};
	printf("                            ♂爱の %d 月日历                           \n",x_month);
	printframe();
	for(int i=0;i<7;i++)
	    printf("%10s",weekday[i]);
}

int leap(int x_year)    //闰年与平年的判定 
{
	int a,b,c;
	a=x_year%4;
	b=x_year%100;
	c=x_year%400;
	if(a==0&&b!=0)    //能被4整除,但不能被100整除,比如1900年就不是闰年。此为小闰
        return 1;
	else if(a==0&&b==0&&c==0)    //能被4,100,400都整除,此为大闰 
	    return 1;
	else
	    return 0;    //利用返回值来返回闰年还是平年,闰年为1,平年为0 
}

int thesum(int x_year,int x_month)    //输出距离1900年到输入的年份和月份的天数 
{
	int sum=0;
	int m,y;
	for(y=1900;y<x_year;y++)
	{
		if(leap(y)==1)    //如果返回值是1说明是闰年则总天数+366,如果返回值是0则+365 
	        sum=sum+366;
	    else    
	        sum=sum+365;
	}
	for(m=0;m<x_month-1;m++)    //月份如果是闰年则输出闰年每月天数,平年同理。且加的最后月份的天数为前一个月,比如输入为3月,则只加1、2月天数 
	{
		if(leap(y)==1)
		    sum=sum+run[m];
		else
		    sum=sum+ping[m];
	}
	return sum;
}

void printcontent()    //输出日历所在月份内容 
{   
    int qiuhe;
    int printspace;
    int printday;
	qiuhe=thesum(year,month);
	printspace=qiuhe%7;
	for(int i=0;i<printspace;i++)
	    printf("          ");    //打印每个月前面的空格 
	printday=7-printspace;
	if(leap(year)==1)     
    {
    	for(int j=1;j<=run[month-1];j++)
    	{
    	    if((j-printday)==0||(j-printday)%7==0)    //换行 
    	    	printf("%10d\n",j);
    	    else
    	    	printf("%10d",j);
		}	
	}
	else
	{
    	for(int k=1;k<=ping[month-1];k++)
    	{
    	    if((k-printday)==0||(k-printday)%7==0)
    	    	printf("%10d\n",k);
    	    else
    	    	printf("%10d",k);
		}	
	}
	
}

main()
{
	char p,w;
	k:printf("Please input year:xxxx\n");
	printf("Please input month:xx\n");
	printf("Please input day:xx\n");
	scanf("%d%d%d",&year,&month,&day);
	printtitle(month);
	printf("\n");
	printcontent();
	printf("\n");
	printframe();
	printf("\n\n");
	t:printf("if you want to do more research, please input 1, if you want to do some interesting question, please input 2\n");
	printf("Input 3 to stop this program\n");
	scanf("%d",&w);
	if(w==1)
	    goto k;
	else if(w==2)
	{
		g:printf("鸟的名字是什么?1:情圣李加陈;2:博士后辰哥;3:迷人的小雀雀;4:李佳辰\n"); 
		scanf("%d",&p);
		if(p==4)
		{
		    printf("*****************************");
			printf("\n\n\n\n你是傻逼\n\n\n\n");
			printf("*****************************\n");
		    goto t;	
		}
		else 
		    goto g;
    }
    else
        printf("程序结束,感谢使用\n");
	
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-03 01:01:01  更:2022-02-03 01:01:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:43:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码