ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

听说最近圣诞树很流行啊,程序员式浪漫来咯~

2021-12-24 20:00:54  阅读:160  来源: 互联网

标签:ch 函数 int void printf 程序员 浪漫 圣诞树


在这里插入图片描述

文章目录

前言

Merry Christmas,everyone! 圣诞节到了,大家都在开心的谈论到圣诞树和圣诞老人等有趣的话题。然后作为代码人,仍然也离不开生活,当然生活也离不开代码哈!
在生活中有很多浪漫,提到代码人或程序员,大家都只能想到他们只会埋头敲键盘,除了敲代码还是敲代码!这样的认知是片面的,程序员也有自己的趣事,也也拥有程序员式浪漫!这里我们就来看一个简单的程序员式浪漫吧!今天,forever 将给大家带来一棵圣诞树哦~快去将此树送给你们最亲最爱的人吧!

正文

一、圣诞树实现的基本流程

1、创建工程,首先考虑自己的整个工程需要由多少头文件和源文件组成,forever 的详细工程创建如下面分析;
2、考虑好对应给每个文件分配什么内容(头文件和源文件),即它们的作用;
3、接下来放主函数,以主函数为主干,对其进行分支;
4、祝福语函数的实现;
5、菜单函数的实现;
6、圣诞树由四层组成,首先打印圣诞树树顶;
7、打印圣诞树第二层;
8、打印圣诞树第三层;
9、打印圣诞树底部;
10、完整的圣诞树。

二、整个程序由多文件实现

1、test.h 文件

test.h 文件是程序整体的头文件,它包含库函数头文件的引用、宏定义以及函数的声明。

头文件代码如下:


#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define HIGH1 8
#define HIGH2 16
#define WIDE  6
#define C 8
void manu();
void Blessingwords();//祝福语函数
void firsttree(char ch[C], int c, int n);//打印第一层树顶函数
void secoundtree(char ch[C], int c, int n);//打印圣诞树第二层函数
void threetree(char ch[C], int c, int n);//打印圣诞树第三层函数
void underthetree(char ch[C], int c, int n);//打印圣诞树底层函数
void loverheart();//打印爱心函数

2、test.cpp源文件

这个源文件里放的是主函数,是整个程序的主体。



#include "test.h"

int main()
{
	srand((unsigned int)time(NULL));//生成随机值的前缀
	Blessingwords();//调用祝福语函数
	printf("\n");
	unsigned int m = 0;
	do
	{
		unsigned int n = 0;
		char ch[C] = "!@#$%&*";
		manu();//调用菜单函数
		printf("宝儿,请选择以上数字后按enter:");
		scanf("%d", &m);
		printf("\n");
		switch (m)
		{
		case 0:printf("宝儿,请收好你的专属圣诞树,虽然圣诞节是西方节日,但仍然在这里祝你圣诞节快乐,祝你每天都开开心心的!\n"); 
			break;
		case 1:printf("宝儿,请输入你心中圣诞树的大小(50-100整数)后按enter:");
			scanf("%d", &n);
			firsttree(ch,C,n);//调用打印树顶函数
			secoundtree(ch, C, n);//调用打印圣诞树第二层函数
			threetree(ch, C, n);//调用打印圣诞树第三层函数
			underthetree(ch, C, n);//调用打印圣诞树根部函数
			printf("宝儿,请收好你的专属圣诞树,虽然圣诞节是西方节日,但仍然在这里祝你圣诞节快乐,祝你每天都开开心心!\n");
			loverheart();
			break;
		default:printf("你有点皮哦!请重新输入正确数字!\n");
		}
	} while (m);
	return 0;
}

3、shengdanshu.cpp源文件

这个源文件是主函数的分支,实现主函数里面调用的自定义函数,也是整个程序具体逻辑的实现。


#include "test.h"

