求VC++编程高手,编辑一个MFC单文档对话框,输入a,c值,用输出数据画曲线图!定有重谢!!!
程序代码如下:#include<stdio.h>#include<math.h>FILE*fp;doublefun1(doubleh,doublex,doublea,do...
程序代码如下:
#include<stdio.h>
#include<math.h>
FILE *fp;
double fun1(double h,double x, double a, double c)
{
double s;
s=((h*h+x*x-a*a-c*c)+sqrt((x*x+h*h)*(x*x+h*h)+(a*a-c*c)*(a*a-c*c)-2*(a*a-c*c)*(x*x-h*h)))/2.0;
return s;
}
double fun2(double h, double x, double a, double c)
{
double t;
t=x*(1+(x*x+h*h-a*a+c*c)/(sqrt((x*x+h*h)*(x*x+h*h)+(a*a-c*c)*(a*a-c*c)-2*(a*a-c*c)*(x*x-h*h))));
return t;
}
void main()
{
int i;
double h,x,a,c,u,u1,p1=1.0,p2=100.0,ps;
double A[3]={0.005,0.01,0.05},C[3]={3.0,5.0,8.0};
double *P,*Q;
fp=fopen("ps.txt","w");
P=A;
Q=C;
for(h=10.0;h<=50.0;h+=20.0)
{
for(x=-30.0;x<=30.0;x++)
{
for(i=0;i<=2;i++)
{
a=*(P+i);
c=*(Q+i);
//printf("%f %f %f %f \n",h,x,a,c);
u=fun1(h,x,a,c);
u1=fun2(h,x,a,c);
ps=p1*(1+((2*(p1-p2)*a*c)/((a-c)*(p2*a+p1*c)))*(1-sqrt((c*c+u)/(a*a+u))-x*u1*((a*a-c*c)/(2*sqrt(c*c+u)*pow(a*a+u,1.5)))));
printf("%f %f %f %f\n",h,x,a,ps);
// fprintf(fp,"%f %f\n",x,ps);
}
fprintf(fp,"%f %f\n",x,ps);
}
}
fclose(fp);
} 展开
#include<stdio.h>
#include<math.h>
FILE *fp;
double fun1(double h,double x, double a, double c)
{
double s;
s=((h*h+x*x-a*a-c*c)+sqrt((x*x+h*h)*(x*x+h*h)+(a*a-c*c)*(a*a-c*c)-2*(a*a-c*c)*(x*x-h*h)))/2.0;
return s;
}
double fun2(double h, double x, double a, double c)
{
double t;
t=x*(1+(x*x+h*h-a*a+c*c)/(sqrt((x*x+h*h)*(x*x+h*h)+(a*a-c*c)*(a*a-c*c)-2*(a*a-c*c)*(x*x-h*h))));
return t;
}
void main()
{
int i;
double h,x,a,c,u,u1,p1=1.0,p2=100.0,ps;
double A[3]={0.005,0.01,0.05},C[3]={3.0,5.0,8.0};
double *P,*Q;
fp=fopen("ps.txt","w");
P=A;
Q=C;
for(h=10.0;h<=50.0;h+=20.0)
{
for(x=-30.0;x<=30.0;x++)
{
for(i=0;i<=2;i++)
{
a=*(P+i);
c=*(Q+i);
//printf("%f %f %f %f \n",h,x,a,c);
u=fun1(h,x,a,c);
u1=fun2(h,x,a,c);
ps=p1*(1+((2*(p1-p2)*a*c)/((a-c)*(p2*a+p1*c)))*(1-sqrt((c*c+u)/(a*a+u))-x*u1*((a*a-c*c)/(2*sqrt(c*c+u)*pow(a*a+u,1.5)))));
printf("%f %f %f %f\n",h,x,a,ps);
// fprintf(fp,"%f %f\n",x,ps);
}
fprintf(fp,"%f %f\n",x,ps);
}
}
fclose(fp);
} 展开
6个回答
展开全部
可能你的网络原因后面的包可能被丢弃了。这是UDP协议固有的问题,如果需要校验或者超时重发必须自己写。TCP就不会有这样的问题。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以在窗体里直接画,调用系统OnDraw()函数
也可以调用一个对话框,在对话框窗体里画,用CDC* pDC=GetDC();方式,
还可以在这个对话框上使用picture控件
方法很多
也可以调用一个对话框,在对话框窗体里画,用CDC* pDC=GetDC();方式,
还可以在这个对话框上使用picture控件
方法很多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
兄弟 你这个曲线图在这里怎么画.....你应该去CSDN问了.....百度不适合你这个问题
更多追问追答
追问
不是你能会不会,用VC++编对话框啊
追答
会,懒得弄,太麻烦,我要下班了.....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是想用你的函数计算点坐标,然后拿MFC实现下界面吧?
- -~你找个孙鑫的视频看看.重点看下DC部分.有不会的,查MSDN或者度我~
- -~你找个孙鑫的视频看看.重点看下DC部分.有不会的,查MSDN或者度我~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-12-28
展开全部
到底是单文档啊还是对话框的
更多追问追答
追问
反正就是一个对话框,然后是MFC的单文档类型 的
追答
对话框输入数据,单文档画图是吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询