zxcv89878221 发表于 2020-11-9 22:14:50

新手求解

#include <stdio.h>;
main()

struct MyStr {
char                str; //字符串文本
COLORREF        color;   //颜色
int x, y;                       //坐标
int speed;                       //移动速度

void show() {
        settextcolor(color);
        outtextxy(x, y, str);//显示字符串
}
void moveLeft() {
        x -= speed;
}
};

//最多存储1024条弹幕
//容器   vectordequelistmap。。。
MyStr dm;
int g_count;

//获取用户的输入
void getScan();

int main() {
        srand(time(0));
        //1 制作两个窗口(显示弹幕的,输入弹幕的)
        //110    8012    2020   120119   911
        int w = GetSystemMetrics(SM_CXFULLSCREEN); //F1
        int h = GetSystemMetrics(SM_CYFULLSCREEN);//没有任务栏

//        printf("w:%d,h:%d\n", w, h);
        HWND hWnd = initgraph(w, h, SHOWCONSOLE);
        //1.1 大小(桌面) 不能移动 位置   不能被遮挡(置顶)      透明化
        //设置窗口风格 没有边框
#if 1
        SetWindowLong(hWnd, GWL_STYLE,
                GetWindowLong(hWnd, GWL_STYLE) - WS_CAPTION);
#endif
        //设置窗口位置

        SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, w, h, SWP_SHOWWINDOW);

        //透明化

        //设置窗口绘制的时候做数学运算
        SetWindowLong(hWnd, GWL_EXSTYLE,
                GetWindowLong(hWnd, GWL_STYLE) | WS_EX_LAYERED);
        //转透明像素
        SetLayeredWindowAttributes(hWnd,
                RGB(0, 0, 0), 0, LWA_COLORKEY);

        //2 并发:循环不断显示弹幕并移动,循环不断接收用户输入

        char str = "同学们好";
        int x = w;
        int y = h / 2;

        MyStr s1 = { 0 };

        strcpy(s1.str, "同学们好");
        s1.color = RED;
        s1.x = x;
        s1.y = y;
        s1.speed = 3;
        g_count = 0;

        //创建并启动线程
        CreateThread(NULL, NULL,
                (LPTHREAD_START_ROUTINE)getScan,
                NULL, NULL, NULL);

        while (1) {
                cleardevice();//清屏
#if 0
                settextcolor(RED);
                outtextxy(x, y, str);//显示字符串

                Sleep(50);//停顿
                x -= 3;

                settextcolor(s1.color);
                outtextxy(s1.x, s1.y, s1.str);//显示字符串
                Sleep(50);//停顿
                s1.x -= s1.speed;

                s1.show();
                Sleep(50);//停顿
                s1.moveLeft();
#else
                //显示每一条弹幕
                for (int i = 0; i < g_count; i++) {
                        dm.show();
                }

                Sleep(50);//停顿

                //移动每一条弹幕
                for (int i = 0; i < g_count; i++) {
                        dm.moveLeft();
                }
#endif
        }




        return 0;
}

//获取用户的输入
void getScan() {
        char buff;
        while (1) {
                //接收用户输入,创建弹幕
                printf("请输入:");
                scanf("%s", buff);
                if (g_count >= 1024) g_count = 0;
                strcpy(dm.str, buff);
                dm.x = 1600;
                dm.y = rand() % 600;

                dm.color =
                        RGB(rand() % 256, rand() % 256, rand() % 256);
                dm.speed = rand() % 10 + 1;//1-20

                g_count++;


        }
}




