目录复制
文章目录
前引
一个项目中可以建多个源文件,并用头文件将他们联系起来
头文件
#pragma once
#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
void christmas_tree(int n);//打印圣诞树
void snowflake1(int n);//打印雪花 1
void snowflake2(int n);//打印雪花 2
void snowflake3(int n);//打印雪花 3
void color(int x);//改变打印颜色
源文件(有5个源文件)
1.圣诞树(main)
#include"Christmas.h"
void christmas_tree(int n);
void snowflake1(int n);
void snowflake2(int n);
void snowflake3(int n);
int main()
{
//n代表树层数
int n = 3; //圣诞树层数
Sleep(3000);
christmas_tree(n);//打印圣诞树
Sleep(1000);
system("cls");
//打印雪花,并使雪花动起来
while (1)
{
snowflake1(n);
Sleep(100);
system("cls");
snowflake2(n);
Sleep(100);
system("cls");
snowflake3(n);
Sleep(100);
system("cls");
}
return 0;
}
2.打印圣诞树(并设置打印出的颜色)
#include"Christmas.h"
void color(int x)//设置打印出的字体颜色
{
if (x >= 0 && x <= 15)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x);
}
else
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
}
}
// 0=黑色 1=蓝色
// 2=绿色 3=湖蓝色
// 4=红色 5=紫色
// 6=黄色 7=白色
// 8=灰色 9=淡蓝色
// 10=淡绿色 11=淡浅绿色
// 12=淡红色 13=淡紫色
// 14=淡黄色 15=亮白色
void christmas_tree(int n)
{
int a = 0;
//画树叶
for (a = 0; a < n; a++)
{
//画一层,一层有4小层
int i = 0;
for (i = 0; i < 4; i++)
{
//画背景
int j = 0;
for (j = 0; j < 4 * n - 2 * a - 2 * i; j++)
{
putchar(' ');
Sleep(10);
}
//画树叶
for (j = 0; j < 4 * a + 4 * i + 1; j++)
{
color(2);
putchar('*');
Sleep(10);
}
putchar('\n');
}
}
//打印树桩
int i = 0;
for (i = 0; i < 2 * n - 1; i++)
{
//画背景
int j = 0;
for (j = 0; j < 3 * n; j++)
{
putchar(' ');
Sleep(10);
}
//画树桩
for (j = 0; j < 2