C++彩色数据流动界面

简介: 一个数据流动界面     #include #include #include #include #include #include using namespace std ; #define MAX 20 #define LEN 5 char t...

一个数据流动界面

 

 

#include <windows.h>
#include <time.h>
#include <cstdio>
#include <string.h>
#include <conio.h>
#include <iostream>

using namespace std ;

#define MAX 20
#define LEN 5

char tu()
{
    //选择的字符的ASCII值的范围在 33--126
    char x ;
 k:

    x = (rand()%93)+33 ;
    if (48==x)
    {
        goto k ;
    }
    return x ;
}

int main()
{
  //  system("1.mp3");
    int i ;
    int j ;
    int k ;
    int m ;
    int n ;
    int di = 19 ;
    srand(time(NULL));
    char x_y[MAX][MAX]  ;
    for (i=0;i<MAX;i++)
    {
        for (j=0;j<MAX;j++)
        {
            x_y[i][j] = '0' ;
        }
    }
    //  初始化 :随机产生
    for(i=0;i<MAX;i++)
    {
        j = rand()%MAX ;
        if(j>=LEN)
        {
            for (k=1;k<=LEN;k++)
            {
                x_y[i][j] = tu() ;
                j-- ;
            }
        }
        else if(j<LEN)
        {
            n = j ;
            m = LEN-j ;  // 5 - 4 = 1
            for(k=1;k<=n;k++)
            {
                j-- ;
                x_y[i][j] = tu() ;
            }
            for (k=1;k<=m;k++)
            {
                x_y[i][di] = tu() ;
                di -- ;
            }
            di = 19 ;
        }
    }
    printf("\n\n\n\t\t\t");
    for (j=0;j<MAX;j++)
    {
        for (i=0;i<MAX;i++)
        {

            if ('0'!=x_y[i][j])
            {
                HANDLE hConsole = GetStdHandle((STD_OUTPUT_HANDLE)) ;
                SetConsoleTextAttribute(hConsole,rand()%9) ;
                printf("%c  ",x_y[i][j]);
            }
            else
            printf("   ");

        }
        printf("\n\t\t\t");
    }

        ka :
     while(1)
     {
        Sleep(20);
        system("cls");

        /*
            此处需要注意的地方 ;
                1 . 应该从后往前对二维数组进行操作,如果从前向后,会导致一种死循环 ,flag会永远触发之类的
                2 . 取色函数最好的范围 在个位就差不多了  过大会导致背景变色
        */
          //  动起来
        for (i=MAX-1;i>=0;i--)
        {
            for (j=MAX-1;j>=0;j--)
            {
                if (j<=18&&j>=4)
                {
                    if (x_y[i][j]!='0'&&x_y[i][j+1]=='0')
                    {
                        x_y[i][j+1] = tu() ;
                        x_y[i][j-4] = '0' ;
                    }
                }
                else if (j==19)
                {
                    if (x_y[i][19]!='0'&&x_y[i][0]=='0')
                    {
                        x_y[i][0] = tu() ;
                        x_y[i][j-4] = '0' ;
                    }
                }
                else if (j==0)
                {
                    if (x_y[i][j]=='0'&&x_y[i][19]!='0')
                    {
                        x_y[i][0] = tu() ;
                        x_y[i][15] = '0' ;
                    }
                    else if (x_y[i][0]=='0'&&x_y[i][19]=='0')
                    {
                        ;
                    }
                    else if (x_y[i][0]!='0'&&x_y[i][1]=='0')
                    {
                        x_y[i][1] = tu() ;
                        x_y[i][16] = '0' ;
                    }
                }
                else if (j<=3)
                {
                    if (x_y[i][j]!='0'&&x_y[i][j+1]=='0')
                    {
                        x_y[i][j+1] = tu() ;
                        x_y[i][16+j] = '0' ;
                    }
                }
            }
        }
        printf("\n\n\n\t\t\t");
        for (j=0;j<MAX;j++)
        {
            for (i=0;i<MAX;i++)
            {

                if ('0'!=x_y[i][j])
                {
                    HANDLE hConsole = GetStdHandle((STD_OUTPUT_HANDLE)) ;
                    SetConsoleTextAttribute(hConsole,rand()%10) ;
                    printf("%c  ",x_y[i][j]);
                }
                else
                printf("   ");

            }
            printf("\n\t\t\t");
        }
    goto ka ;
     }

    return 0;
}

 