严重性        代码        说明        项目        文件        行        禁止显示状态
错误(活动)        E0130        应输入“{”        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        4       
错误(活动)        E0020        未定义标识符 "time"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        28       
错误(活动)        E0020        未定义标识符 "srand"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        28       
错误(活动)        E0065        应输入“;”        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        10       
错误(活动)        E0020        未定义标识符 "COLORREF"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        6       
错误(活动)        E0020        未定义标识符 "GetSystemMetrics"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        31       
错误(活动)        E0020        未定义标识符 "SM_CXFULLSCREEN"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        31       
错误(活动)        E0020        未定义标识符 "SM_CYFULLSCREEN"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        32       
错误(活动)        E0020        未定义标识符 "HWND"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        35       
错误(活动)        E0020        未定义标识符 "initgraph"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        35       
错误(活动)        E0020        未定义标识符 "SHOWCONSOLE"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        35       
错误(活动)        E0020        未定义标识符 "SetWindowLong"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        39       
错误(活动)        E0020        未定义标识符 "GWL_STYLE"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        39       
错误(活动)        E0020        未定义标识符 "GetWindowLong"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        40       
错误(活动)        E0020        未定义标识符 "WS_CAPTION"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        40       
错误(活动)        E0020        未定义标识符 "SetWindowPos"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        44       
错误(活动)        E0020        未定义标识符 "HWND_TOPMOST"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        44       
错误(活动)        E0020        未定义标识符 "SWP_SHOWWINDOW"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        44       
错误(活动)        E0020        未定义标识符 "GWL_EXSTYLE"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        49       
错误(活动)        E0020        未定义标识符 "WS_EX_LAYERED"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        50       
错误(活动)        E0020        未定义标识符 "SetLayeredWindowAttributes"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        52       
错误(活动)        E0020        未定义标识符 "RGB"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        53       
错误(活动)        E0020        未定义标识符 "LWA_COLORKEY"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        53       
错误(活动)        E0020        未定义标识符 "strcpy"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        63       
错误(活动)        E0020        未定义标识符 "RED"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        64       
错误(活动)        E0020        未定义标识符 "CreateThread"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        71       
错误(活动)        E0020        未定义标识符 "LPTHREAD_START_ROUTINE"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        72       
错误(活动)        E0018        应输入“)”        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        72       
错误(活动)        E0020        未定义标识符 "cleardevice"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        76       
错误(活动)        E0020        未定义标识符 "Sleep"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        98       
错误(活动)        E0020        未定义标识符 "strcpy"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        121       
错误(活动)        E0020        未定义标识符 "rand"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        123       
错误(活动)        E0020        未定义标识符 "RGB"        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        126       
警告        C4067        预处理器指令后有意外标记 - 应输入换行符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        1       
错误        C2143        语法错误: 缺少“;”(在“<class-head>”的前面)        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        4       
错误        C4430        缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        4       
错误        C3646        “color”: 未知重写说明符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        6       
错误        C4430        缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        6       
错误        C2065        “color”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        11       
错误        C3861        “settextcolor”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        11       
错误        C3861        “outtextxy”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        12       
错误        C3861        “time”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        28       
错误        C3861        “srand”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        28       
错误        C2065        “SM_CXFULLSCREEN”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        31       
错误        C3861        “GetSystemMetrics”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        31       
错误        C2065        “SM_CYFULLSCREEN”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        32       
错误        C3861        “GetSystemMetrics”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        32       
错误        C2065        “HWND”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        35       
错误        C2146        语法错误: 缺少“;”(在标识符“hWnd”的前面)        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        35       
错误        C2065        “hWnd”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        35       
错误        C2065        “SHOWCONSOLE”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        35       
错误        C3861        “initgraph”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        35       
错误        C2065        “hWnd”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        39       
错误        C2065        “GWL_STYLE”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        39       
错误        C2065        “hWnd”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        40       
错误        C2065        “GWL_STYLE”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        40       
错误        C3861        “GetWindowLong”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        40       
错误        C2065        “WS_CAPTION”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        40       
错误        C3861        “SetWindowLong”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        39       
错误        C2065        “hWnd”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        44       
错误        C2065        “HWND_TOPMOST”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        44       
错误        C2065        “SWP_SHOWWINDOW”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        44       
错误        C3861        “SetWindowPos”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        44       
错误        C2065        “hWnd”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        49       
错误        C2065        “GWL_EXSTYLE”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        49       
错误        C2065        “hWnd”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        50       
错误        C2065        “GWL_STYLE”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        50       
错误        C3861        “GetWindowLong”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        50       
错误        C2065        “WS_EX_LAYERED”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        50       
错误        C3861        “SetWindowLong”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        49       
错误        C2065        “hWnd”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        52       
错误        C3861        “RGB”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        53       
错误        C2065        “LWA_COLORKEY”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        53       
错误        C3861        “SetLayeredWindowAttributes”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        52       
错误        C3861        “strcpy”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        63       
错误        C2039        "color": 不是 "MyStr" 的成员        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        64       
错误        C2065        “RED”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        64       
错误        C2065        “LPTHREAD_START_ROUTINE”: 未声明的标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        72       
错误        C2146        语法错误: 缺少“)”(在标识符“getScan”的前面)        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        72       
错误        C3861        “CreateThread”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        71       
错误        C2146        语法错误: 缺少“;”(在标识符“getScan”的前面)        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        72       
错误        C2059        语法错误:“)”        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        73       
错误        C3861        “cleardevice”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        76       
错误        C3861        “Sleep”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        98       
错误        C3861        “strcpy”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        121       
错误        C3861        “rand”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        123       
错误        C2039        "color": 不是 "MyStr" 的成员        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        125       
错误        C3861        “rand”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        126       
错误        C3861        “rand”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        126       
错误        C3861        “rand”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        126       
错误        C3861        “RGB”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        126       
错误        C3861        “rand”: 找不到标识符        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        127       
错误        C4996        'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.        弹幕制造        D:\vs2019\vs2019\弹幕制造\弹幕制造器.cpp        119       



