十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你的c 编译器需带 绘图函数库 才行。
创新互联建站,专注为中小企业提供官网建设、营销型网站制作、响应式网站、展示型网站设计制作、做网站等服务,帮助中小企业通过网站体现价值、有效益。帮助企业快速建站、解决网站建设与网站营销推广问题。
c++ API 程序 可以绘图。只要得到窗口句柄,就可在该窗画图。画直线,多边形,圆,椭圆,扇形 等 都是基本函数。
下面程序在桌面窗口画线:
#include Afxwin.h
#include Windows.h
#pragma comment (lib, "User32.lib")
int main(void){
HWND hWnd = ::GetDesktopWindow();
HDC hdc = ::GetDC(hWnd);
// HDC hdc = ::GetDC(NULL);
RECT rect;
::GetWindowRect(hWnd, rect);
::MoveToEx(hdc, 0, 0, NULL);
::LineTo(hdc, rect.right, rect.bottom);
::MoveToEx(hdc, rect.right, 0, NULL);
::LineTo(hdc, 0, rect.bottom);
::ReleaseDC(hWnd, hdc);
system("PAUSE");
return 0;
}
===
用“刷子”画填充的封闭图形 (参数是 花纹,颜色)
HBRUSH Brush[5];
case WM_PAINT:
Brush[0] = CreateHatchBrush(HS_BDIAGONAL, RGB(0, 0, 255));
Brush[1] = CreateHatchBrush(HS_CROSS, RGB(200, 0, 0));
Brush[2] = CreateHatchBrush(HS_DIAGCROSS, RGB(0, 128, 0));
Brush[3] = CreateHatchBrush(HS_FDIAGONAL, RGB(0, 128, 192));
Brush[4] = CreateHatchBrush(HS_DIAGCROSS, RGB(255, 128, 0));
----
编译器 MS VC++ 6.0.
API 程序罗嗦,这里就不列出来了。
1、以特定的图形符号加上说明,表示算法的图,称为流程图或框图。
2、选择对应的图形,开始结束用椭圆形,过程用长方形。
3、绘制整个流程的过程。
4、将各个流程节点用线连接起来。
5、最后添加备注。
注意事项:
流程图是流经一个系统的信息流、观点流或部件流的图形代表。在企业中,流程图主要用来说明某一过程。这种过程既可以是生产线上的工艺流程,也可以是完成一项任务必需的管理过程。
#include stdio.h
void DrawHistogram(int nArray[], int nCount, char ch) {
int i,j,m = 0;
for(i = 0; i nCount; ++i) {
for(j = 0; j nArray[i]; ++j)
printf("%c",ch);
printf("%d\n",nArray[i]);
}
printf("\n");
}
void CountRangeItems(double dArray[], int nDataItems, int nArray[]) {
int i;
for(i = 0; i nDataItems; ++i) {
if(dArray[i] = 160) ++nArray[0];
else if(dArray[i] 165) ++nArray[1];
else if(dArray[i] 170) ++nArray[2];
else if(dArray[i] 175) ++nArray[3];
else if(dArray[i] 175) ++nArray[4];
}
}
int main() {
double height[] = {185,176,165,169,160,152,187,196,178,189,196,182,181,176,159,163,168};
int nArray[5] = {0};
int nCount = 0,size = sizeof(height)/sizeof(height[0]);
CountRangeItems(height,size,nArray);
DrawHistogram(nArray,5,'*');
return 0;
}
TC下调试通过
/*******************************************************
*Author :Wacs5
*Date :20090105(YYYY-MM-DD)
*Function :画简易的曲线图 *********************************************************/
#include stdio.h
#include conio.h
#include stdlib.h
#include math.h
#include Graphics.h
#define n 8
int main()
{
int i,j;
float data[]={7,3,12,6,9,5,8,11};
char str[40];
int gdrive=DETECT,gmode,errorcode;
int maxx,maxy;
int perx,pery;
int x0,x1,y0,y1;
int coloraxis=2,colorline=3;
float mindata,maxdata,ndata;
initgraph(gdrive,gmode,""); /*初始化设备*/
if ((errorcode=graphresult())!=grOk) /*查错*/
{
printf("Graphics error:%s\nPress any key to exit:",grapherrormsg(errorcode));
getch();
exit(1);
}
maxx=getmaxx();
maxy=getmaxy();
mindata=maxdata=data[0];
for (i=1;in;i++)
{
if (mindatadata[i])
mindata=data[i];
if (maxdatadata[i])
maxdata=data[i];
}
mindata=floor(mindata);
maxdata=ceil(maxdata);
perx=maxx/(n+4);
pery=maxy/(maxdata-mindata+4);
x0=2*perx;
y0=maxy-2*pery;
x1=maxx-2*perx;
y1=2*pery;
setcolor(coloraxis);
line(x0,y0,x1,y0);
line(x0,y0,x0,y1);
line(x1,y0,x1-4,y0+3);
line(x1,y0,x1-4,y0-3);
line(x0,y1,x0+3,y1+4);
line(x0,y1,x0-3,y1+4);
settextjustify(CENTER_TEXT,TOP_TEXT);
for (i=0;in;i+=n/3)
{
j=x0+i*perx;
line(j,y0,j,y0+2); /*刻度线*/
sprintf(str,"%d",i);
outtextxy(j,y0+4,str);
}
settextjustify(RIGHT_TEXT,CENTER_TEXT);
for (i=(maxdata-mindata)/3;i=maxdata-mindata;i+=(maxdata-mindata)/3)
{
j=y0-i*pery;
line(x0,j,x0-2,j); /*刻度线*/
sprintf(str,"%d",(int)mindata+i);
outtextxy(x0-4,j,str);
}
setcolor(colorline);
x1=x0+perx;
y1=y0-(data[0]-mindata)*pery;
circle(x1,y1,2);
moveto(x1,y1);
i=1;
do
{
x1+=perx;
y1=y0-(data[i]-mindata)*pery;
lineto(x1,y1);
circle(x1,y1,2);
moveto(x1,y1);
i++;
}while(in);
getch();
closegraph();
return 0;
}
求采纳为满意回答。
我就个人的经验来谈一下吧:如果你是会编程序而不会画流程图的这种我建议你应该先把自己的程序研究一遍倘若是画主程序流程图的话那就只需看懂主函数的程序就行了按照Main()函数中的具体书写过程来画比如:定义变量--------初始化变量------使用选择或者循环或者顺序结构------调用某一个子函数(可以没有)----------程序结束 以上是最简单的程序流程图画法
倘若你是画某一算法或是某一模块的流程图的话就要把相应的算法或是模块看懂再说分析算法或是模块的具体走法根据此走法就可以画出对应的流程图
如果你是初学者是想根据流程图的画法而去尝试编程的话我建议你就一定要研究好每一个使用到的算法读懂题目再画流程图