目录
相关文章
|
4月前
|
存储 监控 算法
基于 C++ 哈希表算法实现局域网监控电脑屏幕的数据加速机制研究
企业网络安全与办公管理需求日益复杂的学术语境下,局域网监控电脑屏幕作为保障信息安全、规范员工操作的重要手段,已然成为网络安全领域的关键研究对象。其作用类似网络空间中的 “电子眼”,实时捕获每台电脑屏幕上的操作动态。然而,面对海量监控数据,实现高效数据存储与快速检索,已成为提升监控系统性能的核心挑战。本文聚焦于 C++ 语言中的哈希表算法,深入探究其如何成为局域网监控电脑屏幕数据处理的 “加速引擎”,并通过详尽的代码示例,展现其强大功能与应用价值。
99 2
|
5月前
|
存储 C++
UE5 C++:自定义Http节点获取Header数据
综上,通过为UE5创建一个自定义HTTP请求类并覆盖GetResult方法,就能成功地从HTTP响应的Header数据中提取信息。在项目中使用自定义类,不仅可以方便地访问响应头数据,也可随时使用这些信息。希望这种方法可以为你的开发过程带来便利和效益。
201 35
|
7月前
|
算法 Serverless 数据处理
从集思录可转债数据探秘:Python与C++实现的移动平均算法应用
本文探讨了如何利用移动平均算法分析集思录提供的可转债数据,帮助投资者把握价格趋势。通过Python和C++两种编程语言实现简单移动平均(SMA),展示了数据处理的具体方法。Python代码借助`pandas`库轻松计算5日SMA,而C++代码则通过高效的数据处理展示了SMA的计算过程。集思录平台提供了详尽且及时的可转债数据,助力投资者结合算法与社区讨论,做出更明智的投资决策。掌握这些工具和技术,有助于在复杂多变的金融市场中挖掘更多价值。
238 12
|
7月前
|
存储 监控 算法
公司监控上网软件架构:基于 C++ 链表算法的数据关联机制探讨
在数字化办公时代,公司监控上网软件成为企业管理网络资源和保障信息安全的关键工具。本文深入剖析C++中的链表数据结构及其在该软件中的应用。链表通过节点存储网络访问记录,具备高效插入、删除操作及节省内存的优势,助力企业实时追踪员工上网行为,提升运营效率并降低安全风险。示例代码展示了如何用C++实现链表记录上网行为,并模拟发送至服务器。链表为公司监控上网软件提供了灵活高效的数据管理方式,但实际开发还需考虑安全性、隐私保护等多方面因素。
105 0
公司监控上网软件架构:基于 C++ 链表算法的数据关联机制探讨
|
8月前
|
存储 算法 搜索推荐
【C++面向对象——群体类和群体数据的组织】实现含排序功能的数组类(头歌实践教学平台习题)【合集】
1. **相关排序和查找算法的原理**:介绍直接插入排序、直接选择排序、冒泡排序和顺序查找的基本原理及其实现代码。 2. **C++ 类与成员函数的定义**:讲解如何定义`Array`类,包括类的声明和实现,以及成员函数的定义与调用。 3. **数组作为类的成员变量的处理**:探讨内存管理和正确访问数组元素的方法,确保在类中正确使用动态分配的数组。 4. **函数参数传递与返回值处理**:解释排序和查找函数的参数传递方式及返回值处理,确保函数功能正确实现。 通过掌握这些知识,可以顺利地将排序和查找算法封装到`Array`类中,并进行测试验证。编程要求是在右侧编辑器补充代码以实现三种排序算法
125 5
|
存储 Serverless 数据安全/隐私保护
C++ 类的成员函数和数据成员的技术性探讨
C++ 类的成员函数和数据成员的技术性探讨
254 0
|
编译器 C++
virtual类的使用方法问题之C++类中的非静态数据成员是进行内存对齐的如何解决
virtual类的使用方法问题之C++类中的非静态数据成员是进行内存对齐的如何解决
|
存储 算法 C++
C++ STL应用宝典:高效处理数据的艺术与实战技巧大揭秘!
【8月更文挑战第22天】C++ STL(标准模板库)是一组高效的数据结构与算法集合,极大提升编程效率与代码可读性。它包括容器、迭代器、算法等组件。例如,统计文本中单词频率可用`std::map`和`std::ifstream`实现;对数据排序及找极值则可通过`std::vector`结合`std::sort`、`std::min/max_element`完成;而快速查找字符串则适合使用`std::set`配合其内置的`find`方法。这些示例展示了STL的强大功能,有助于编写简洁高效的代码。
185 2
|
存储 C++ 容器
开发与运维数组问题之C++标准库中提供数据容器作为数组的替代如何解决
开发与运维数组问题之C++标准库中提供数据容器作为数组的替代如何解决
134 5
|
设计模式 监控 Go
开发与运维C++问题之C++部分原有的数据发送能力如何解决
开发与运维C++问题之C++部分原有的数据发送能力如何解决
81 1