使用用C++做一颗会跳动的爱心实例代码

 更新时间:2021年12月19日 09:26:35   作者:Flood_H  
大家好,本篇文章主要讲的是使用用C++做一颗会跳动的爱心实例代码,感兴趣的同学赶快来看一看吧,欢迎借鉴学习C++做一颗会跳动的爱心实例代码

前言

大家好,本篇文章主要讲的是使用用C++做一颗会跳动的爱心实例代码

开始

先来看看效果:

在这里插入图片描述
在这里插入图片描述

程序描述:
程序先以较慢的速度画一个大爱心,之后跳动的心其实从视觉上看就是一大一小两个心相互切换,但是要调整一下大小爱心变化时的时间间隔。代码主要是通过设置两个函数,利用cls来清屏,重复打印大心和小心,并设置颜色为红色。

详细代码:

在这里插入#include<iostream>
#include<cmath>
#include<Windows.h>
using namespace std;
//关键公式(x^2+y^2-1)^3-x^2*y^3=0,小于零的时候在心形内部,大于零的时候在外部 
void big_heart(){//大爱心的打印,一行一行打印爱心
	double x_1,y_1,m_1,n_1;
	for(y_1=1.5;y_1>-1.5;y_1-=0.1){ //心型的最大长度 
		for(x_1=-1.5;x_1<=1.5;x_1+=0.05){//心型的最大宽度 
		m_1=x_1*x_1+y_1*y_1-1;
		n_1=pow(m_1,3)-pow(x_1,2)*pow(y_1,3);
		n_1<0? cout<<'x': cout<<' ';
	}
	Sleep(100);
	cout<<endl;
}
}
void big_heart_2(){ //大爱心的打印,迅速的完成爱心的打印
	double x_1,y_1,m_1,n_1;
	for(y_1=1.5;y_1>-1.5;y_1-=0.1){ //心型的最大长度 
		for(x_1=-1.5;x_1<=1.5;x_1+=0.05){//心型的最大宽度 
		m_1=x_1*x_1+y_1*y_1-1;
		n_1=pow(m_1,3)-pow(x_1,2)*pow(y_1,3);
		n_1<0? cout<<'x': cout<<' ';
	}
	cout<<endl;
}
}
void small_heart(){ //小爱心的打印
	double x,y,m,n;
	for(y=3.0;y>-3.0;y-=0.2){ //心型的最大长度 
		for(x=-3.0;x<=3.0;x+=0.1){//心型的最大宽度 
		m=x*x+y*y-1;
		n=pow(m,3)-pow(x,2)*pow(y,3);
		n<0? cout<<'x': cout<<' ';
	}
	cout<<endl;
 }
}
//为了美观和舒适,隐藏打印时的光标
HANDLE han = GetStdHandle(-11);
void hide(){
	CONSOLE_CURSOR_INFO cursor;
	cursor.bVisible = 0;
	cursor.dwSize = 1;
	SetConsoleCursorInfo(han,&cursor);
}
int main(){  //主函数入口
	hide(); 
	system("color C"); //颜色调节
	big_heart();
	int a=1;
while(1){
	system("cls");
	if(a%2==0){
		small_heart();
		Sleep(400); //控制停顿时间
	}else{
		big_heart_2(); 
		Sleep(100); //控制停顿时间
		}
	a++;
}
	return 0;
}代码片

总结

到此这篇关于使用用C++做一颗会跳动的爱心实例代码的文章就介绍到这了,更多相关C++爱心内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • C语言线性表中顺序表超详细理解

    C语言线性表中顺序表超详细理解

    程序中经常需要将一组数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化,顺序表则是将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示
    2022-03-03
  • C++中string类的常用方法实例总结

    C++中string类的常用方法实例总结

    string类是C++提供的抽象数据类型,其支持可变长字符串,下面这篇文章主要给大家总结介绍了关于C++中string类的常用方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • C语言中计算二叉树的宽度的两种方式

    C语言中计算二叉树的宽度的两种方式

    这篇文章主要介绍了C语言中计算二叉树的宽度的两种方式的相关资料,需要的朋友可以参考下
    2017-04-04
  • C++中友元的详解及其作用介绍

    C++中友元的详解及其作用介绍

    这篇文章主要介绍了C++中友元的详解及其作用介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • C++类的定义与实现

    C++类的定义与实现

    这篇文章主要介绍了C++类的定义与实现,违章围绕C++类的定义的相关资料展开全文内容,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-01-01
  • C++常量指针,指针常量,指向常量的常指针详解

    C++常量指针,指针常量,指向常量的常指针详解

    刚接触到指针时,关于C++常量指针,指针常量,指向常量的常指针容易混淆,所以整理下,希望能够帮助自己也帮助到大家
    2021-10-10
  • 详解OpenMP的线程同步机制

    详解OpenMP的线程同步机制

    在本篇文章当中主要给大家介绍 OpenMP 当中线程的同步和互斥机制,在 OpenMP 当中主要有三种不同的线程之间的互斥方式。下面就来和大家来讨论一下OpenMP当中的互斥操作,需要的可以参考一下
    2023-01-01
  • Vscode配置C/C++环境使用minGW(保姆级配置过程)

    Vscode配置C/C++环境使用minGW(保姆级配置过程)

    本文主要介绍了Vscode配置C/C++环境使用minGW(保姆级配置过程),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • C语言实现简单的扫雷游戏操作

    C语言实现简单的扫雷游戏操作

    这篇文章主要为大家详细介绍了C语言实现简单的扫雷游戏操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • C++空指针void*的使用方法

    C++空指针void*的使用方法

    C++空指针void是一种通用指针类型,可以指向任何类型的数据或对象。它不关心指向的数据或对象的类型,只关心指针本身的地址,在使用void指针时,需要将其转换为特定类型的指针,以便对其进行操作或访问其值,本文就给大家介绍一下C++空指针void的使用方法
    2023-06-06

最新评论