求大神指导 谢谢

F–Social 发表于 2020-11-9 23:07:16

所以。。。。这是个啥???
还是先把基础搞好,再来做这些吧OVO。

昨非 发表于 2020-11-9 23:56:44

你有语法基础吗,搞这个代码。。。{:10_277:}

昨非 发表于 2020-11-10 00:05:15

缺两个库#include<Windows.h>
#include<graphics.h>

昨非 发表于 2020-11-10 00:05:45

就这么点儿问题,补补基础吧

zxcv89878221 发表于 2020-11-10 17:51:44

F–Social 发表于 2020-11-9 23:07
所以。。。。这是个啥???
还是先把基础搞好,再来做这些吧OVO。

没有这个是老师的源码 在VS上就这样了谢谢大神

zxcv89878221 发表于 2020-11-10 17:52:18

昨非 发表于 2020-11-9 23:56
你有语法基础吗,搞这个代码。。。

小白一枚 这个是老师的源码基础基本上没有

zxcv89878221 发表于 2020-11-10 17:52:53

昨非 发表于 2020-11-10 00:05
就这么点儿问题,补补基础吧

需要补那方便的基础啊 大神   不太明白

昨非 发表于 2020-11-10 18:03:11

zxcv89878221 发表于 2020-11-10 17:52
需要补那方便的基础啊 大神   不太明白

如果你连调用方法需要导入相应的库都不清楚的话,需要补的就多了
初学c(c++)还是从简单代码来,不要上来就这么复杂,自己也不好理解
推荐基础语法链接https://www.runoob.com/cplusplus/cpp-tutorial.html

zxcv89878221 发表于 2020-11-10 18:12:36

昨非 发表于 2020-11-10 18:03
如果你连调用方法需要导入相应的库都不清楚的话,需要补的就多了
初学c(c++)还是从简单代码来,不要上 ...

感谢大神

zxcv89878221 发表于 2020-11-10 18:52:42

昨非 发表于 2020-11-10 18:03
如果你连调用方法需要导入相应的库都不清楚的话,需要补的就多了
初学c(c++)还是从简单代码来,不要上 ...

很有用 谢谢大神刚看了一遍

zxcv89878221 发表于 2020-11-12 18:23:01

昨非 发表于 2020-11-10 18:03
如果你连调用方法需要导入相应的库都不清楚的话,需要补的就多了
初学c(c++)还是从简单代码来,不要上 ...

以for循环的思路 写一个3*2的循环是什么意思 大神

昨非 发表于 2020-11-12 18:36:34

zxcv89878221 发表于 2020-11-12 18:23
以for循环的思路 写一个3*2的循环是什么意思 大神

不太明白你这个表述
页: [1]
查看完整版本: 新手求解