日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C/C++控制台应用程序——画三角形、圆、直线、矩形

發(fā)布時(shí)間:2024/10/5 c/c++ 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C/C++控制台应用程序——画三角形、圆、直线、矩形 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?Graphics.h

#pragma once#include<Windows.h> /*函數(shù)功能:獲得控制臺(tái)窗口句柄*/ HWND getConsoleHwnd(void); /*函數(shù)功能:在窗口上用創(chuàng)建的hpen畫筆以(cx,cy)為圓心,r為半徑畫圓*/ void circle(HDC, HPEN hpen,int cx, int cy, int r); /*函數(shù)功能:在窗口上用創(chuàng)建的畫刷畫坐標(biāo)為(lx,ly)點(diǎn)*/ void point(HDC, HBRUSH hbrush,int lx, int ly); /*函數(shù)功能:在窗口上用創(chuàng)建的畫筆畫出以(sx,sy)作為起點(diǎn),(ex,ey)作為終點(diǎn)的一條直線*/ void line(HDC hdc, HPEN hpen, int sx, int sy, int ex, int ey); /*函數(shù)功能:在窗口上用創(chuàng)建的畫筆畫出以(left,top)為左上角坐標(biāo),(right,bottom)為右下角坐標(biāo)的矩形*/ void rect(HDC hdc, HPEN hpen, int left, int top, int right, int bottom);

?Graphics.cpp?

#include"Graphics.h" #define MY_BUFSIZE 100 HWND getConsoleHwnd(void) { char pszNewWindowTitle[MY_BUFSIZE]; // Contains fabricated char pszOldWindowTitle[MY_BUFSIZE]; // Contains original GetConsoleTitle(pszOldWindowTitle, MY_BUFSIZE); wsprintf(pszNewWindowTitle,"%d/%d", GetTickCount(), GetCurrentProcessId()); SetConsoleTitle(pszNewWindowTitle); Sleep(40); HWND hConsole=FindWindow(NULL, pszNewWindowTitle); SetConsoleTitle(pszOldWindowTitle); return hConsole; } void circle(HDC hdc, HPEN hPen,int cx, int cy, int r) {SelectObject(hdc, hPen);Arc(hdc,cx-r,cy-r,cx+r,cy+r,cx-r,cy,cx+r,cy);Arc(hdc,cx-r,cy-r,cx+r,cy+r,cx+r,cy,cx-r,cy); } void point(HDC hdc, HBRUSH hBrush,int cx, int cy) {HPEN hpen = CreatePen(0, 5, RGB(0, 0, 0));SelectObject(hdc, hpen);(HPEN)SelectObject(hdc,hBrush);Ellipse(hdc,cx,cy,cx+50,cy+50); } void line(HDC hdc, HPEN hpen, int sx, int sy, int ex, int ey) {SelectObject(hdc, hpen);(HPEN)SelectObject(hdc,hpen);MoveToEx(hdc,sx,sy,NULL); LineTo(hdc,ex,ey); } void rect(HDC hdc, HPEN hpen, int left, int top, int right, int bottom) {SelectObject(hdc, hpen);(HPEN)SelectObject(hdc,hpen);Rectangle(hdc,left,top,right,bottom); }

Figure.h

#include<Windows.h> class Figure{ public:virtual void show(HDC) = 0; }; class Location{ public:Location(int x, int y);int get_x();int get_y(); protected:int x_pos, y_pos; }; class Point: public Location, public Figure{ public:Point(int x, int y);bool is_visible();void show(HDC hdc);void hide(HDC hdc);void move_to(HDC hdc,int x, int y); protected:bool visible; }; class Circle: public Point{ public:Circle(int x, int y, int r);void show(HDC hdc);void hide(HDC hdc);void move_to(HDC hdc,int x, int y); protected:int radius; }; class Rect:public Figure{ private:int lx, ly, rx, ry; public:Rect(int lx, int ly, int rx, int ry);void show(HDC); }; class Tria:public Figure{ private:int lx, ly, rx, ry,tx,ty; public:Tria(int lx, int ly, int rx, int ry,int tx, int ty);void show(HDC); };

Location.cpp

#include "Figure.h"Location::Location(int x, int y) {x_pos = x;y_pos = y; }int Location::get_x() {return x_pos; }int Location::get_y() {return y_pos; }

?Point.cpp

#include "Figure.h" #include"Graphics.h" #include<iostream> using namespace std;Point::Point(int x, int y): Location(x, y) {visible = false; // 缺省情況下點(diǎn)是不可見的 }bool Point::is_visible() {return visible; } void Point::show(HDC hdc) {if (! is_visible()) {visible = true;HBRUSH hBrush = CreateSolidBrush(RGB(200, 256,256)); point(hdc,hBrush,x_pos,y_pos);} } void Point::hide(HDC hdc) {if (is_visible()) {visible = false;HBRUSH hBrush = CreateSolidBrush(RGB(0, 0, 0)); point(hdc,hBrush,x_pos,y_pos); } } void Point::move_to(HDC hdc,int x, int y) {hide(hdc); x_pos = x; y_pos = y;show(hdc); }

Circle.cpp

#include "Figure.h" #include"Graphics.h" #include<iostream> #include<Windows.h> using namespace std; Circle::Circle(int x, int y, int r): Point(x, y) {radius = r; } void Circle::show(HDC hdc) {if (! is_visible()) {visible =true;HPEN hpen = CreatePen(0, 5, RGB(200, 256,256));circle(hdc,hpen,x_pos,y_pos,radius);} } void Circle::hide(HDC hdc) {if (is_visible()) {visible=false;HPEN hpen = CreatePen(0, 5, RGB(0, 0, 0));circle(hdc,hpen,x_pos,y_pos,radius); } } void Circle::move_to(HDC hdc,int x, int y) {hide(hdc); x_pos = x; y_pos = y;show(hdc); }

