C++爱好者的自我修养(9):void自定义函数

今天小编来分享一下void自定义函数

注意:void自定义函数无返回值

1、有输入值的void自定义函数

格式:

void 函数名(数据类型 变量名){

语句;

}

例如:一个可以控制输出字符颜色的自定义函数

void Color (int a) {
    if (a == 0 || a == 14 || a == 20) {
        SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
        FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
    } else if (a == 1 || a == 12) {
        SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
        FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
    } else if (a == 2) {
        SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
        FOREGROUND_INTENSITY|FOREGROUND_GREEN);
    } else if (a == 3) {
        SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
        FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
    } else if (a == 4 || a == 11) {
        SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
        FOREGROUND_INTENSITY|FOREGROUND_RED);
    } else if (a == 5 || a == 13) {
        SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
        FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
    } else if (a == 7) {
        SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
        FOREGROUND_GREEN|FOREGROUND_BLUE);
    } else if (a == 15) {
        SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY);
    } else if (a == 16) {
        SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), FOREGROUND_GREEN);
    } else if (a == 17) {
        SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), FOREGROUND_RED);
    } else if (a == 8) {
        SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
    } else if (a == 6) {
        SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
        FOREGROUND_INTENSITY|FOREGROUND_BLUE);
    } else if (a == 9) {
        SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),
        FOREGROUND_INTENSITY|FOREGROUND_RED|BACKGROUND_RED|BACKGROUND_GREEN);
    }
}

2、无输入值的自定义函数

格式:

void 函数名(void){

扫描二维码关注公众号,回复: 14968838 查看本文章

语句;

}

例如:

void Hallo_World(void){
    cout<<"Hallo world";
}

不要看这个只是输出一句话,反而会使代码变得繁琐,可是如果是一个很繁琐的函数,且在项目中需要多次使用,就需要用到了,例:

float f(float x, float y, float z) {
        float a = x * x + 9.0f / 4.0f * y * y + z * z - 1;
        return a * a * a - x * x * z * z * z - 9.0f / 80.0f * y * y * z * z * z;
    }

    float h(float x, float z) {
        for (float y = 1.0f; y >= 0.0f; y -= 0.001f)
            if (f(x, y, z) <= 0.0f)
                return y;
        return 0.0f;
    }

    void heart_jumping(void) {
        system("cls");
        system("Color 04");
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),0x0C);
        HANDLE o = GetStdHandle(STD_OUTPUT_HANDLE);
        _TCHAR buffer[25][80] = { _T(' ') };
        _TCHAR ramp[] = _T(".:-=+*#%@");
        int count= 0;
        int count1=0;
        system("color F4");
        for (float t = 0.0f;; t += 0.1f) {
            int sy = 0;
            float s = sinf(t);
            float a = s * s * s * s * 0.2f;

            for (float z = 1.3f; z > -1.2f; z -= 0.1f) {
                _TCHAR* p = &buffer[sy++][0];
                float tz = z * (1.2f - a);
                for (float x = -1.5f; x < 1.5f; x += 0.05f) {
                    float tx = x * (1.2f + a);
                    float v = f(tx, 0.0f, tz);
                    if (v <= 0.0f) {
                        float y0 = h(tx, tz);
                        float ny = 0.01f;
                        float nx = h(tx + ny, tz) - y0;
                        float nz = h(tx, tz + ny) - y0;
                        float nd = 1.0f / sqrtf(nx * nx + ny * ny + nz * nz);
                        float d = (nx + ny - nz) * nd * 0.5f + 0.5f;
                        *p++ = ramp[(int)(d * 5.0f)];
                    }
                    else
                        *p++ = ' ';
                }
            }

            for (sy = 0; sy < 25; sy++) {
                COORD coord = { 0, sy };
                SetConsoleCursorPosition(o, coord);
                WriteConsole(o, buffer[sy], 79, NULL, 0);
            }
            if(count <= 10){
                
                count++;
            } else{
                
                count++;
                if(count>=20){
                    count =0;
                }
            }
            Sleep(33);
        }
        
    }

这是一个跳动的爱心

以上就是本次的知识分享啦~

记得点赞!

猜你喜欢

转载自blog.csdn.net/pyz258/article/details/129431155