日韩性视频-久久久蜜桃-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ò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99热在线只有精品 | 亚洲午夜精品久久久久久浪潮 | 波多一区 | 精品成人无码一区二区三区 | 最新极品jizzhd欧美 | 亚洲自拍偷拍网 | 国产精品三级久久久久久电影 | 亚洲一个色 | 久久亚 | 五级黄高潮片90分钟视频 | 天天射夜夜操 | 国产一二三 | 亚洲天堂手机 | 亚洲国产综合视频 | 国产欧美一区二区精品性色 | 欧美人妻精品一区二区免费看 | 丝袜国产在线 | 日本强好片久久久久久aaa | 狠狠干一区二区 | 亚洲国产精品自拍 | 国产在线免费视频 | 久久91亚洲| 亚洲欧美国产精品久久久久久久 | 国产午夜麻豆影院在线观看 | 国产日韩一区二区三免费高清 | 在线观看国产麻豆 | 1024手机看片日韩 | 朝桐光在线视频 | 国产乱国产乱300精品 | 欧美性爱精品在线 | xx性欧美肥妇精品久久久久久 | 2020av视频| 寡妇一级片 | 在线观看视频色 | 伊人久久久久久久久久久 | 精品国产污污免费网站入口 | 中文av免费 | 麻豆免费视频网站 | 超碰成人久久 | 国产91色| 18国产免费视频 | 亚洲欧洲一区二区三区 | 九月丁香婷婷 | 无码av免费毛片一区二区 | 色婷婷av一区二区三 | av资源共享 | 久草国产在线视频 | 欧美视频h | 免费看成人av | 欧美bbbbbbbbbbbb18av| 在线观看视频中文字幕 | 欧美黄色网| 2019国产精品视频 | 男女激情免费网站 | 午夜蜜桃视频 | 香蕉视频黄色 | 午夜视频福利网站 | 国产免费一区二区三区视频 | 亚洲中文一区二区 | 进去里在线观看 | www.插插插 | 欧美视频在线播放 | 亚洲一区第一页 | 少妇高潮一区二区三区在线 | 黄网在线观看视频 | 四虎最新网址在线观看 | 中文字幕视频二区 | 澳门黄色 | 找国产毛片看 | 亚洲婷婷久久综合 | 在线干 | 亚洲欧美中日韩 | 国产成人精品国内自产拍免费看 | 久久噜噜噜精品国产亚洲综合 | 欧美高清一级 | 成人免费做受小说 | 精品乱子一区二区三区 | 色先锋av资源 | 免费成人美女在线观看 | 国产精品区在线 | 麻豆视频一区二区 | 中文字幕亚洲成人 | 亚洲免费观看高清完整 | 久久久精品在线观看 | 美国免费高清电影在线观看 | 求av网站 | 六月丁香激情网 | 日韩免费视频一区二区视频在线观看 | 欧美bbbbb | 婷婷色六月 | 免费观看视频一区 | 精品97人妻无码中文永久在线 | 免费观看成人在线视频 | 一区二区亚洲精品 | 一本一道久久a久久精品综合 | 国产福利影院 | 欧美真人性野外做爰 | 欧美鲁鲁 | 成人不卡av|