求一个C++程序,要求输入坐标画出图形

输入x,y坐标(多个点),画出图形(可以不拟合,直接连线也成)设计一个窗口,输入x,y坐标(多个点),画出图形(可以不拟合,直接连线也成)... 输入x,y坐标(多个点),画出图形(可以不拟合,直接连线也成)
设计一个窗口,输入x,y坐标(多个点),画出图形(可以不拟合,直接连线也成)
展开
 我来答
金色潜鸟
2012-06-14 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5544万
展开全部
常规 MS VC++ 6.0 API 程序就可以:
头文件,自己增减:
#include <Afxwin.h>
#include <process.h>
#include <math.h>
#include <Winuser.h>
#pragma comment (lib, "User32.lib")
。。。
// 声明一些要用的全局量
char pname[40],namein[50],str[120],para2[10],para3[10],para4[10];;
char one_line[80];
int len,NN;
FILE *fin;
LPTSTR argv;
int WINAPI WinMain(HINSTANCE .....nCmdShow) //常规主程序
{
MSG Msg;
int i;
//get cmd line
argv = GetCommandLine(); // 取命令行位置参数
len = strlen(argv);
sprintf(one_line,"%s",argv);
i = sscanf(one_line,"%s %s %s %s %s",&pname[0],&namein[0],¶2[0],¶3[0],&
para4[0]);
// 我这里取 输入文件名,t0, dt .... (我de文件内容是 y(t) )
if (i < 2 ) {sprintf(str,"Usage: %s namein t0 dt n_xdiv \n",pname);
if (i >= 3) {sscanf(para3,"%f",&dt); if (dt<=0) dt=1.0; };
if (i >= 4) {sscanf(para4,"%d",&draw_nt); if (draw_nt<=0) draw_nt=6; };
if ( (fin = fopen(namein,"r"))==NULL) {
sprintf(str,"Can not open %s",namein); OnDisplayMessage( str);exit(0);
};
这里打开文件,动态分配数组,读入数据。
LRESULT CALLBACK WndProc(。。。){
switch(message)
{
case WM_CREATE:
....
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps); // begin paint
SetWindowExtEx(hdc,1200,800,NULL);
SetViewportExtEx(hdc,1200,800*bt_scale_1,NULL);
SetViewportOrgEx(hdc,100,150,NULL);

// 画格子
color=RGB(0,128,128);
hP1=CreatePen(PS_SOLID,0,color);
SelectObject(hdc,hP1);
MoveToEx( hdc,0, y_shift-(draw_yu-y_min)*ry, NULL );
LineTo(hdc,900,y_shift-(draw_yu-y_min)*ry);
LineTo(hdc,900,y_shift-(draw_yd-y_min)*ry);
...
这里画图形,
MoveToEx( hdc, (t0-draw_td)* rx, y_shift-yt[0]*ry, NULL );
循环语句,画(x,y) 直线, 我画y(t), 你改成 x,y 就可以了
rx,ry 是比例,x,y 数值与屏幕尺寸单位(pixel) 之比
for (i=1;i<NN ;i++){
LineTo(hdc,(t0+i*dt-draw_td)*rx, y_shift-yt[i]*ry);
}
..
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhouw06
2012-06-14 · TA获得超过462个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:270万
展开全部
可以学习一下QT的使用,如果你只是一次性使用的话,那参考一下网上的代码就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式