请各位高手帮菜鸟看看这段小程序
这段小程序是用来画图的一部分,运行的时候没有错误,但就是没有正确结果 程序呢? <P>// bc2Dlg.cpp : implementation file<BR>//</P><P>#include "stdafx.h"<BR>#include "resource.h"<BR>#include "bc1Dlg.h"<BR>#include "bc2Dlg.h"<BR>#include "bc3Dlg.h"</P>
<P>#include <string.h><BR>#include <aced.h><BR>#include <dbents.h><BR>#include <dbsymtb.h><BR>#include <dbgroup.h><BR>#include <dbapserv.h><BR>#include <math.h></P>
<P>#ifdef _DEBUG<BR>#define new DEBUG_NEW<BR>#undef THIS_FILE<BR>static char THIS_FILE[] = __FILE__;<BR>#endif</P>
<P>double C,d,d0,d1,d2,h,D1,D2,t0,K,Fmax,Fmin,Flim,n,n1,n2,Lmax,Lmin,Llim,<BR> G,H,H0,A,t,L0;<BR>char Fmaxs,Fmins,hs,D1s;<BR>extern char a,b,c;</P>
<P>/////////////////////////////////////////////////////////////////////////////<BR>// bc2Dlg dialog</P>
<P><BR>bc2Dlg::bc2Dlg(CWnd* pParent /*=NULL*/)<BR> : CDialog(bc2Dlg::IDD, pParent)<BR>{<BR> //{{AFX_DATA_INIT(bc2Dlg)<BR> // NOTE: the ClassWizard will add member initialization here<BR> //}}AFX_DATA_INIT<BR>}</P>
<P><BR>void bc2Dlg::DoDataExchange(CDataExchange* pDX)<BR>{<BR> CDialog::DoDataExchange(pDX);<BR> //{{AFX_DATA_MAP(bc2Dlg)<BR> DDX_Control(pDX, IDC_EDIT4, m_D1);<BR> DDX_Control(pDX, IDC_EDIT3, m_h);<BR> DDX_Control(pDX, IDC_EDIT2, m_Fmin);<BR> DDX_Control(pDX, IDC_EDIT1, m_Fmax);<BR> //}}AFX_DATA_MAP<BR>}</P>
<P><BR>BEGIN_MESSAGE_MAP(bc2Dlg, CDialog)<BR> //{{AFX_MSG_MAP(bc2Dlg)<BR> //}}AFX_MSG_MAP<BR>END_MESSAGE_MAP()</P>
<P>/////////////////////////////////////////////////////////////////////////////<BR>// bc2Dlg message handlers</P>
<P>BOOL bc2Dlg::OnInitDialog() <BR>{<BR> CDialog::OnInitDialog();<BR> <BR> // TODO: Add extra initialization here<BR> <BR> return TRUE; // return TRUE unless you set the focus to a control<BR> // EXCEPTION: OCX Property Pages should return FALSE<BR>}</P>
<P>void bc2Dlg::OnOK() <BR>{<BR> m_Fmax.GetWindowText(Fmaxs,20);<BR> m_Fmin.GetWindowText(Fmins,20);<BR> m_h.GetWindowText(hs,20);<BR> m_D1.GetWindowText(D1s,20);<BR> <BR> Fmax=atof((LPCTSTR)Fmaxs);<BR> Fmin=atof((LPCTSTR)Fmins);<BR> h=atof((LPCTSTR)hs);<BR> D1=atof((LPCTSTR)D1s);<BR> // TODO: Add extra validation here<BR> <BR> CDialog::OnOK();<BR>//_______________________*************_______________________第一步确定D2和d;<BR>C=6;<BR>d1=D1/(C+1);<BR>K=(4*C-1)/(4*C-4)+(0.615/C);<BR>//_______*****________计算【t】许用切应力<BR>if (b=="I类")<BR>{if (c=="碳素弹簧钢丝GB4357") t0=570;/就是在这里把t0的值提不出来<BR> else if (c=="琴钢丝YB/Y5101") t0=740;<BR> else if (c=="弹簧用不锈钢丝YBD(T)11") t0=740;<BR> else if (c=="阀门有油淬火回火碳素弹簧钢丝YB/T5102") t0=740;<BR> else if (c=="油淬火回火碳素弹簧钢丝YB/T5103") t0=740;<BR> else if (c=="油淬火回火硅锰弹簧钢丝YB/T5104") t0=740;<BR> else if (c=="阀门有油淬火回火碳素硌硅弹簧钢丝YB/T5105") t0=710;<BR> else if (c=="阀门有油淬火回火硌钒弹簧钢丝YD/T5108") t0=710;}</P>
<P>if (b=="II类")<BR>{ if(c=="碳素弹簧钢丝GB4357") t0=455;<BR> if(c=="琴钢丝YB/Y5101") t0=590;<BR> if(c=="弹簧用不锈钢丝YBD(T)11") t0=590;<BR> if (c=="阀门有油淬火回火碳素弹簧钢丝YB/T5102") t0=590;<BR> if (c=="油淬火回火碳素弹簧钢丝YB/T5103") t0=590;<BR> if (c=="油淬火回火硅锰弹簧钢丝YB/T5104") t0=590;<BR> if (c=="阀门有油淬火回火碳素硌硅弹簧钢丝YB/T5105") t0=570;<BR> if (c=="阀门有油淬火回火硌钒弹簧钢丝YD/T5108") t0=570;<BR>}</P>
<P>if (b=="III类")<BR>{if(c=="碳素弹簧钢丝GB4357") t0=340;<BR> else if (c=="琴钢丝YB/Y5101") t0=455;<BR> else if (c=="弹簧用不锈钢丝YBD(T)11") t0=455;<BR> else if (c=="阀门有油淬火回火碳素弹簧钢丝YB/T5102") t0=455;<BR> else if (c=="油淬火回火碳素弹簧钢丝YB/T5103") t0=455;<BR> else if (c=="油淬火回火硅锰弹簧钢丝YB/T5104") t0=455;<BR> else if (c=="阀门有油淬火回火碳素硌硅弹簧钢丝YB/T5105") t0=430;<BR> else if (c=="阀门有油淬火回火硌钒弹簧钢丝YD/T5108") t0=430;}<BR>d2=1.6*sqrt(K*Fmax*C/t0);</P>
<P>for (C=6;d1-d2>0.5||d1-d2<(-0.5);C++)<BR>{d1=D1/(C+1);d2=1.6*sqrt(K*Fmax*C/t0);}<BR>d=d2;</P>
<P> if( 0.10<d&&d<=0.12) d=0.12;<BR> else if (0.12<d2&&d2<=0.14) d=0.14;<BR> else if (0.14<d2&&d2<=0.16) d=0.16;<BR> else if (0.16<d2&&d2<=0.20) d=0.20;<BR> else if (0.20<d2&&d2<=0.25) d=0.25;</P>
<P> else if (0.25<d2&&d2<=0.30)d=0.30;<BR> else if (0.30<d2&&d2<=0.35)d=0.35;<BR> else if (0.35<d2&&d2<=0.40)d=0.40;<BR> else if (0.40<d2&&d2<=0.45)d=0.45;<BR> else if (0.45<d2&&d2<=0.50)d=0.50;<BR> else if (0.50<d2&&d2<=0.60)d=0.60;<BR> else if (0.60<d2&&d2<=0.70)d=0.70;<BR> else if (0.70<d2&&d2<=0.80)d=0.80;<BR> else if (0.80<d2&&d2<=0.90)d=0.90;<BR> else if (0.90<d2&&d2<=1.00)d=1.00;<BR> else if (1.00<d2&&d2<=1.20)d=1.20;<BR> else if (1.20<d2&&d2<=1.60)d=1.60;</P>
<P> else if (1.60<d2&&d2<=2.00)d=2.00;<BR> else if (2.00<d2&&d2<=2.50)d=2.50;<BR> else if (2.50<d2&&d2<=3.00)d=3.00;<BR> else if (3.00<d2&&d2<=3.50)d=3.50;<BR> else if (3.50<d2&&d2<=4.00)d=4.00;</P>
<P> else if (4.00<d2&&d2<=4.50)d=4.50;<BR> else if (4.50<d2&&d2<=5.00)d=5.00;<BR> else if (5.00<d2&&d2<=6.00)d=6.00;<BR> else if (6.00<d2&&d2<=8.00)d=8.00;<BR> else if (8.00<d2&&d2<=10.0)d=10.0;<BR> else if (10.0<d2&&d2<=12.0)d=12.0;<BR> else if (12.0<d2&&d2<=16.0)d=16.0;</P>
<P> else if (16.0<d2&&d2<=20.0)d=20.0;<BR> else if (20.0<d2&&d2<=25.0)d=25.0;<BR> else if (25.0<d2&&d2<=30.0)d=30.0;<BR> else if (30.0<d2&&d2<=35.0)d=35.0;<BR> else if (35.0<d2&&d2<=40.0)d=40.0;<BR> else if (40.0<d2&&d2<=45.0)d=45.0;</P>
<P> else if (45.0<d2&&d2<=50.0) d=50.0;<BR> else if (50.0<d2&&d2<=60.0) d=60.0;<BR> else if (60.0<d2&&d2<=70.0) d=70.0;<BR> else if (70.0<d2&&d2<=80.0) d=80.0;<BR> else if (80.0<d2||d2<0.10) <BR> acedAlert("\n 错 误!\nd的值计算存在错误!!!\n请从新选择参数!");</P>
<P> //____________**********___________ 确定有效工作圈数n<BR>Lmax=Fmax*h/(Fmax-Fmin);<BR>if (c=="碳素弹簧钢丝GB4357") G=79000;<BR>if (c=="琴钢丝YB/Y5101") G=79000;<BR>if (c=="弹簧用不锈钢丝YBD(T)11") G=71000;<BR>if (c=="阀门有油淬火回火碳素弹簧钢丝YB/T5102") G=79000;</P>
<P>if (c=="油淬火回火碳素弹簧钢丝YB/T5103") G=79000;//就是在这里把G的值提不出if (c=="油淬火回火硅锰弹簧钢丝YB/T5104") G=79000;<BR>if (c=="阀门有油淬火回火碳素硌硅弹簧钢丝YB/T5105") G=79000;<BR>if (c=="阀门有油淬火回火硌钒弹簧钢丝YD/T5108") G=79000;</P>
<P>n1=(G*Lmax*d)/(8*Fmax*C*C*C);<BR>if (2<n1&&n1<=2.25) n=2.25;<BR>else if (2.25<n1&&n1<=2.5) n=2.5;<BR>else if (2.5<n1&&n1<=2.75) n=2.75;<BR>else if (2.75<n1&&n1<=3) n=3;<BR>else if (3<n1&&n1<=3.25) n=3.25;<BR>else if (3.25<n1&&n1<=3.5) n=3.5;<BR>else if (3.5<n1&&n1<=3.75) n=3.75;<BR>else if (3.75<n1&&n1<=4) n=4;<BR>else if (4<n1&&n1<=4.25) n=4.25;<BR>else if (4.25<n1&&n1<=4.5) n=4.5;<BR>else if (4.5<n1&&n1<=4.75) n=4.75;<BR>else if (4.75<n1&&n1<=5) n=5;<BR>else if (5<n1&&n1<=5.5) n=5.5;<BR>else if (5.5<n1&&n1<=6) n=6;<BR>else if (6<n1&&n1<=6.5) n=6.5;<BR>else if (6.5<n1&&n1<=7) n=7;<BR>else if (7<n1&&n1<=7.5) n=7.5;<BR>else if (7.5<n1&&n1<=8) n=8;<BR>else if (8<n1&&n1<=8.5) n=8.5;<BR>else if (8.5<n1&&n1<=9) n=9;<BR>else if (9<n1&&n1<=9.5) n=9.5;<BR>else if (9.5<n1&&n1<=10) n=10;<BR>else if (10<n1&&n1<=10.5) n=10.5;<BR>else if (10.5<n1&&n1<=11.5) n=11.5;<BR>else if (11.5<n1&&n1<=12.5) n=12.5;<BR>else if (12.5<n1&&n1<=13.5) n=13.5;<BR>else if (13.5<n1&&n1<=14.5) n=14.5;<BR>else if (14.5<n1&&n1<=15) n=15;<BR>else if (15<n1&&n1<=16) n=16;<BR>else if (16<n1&&n1<=18) n=18;<BR>else if (18<n1&&n1<=20) n=20;<BR>else if (20<n1&&n1<=22) n=22;<BR>else if (22<n1&&n1<=25) n=25;<BR>else if (25<n1&&n1<=28) n=28;<BR>else if (28<n1&&n1<=30) n=30;<BR>else if (30<n1||n1<2) <BR> acedAlert("\n 错 误!\n弹簧圈数n的值计算存在错误!\n请从新选择参数!");</P>
<P>n2=n+2;//总圈数为n2,</P>
<P>//____________**********___________ 确定变形量Llin,Lmax,Lmin,和实际最小载荷Fmin</P>
<P>Flim=Fmax/0.8;<BR>Llim=8*n*Flim*C*C*C/(G*d);</P>
<P>Lmax=8*n*Fmax*C*C*C/(G*d);<BR>Lmin=Lmax-h;<BR>Fmin=G*Lmin*d/(8*n*C*C*C);</P>
<P>//____________**********___________ 确定弹簧节距t,自由高度H,螺旋升角和簧丝展开长度L0<BR>d0=0.1*d;//在F作用下相连两圈的间距<BR>t=(d+Lmax)/(n+d0);//节距t<BR>H=n*t+1.5*d;//自由高度<BR>if (4<H&&H<=5) H=5;<BR>else if (5<H&&H<=6) H0=6;<BR>else if (6<H&&H<=7) H0=7;<BR>else if (7<H&&H<=8) H0=8;<BR>else if (8<H&&H<=9) H0=9;<BR>else if (9<H&&H<=10) H0=10;<BR>else if (10<H&&H<=11) H0=11;<BR>else if (11<H&&H<=12) H0=12;<BR>else if (12<H&&H<=13) H0=13;<BR>else if (13<H&&H<=14) H0=14;<BR>else if (14<H&&H<=15) H0=15;<BR>else if (15<H&&H<=16) H0=16;<BR>else if (16<H&&H<=17) H0=17;<BR>else if (17<H&&H<=18) H0=18;<BR>else if (18<H&&H<=19) H0=19;<BR>else if (19<H&&H<=20) H0=20;<BR>else if (20<H&&H<=22) H0=22;<BR>else if (22<H&&H<=24) H0=24;<BR>else if (24<H&&H<=26) H0=26;<BR>else if (26<H&&H<=28) H0=28;<BR>else if (28<H&&H<=30) H0=30;<BR>else if (30<H&&H<=35) H0=35;<BR>else if (32<H&&H<=35) H0=35;<BR>else if (35<H&&H<=38) H0=38;<BR>else if (38<H&&H<=40) H0=40;<BR>else if (40<H&&H<=42) H0=42;<BR>else if (42<H&&H<=45) H0=45;<BR>else if (45<H&&H<=48) H0=48;<BR>else if (48<H&&H<=50) H0=50;<BR>else if (50<H&&H<=52) H0=52;<BR>else if (52<H&&H<=55) H0=55;<BR>else if (55<H&&H<=58) H0=58;<BR>else if (58<H&&H<=60) H0=60;<BR>else if (60<H&&H<=65) H0=65;<BR>else if (65<H&&H<=70) H0=70;<BR>else if (70<H&&H<=75) H0=75;<BR>else if (75<H&&H<=80) H0=80;<BR>else if (80<H&&H<=85) H0=85;<BR>else if (85<H&&H<=90) H0=90;<BR>else if (90<H&&H<=95) H0=95;<BR>else if (95<H&&H<=100) H0=100;<BR>else if (100<H&&H<=105) H0=105;<BR>else if (105<H&&H<=110) H0=110;</P>
<P>else if (110<H&&H<=115) H0=115;<BR>else if (115<H&&H<=120) H0=120;<BR>else if (120<H&&H<=130) H0=130;<BR>else if (130<H&&H<=140) H0=140;<BR>else if (140<H&&H<=150) H0=150;<BR>else if (150<H&&H<=160) H0=160;<BR>else if (160<H&&H<=170) H0=170;<BR>else if (170<H&&H<=180) H0=180;<BR>else if (180<H&&H<=190) H0=190;<BR>else if (190<H&&H<=200) H0=200;<BR>else if (200<H&&H<=220) H0=220;<BR>else if (220<H&&H<=240) H0=240;<BR>else if (240<H&&H<=260) H0=260;<BR>else if (260<H&&H<=280) H0=280;<BR>else if (280<H&&H<=300) H0=300;<BR>else if (300<H&&H<=320) H0=320;<BR>else if (320<H&&H<=340) H0=340;<BR>else if (340<H&&H<=360) H0=360;<BR>else if (360<H&&H<=380) H0=380;<BR>else if (380<H&&H<=400) H0=400;<BR>else if (400<H&&H<=420) H0=420;<BR>else if (420<H&&H<=450) H0=450;<BR>else if (450<H&&H<=480) H0=480;<BR>else if (480<H&&H<=500) H0=500;<BR>else if (500<H&&H<=520) H0=520;<BR>else if (520<H&&H<=550) H0=550;<BR>else if (550<H&&H<=580) H0=580;<BR>else if (580<H&&H<=600) H0=600;<BR>else if (600<H&&H<=620) H0=620;<BR>else if (620<H&&H<=650) H0=650;<BR>else if (650<H&&H<=680) H0=680;<BR>else if (680<H&&H<=700) H0=700;<BR>else if (700<H&&H<=720) H0=720;<BR>else if (720<H&&H<=750) H0=750;<BR>else if (750<H&&H<=780) H0=780;<BR>else if (780<H&&H<=800) H0=800;<BR>else if (800<H&&H<=850) H0=850;</P>
<P>else if (850<H&&H<=900) H0=900;<BR>else if (900<H&&H<=1000) H0=1000;<BR>else if (1000<H||H<4) <BR> acedAlert("\n 错 误!\n弹簧自由高度的值计算存在错误!\n请从新选择参数!");</P>
<P>A=atan(t/(3.141592*D2));<BR>L0=3.141592*D2*n2/cos(A);<BR>//____________**********___________ 稳定性计算</P>
<P> </P> <P>这是个做二维弹簧工作图的设计部分</P>
<P>画图部分已经做了,就等设计完成了</P>
<P>小菜鸟很急,请各位朋友帮忙</P>
<P>我的email:wangqingm@eyou.com</P>
<P>QQ:43556244</P>
页:
[1]