沂水之寒 沂水之寒
原来大家都不容易。
关注数: 97 粉丝数: 68 发帖数: 17,727 关注贴吧数: 45
C++提示没有错误和警告、但是输出乱码! #include<iostream> #include<fstream> #include<math.h> #include<iomanip> using namespace std; #define PI 3.1415926 void main() { double a=0.08,d=0.2,dltb=65*(PI/180),psi0=28*(PI/180),gma=30*(PI/180),H6=0.2,h4=0.15,h6=0.0825,w1=10;//变量初始化 double dltl,dltr,h,ka,kb,kc,dlt,nmt,wl3,wl2,al3,vl6,al6,S6,V6,a6,fai; ofstream outfile("曲柄摇杆三型移动从动件六杆机构.xls",ios::out);//输出.xls格式的文件 if(!outfile) { cerr<<"open error!"<<endl; exit(1); } outfile<<"............题目:曲柄摇杆三型移动从动件六杆机构..........."<<"\n"<<"\n"; cout<<"............题目:曲柄摇杆三型移动从动件六杆机构.............."<<"\n"<<"\n"; outfile<<"a="<<a<<"m"<<" " <<"d="<<d<<"m"<<" " <<"dltb="<<dltb<<"m"<<" " <<"psi0="<<psi0<<"°" <<"gma="<<gma<<"m"<< " " <<"H6="<<H6<<"m"<<" " <<"h4="<<h4<<"m"<<" " <<"h6="<<h6<<"m"<<" " <<"w1="<<w1<<"rad/s"<<" " <<endl; outfile<<"S6"<<"\t"<<"V6"<<"\t"<<"a6"<<"\n"; double M,N,L,a0,b0,b,c,fair; a0=a/d; M=(1-cos(psi0)+2*sin(0.5*dltb)*sin(0.5*dltb))*(1-cos(psi0)+2*sin(0.5*dltb)*sin(0.5*dltb))-8*(1-cos(psi0))*cos(gma)*cos(gma)*sin(0.5*dltb)*sin(0.5*dltb); N=2*(2*sin(0.5*dltb)*sin(0.5*dltb)*(1-a0)*(1-a0)-(1+cos(psi0))*a0*a0)*(1-cos(psi0)+2*sin(0.5*dltb)*sin(0.5*dltb))+8*sin(0.5*dltb)*sin(0.5*dltb)*cos(gma)*cos(gma)*(1+cos(psi0))*a0*a0; L=(2*(1-a0)*(1-a0)*sin(0.5*dltb)*sin(0.5*dltb)-(1+cos(psi0))*a0*a0)*(2*(1-a0)*(1-a0)*sin(0.5*dltb)*sin(0.5*dltb)-(1+cos(psi0))*a0*a0); b=d*sqrt(-N+sqrt(N*N-4*M*L)/(2*M)); b0=b/d; c=d*sqrt((b0*b0+a0*a0-(b0*b0-a0*a0)*cos(psi0))/(2*sin(0.5*dltb)*sin(0.5*dltb))); h=H6/(1-cos(dltb))-c; fair=(double)acos(((a+b)*(a+b)+d*d-c*c)/(2*(a+b)*d)); for(fai=fair;fai<=2*PI+fair;fai=fai+(PI/180)) { double c0,d0; c0=c/d; d0=d/d; dltl=PI-atan(sqrt(2*c*d*2*c*d-(c*c+d*d-(b-a)*(b-a))*(c*c+d*d-(b-a)*(b-a)))/(c*c+d*d-(b-a)*(b-a)))*atan(sqrt(2*c*d*2*c*d-(c*c+d*d-(b-a)*(b-a))*(c*c+d*d-(b-a)*(b-a)))/(c*c+d*d-(b-a)*(b-a))); dltr=PI-atan(sqrt(2*c*d*2*c*d-(c*c+d*d-(b+a)*(b+a))*(c*c+d*d-(b+a)*(b+a)))/(c*c+d*d-(b+a)*(b+a)))*atan(sqrt(2*c*d*2*c*d-(c*c+d*d-(b+a)*(b+a))*(c*c+d*d-(b+a)*(b+a)))/(c*c+d*d-(b+a)*(b+a))); ka=-sin(fai); kb=d/a-cos(fai); kc=(d*d+c*c+a*a-b*b)/(2*a*c)-(d/c)*cos(fai); dlt=2*atan(ka+sqrt(ka*ka+kb*kb-kc*kc)/(kb-kc)); nmt=atan((c*sin(dlt)-a*sin(fai))/(d+c*cos(dlt)-a*cos(fai))); wl3=(a*sin(fai-nmt))/(c*sin(dlt-nmt)); wl2=(a*sin(fai-dlt))/(b*sin(dlt-nmt)); al3=(a*cos(fai-nmt)+b*wl2*wl2-c*wl3*wl3*cos(fai-nmt))/(c*sin(dlt-nmt)); vl6=(c+h)*sin(dltl-dlt); al6=-(c+h)*cos(dltl-dlt); S6=(c+h)*cos(dltl-dlt)-(c+h)*cos(dltb); V6=vl6*wl3*w1; a6=(al6*wl3*wl3+vl6*al3)*w1*w1; cout<<"S6="<<S6<<" "<<"V6="<<V6<<" "<<"a6="<<a6<<" "<<endl; outfile<<S6<<"\t"<<V6<<"\t"<<a6<<endl; } }
1 下一页