首页 > 解决方案 > 如何在 C++ 中绘制数据?

问题描述

我正在尝试使用 c++ 中的 graphics.h 制作图表。我正在关注 youtube 上的教程。似乎是由于视频的年龄(也许语法略有变化?)或我的问题;我什至无法为我的图表打开一个单独的窗口。对我来说,我处于完全未知的领域,因为我的编码知识是你期望从第一学期的编码课程中学到的。我正在使用 DEV C++ 并正在使用“TDM-GCC 4.9.2 32 位版本”进行编译(因为 64 位版本在“Makefile.win”中给了我一个让我害怕的错误)并且我的程序以返回值退出3221225477. 我做错了什么?

#include"graphics.h"
#include<math.h>
#include<conio.h>
#include<iostream>
using namespace std;

int main() {
    
    initwindow(800,600);
    int x,y;
    line(0,300,getmaxx(),300);
    line(400,0,400,getmaxy());
    float pi=3.14159;
    
    for(int i=-360;i<=360;i++){
        
        x=(int)400+i;
        y=(int)300-sin(i*pi/100)*25;
        putpixel(x,y,WHITE);
    
    }
    
    getch();
    closegraph();
    
    return 0;
}

标签: c++

解决方案


根据您的问题和退出代码,十六进制的返回值为 0xC0000005 或 STATUS_ACCESS_VIOLATION。但是大多数开发人员甚至都懒得去学习过时的遗留 API,我也无法帮助您找到确切的行(使用调试器,它会向您显示确切的行,但仍然不是原因)。

但是要在标题中回答您的问题,好吧,根据使用的免费框架(Qt 或 XWidget),方法有所不同,因为 Qt(我会推荐)只需覆盖paint-event 并使用 QPainter 渲染器来显示您的 QPath 数据.

不要重新发明轮子(在这种情况下是渲染系统),您的课程和/或书籍可能很快就会向您介绍上述框架之一。


推荐阅读