Rect.cpp

#include"Figure.h" #include"Graphics.h" Rect::Rect(int lx,int ly, int rx, int ry):lx(lx),ly(ly),rx(rx),ry(ry){ } void Rect::show(HDC hdc){HPEN hpen = CreatePen(0, 5, RGB(200, 256,256));HBRUSH hBrush = CreateSolidBrush(RGB(0, 0, 0)); (HPEN)SelectObject(hdc,hBrush);rect(hdc,hpen,lx, ly, rx, ry); }

Tria.cpp

#include"Figure.h" #include"Graphics.h" Tria::Tria(int lx,int ly, int rx, int ry,int tx, int ty):lx(lx),ly(ly),rx(rx),ry(ry),tx(tx),ty(ty){ } void Tria::show(HDC hdc){HPEN hpen = CreatePen(0, 5, RGB(200, 256,256));HBRUSH hBrush = CreateSolidBrush(RGB(0, 0, 0));(HPEN)SelectObject(hdc,hBrush);line(hdc,hpen,lx, ly, rx, ry);line(hdc,hpen,lx, ly, tx, ty);line(hdc,hpen,tx, ty, rx, ry); }

?

Gramdemo.cpp

#include "figure.h" #include"Graphics.h" #include<iostream> #include<conio.h> using namespace std; int main() {HWND hwnd = getConsoleHwnd();HDC hdc = GetDC(hwnd); // Circle circle(100, 200, 100); // circle.show(hdc); // getch(); // circle.move_to(hdc,200, 250); // getch();//Rect rect(100,100,400,500);//rect.show(hdc);//getch();Circle circle1(200, 400, 50);Circle circle2(500, 400, 50);Rect rect1(125,250,600,350);Tria tria1(125,250,300,250,125,100);Figure *shape[4]={&circle1,&circle2,&rect1,&tria1};for(int i=0;i<4;i++)shape[i]->show(hdc);ReleaseDC(hwnd,hdc);return 0; }

?

總結(jié)

以上是生活随笔為你收集整理的C/C++控制台应用程序——画三角形、圆、直线、矩形的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 97人妻精品一区二区三区动漫 | 欧美在线视频免费观看 | 久久精品99国产精品日本 | 佐山爱在线视频 | 五月激情四射网 | 久久久国产一区二区三区 | 亚洲国产aⅴ精品一区二区 日韩黄色在线视频 | 久久电影一区二区 | 亚洲综合精品国产一区二区三区 | 被黑人啪到哭的番号922在线 | 天天干夜夜玩 | 热@国产| 国产激情毛片 | 日韩精品成人无码专区免费 | 69久久久久久 | 欧美日韩在线免费观看视频 | 亚洲午夜精品久久久久久人妖 | 国产 日韩 一区 | 日本公妇乱淫免费视频一区三区 | 精品国产乱码久久久久久浪潮 | ⅹxxxxhd亚洲日本hd老师 | 亚欧洲精品 | 国产亚洲精品久久久久久打不开 | 在线免费小视频 | 一区二区三区国产在线观看 | 999免费 | 久久免费公开视频 | 亚色成人 | 视频1区2区| 你懂的欧美 | av男人天堂网 | 精品无码黑人又粗又大又长 | 成人做爰69片免费 | 日韩视频免费在线 | 久久99久久99精品中文字幕 | 欧美特一级片 | 久久精品99久久久 | av2014天堂网| 白丝美女喷水 | 精品一区在线视频 | 少妇一边呻吟一边说使劲视频 | 按摩ⅹxxx性hd中国 | 九九久久国产 | 日本女人性视频 | 亚洲精品一区二区三区四区五区 | 国产视频第一页 | 在线观看日韩av | 奇米97 | 91看片黄色| 浮妇高潮喷白浆视频 | 一眉道姑 电影 | 久久精品视频国产 | 日本三级一区二区 | 香蕉av在线| 91视频国产精品 | 男女爱爱福利视频 | 悠悠av| 亚洲免费av一区二区 | 大度亲吻原声视频在线观看 | 午夜久久久久久久久久影院 | 精品福利在线观看 | 国产午夜激情 | 性爱视频免费 | 性生活av| 成人四色| 一区二区三区日韩精品 | 福利一区三区 | 久久黄色视 | 波多野结衣一区二区在线 | 韩日中文字幕 | 免费毛片看片 | 另类天堂 | 午夜黄色福利 | 国产人妻精品一区二区三区 | 日韩精品久久久久久久酒店 | 18我禁在线观看 | 黄网址在线 | 亚洲性天堂| 欧美日韩成人在线播放 | 少妇高潮av久久久久久 | 91精品国产欧美一区二区成人 | 欧美性视频在线播放 | 精品欧美激情精品一区 | 亚洲av无码一区二区乱子伦 | 欧美成人黄色小视频 | 国产页| 精品在线视频免费 | 美女娇喘| 欧美一级淫片免费视频魅影视频 | 国产三级自拍视频 | 91久久电影| 久久综合丁香 | av 一区二区三区 | 色撸撸在线观看 | 一级片av | 免费一二区 | 欧美午夜一区二区 | 超碰在线97观看 | 国产国语性生话播放 |