void Blessingwords()//实现祝福语函数
{
	printf("Christmas is coming.\n");
	printf("I give you a Christmas tree.\n");
	printf("I wish you a smooth exam in advance.\n");
	printf("Wish you have a happy Christmas with your boyfriend (girlfriend) ha!\n");
	printf("\n");
}
void manu()//菜单函数
{
	printf("——————————————————\n");
	printf("——— 1.请接收您的专属圣诞树 ———\n");
	printf("——— 0.已经收下圣诞树并感谢 ———\n");
	printf("——————————————————\n");
	printf("\n");
}
void firsttree(char ch[C],int c,int n)//实现打印树顶函数
{
	for (int i = 0; i < n / 3; i += 4)
	{
		for (int j = 0; j < n / 2 - i / 2; j++)
		{
			printf(" ");
		}
		for (int j = 0; j <= i; j++)
		{
			int s = rand() % 7;
			printf("%c",ch[s]);
		}
		printf("\n");
	}
}
void secoundtree(char ch[C], int c, int n)//实现打印圣诞树第二层函数
{
	for (int i = 0; i < (n / 3)+HIGH1; i += 4)
	{
		for (int j = 0; j < n / 2 - i / 2; j++)
		{
			printf(" ");
		}
		for (int j = 0; j <= i; j++)
		{
			int s = rand() % 7;
			printf("%c", ch[s]);
		}
		printf("\n");
	}
}
void threetree(char ch[C], int c, int n)//实现打印圣诞树第三层函数
{
	for (int i = 0; i < (n / 3) + HIGH2; i += 4)
	{
		for (int j = 0; j < n / 2 - i / 2; j++)
		{
			printf(" ");
		}
		for (int j = 0; j <= i; j++)
		{
			int s = rand() % 7;
			printf("%c", ch[s]);
		}
		printf("\n");
	}
}
void underthetree(char ch[C], int c, int n)//实现打印圣诞树根部函数
{
	int s = rand() % 7;
	for (int i = 0; i < n / 3; i += 4)
	{
		for (int j = 0; j <n/2-3; j++)
		{
			printf(" ");
		}
		for (int j = 0; j <= WIDE; j++)
		{
			int s = rand() % 7;
			printf("%c", ch[s]);
		}
		printf("\n");
	}
}
void loverheart()//实现爱心打印函数
{
	printf("收到圣诞树了,再附带一颗爱心\n");
	printf("\n");
	char c = '*';
	//心冠
	for (int i = 1; i < 4; i++)
	{
		for (int j = 1; j < 27 - i * 2; j++)
		{
			printf(" ");
		}
		for (int k = 1; k <= i * 4 + 1; k++)
		{
			printf("%c", c);
		}
		for (int m = 1; m <= 9 - 4 * (i - 1); m++)
		{
			printf(" ");
		}
		for (int n = 1; n <= i * 4 + 1; n++)
		{
			printf("%c", c);
		}
		printf("\n");
	}
	//心的中间部分
	for (int i = 1; i < 4; i++)
	{
		for (int j = 1; j < 20; j++)
		{
			printf(" ");
		}
		for (int k = 1; k <= 29; k++)
		{
			printf("%c", c);
		}
		printf("\n");
	}
	//心的底部倒三角
	for (int i = 1; i < 8; i++)
	{
		for (int j = 1; j < 20 + 2 * i; j++)
		{
			printf(" ");
		}
		for (int k = 1; k <= 29 - 4 * i; k++)
		{
			printf("%c", c);
		}
		printf("\n");
	}
}

整体程序运行结果:
在这里插入图片描述
在这里插入图片描述

结语

圣诞节降至,今天 forever 给大家呈现的就是这颗圣诞树以及树后附赠的真心哈!让大家也感受感受理科生甚至是程序员式浪漫,也希望给大家带来很多乐趣和提高对代码的兴趣,消除枯燥乏味!
快拿起树去送给你最亲最爱的人吧!
生活中不缺少美,只是缺少发现的眼;当然,生活中也不缺少乐趣,只是缺少发现而已。虽然圣诞节是洋节,我们不过于看重,但是一句“祝大家圣诞节快乐!”还是可以说的哈!
谢谢观看!
再见!
以上代码均可运行,所用编译环境为 vs2019 ,运行时注意加上编译头文件#define _CRT_SECURE_NO_WARNINGS 1

标签:ch,函数,int,void,printf,程序员,浪漫,圣诞树
来源: https://blog.csdn.net/m0_56817529/article/details/122101088

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有