⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 youixanyuan.cpp

📁 有限元算法。平面绗架结构的有限元分析
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		case '5':
			cout<<"重新输入非节点载荷:";
	        cin>>NPF;
			break;
		default:
			cout<<"你的输入不正确,请重新输入."<<endl<<endl;
		    break;
		}
		cout<<endl;
		cout<<"单元数:"<<NE<<" 节点数:"<<NJ<<" 支持数:"<<NZ<<" 有节点载荷作用的节点数:"<<NPJ<<" 非节点载荷数:"<<NPF<<endl;
        cout<<"以上数据是否有错?确定有错,请输入Y,按其他任意键被视为无错."<<endl;
		cin>>queding;
		cout<<endl;
	}

	//****************
	//输入单元几何参数
	//****************
    cout<<"请输入单元的几何参数:"<<endl;
    for(int i=0;i<NE;i++)
	{
		cout<<"第"<<i+1<<"单元"<<endl;
        cout<<"长度:";
		cin>>changdu[i];
		cout<<"角度:";
		cin>>jiaodu[i];
		jiaodu[i]=jiaodu[i]*PI/180;
		cout<<"弹性模量E:";
		cin>>tanxingmoliang[i];
		cout<<"J模量:";
		cin>>J_moliang[i];
		cout<<"面积:";
		cin>>mianji[i];
		cout<<endl;
		//cout<<"第"<<i+1<<"单元长度:"<<changdu[i]<<" 角度:"<<jiaodu[i]<<" 弹性模量E:"<<tanxingmoliang[i]<<" J量:"<<J_moliang[i]<<" 面积:"<<mianji[i]<<endl<<endl;
	    cout<<endl;
	}
    cout<<"各单元几何参数如下:"<<endl;
	cout<<"单元"<<"\t"<<"单元长度:"<<"\t"<<"角度:    "<<"\t"<<"弹性模量E:"<<"\t"<<"J量:    "<<"\t"<<"面积:"<<endl;
	for(i=0;i<NE;i++)
	{
		//cout<<"第"<<i+1<<"单元"<<endl;
		//cout<<"单元"<<"\t\t"<<"单元长度:"<<"\t\t"<<"角度:"<<"\t\t<<"弹性模量E:"<<"\t\t"<<"J量:"<<"\t\t"<<"面积:"<<endl;
		cout<<i+1<<"\t"<<changdu[i]<<"\t\t"<<jiaodu[i]<<"\t\t"<<tanxingmoliang[i]<<"\t\t"<<J_moliang[i]<<"\t"<<mianji[i]<<endl;
	}
	queding='n';
	cout<<endl;
	cout<<"请确定以上输入是否有错?有错请输入y,输入其他任意键被视为无错!"<<endl;
	cin>>queding;
    while(queding=='y')
	{
		cout<<"你要修改第几个单元?请输入单元号数:";
		cin>>i_qdxuhao;
		int p=-1;
		for(i=0;i<NE;i++)
			if(i_qdxuhao-1==i)
				p=i_qdxuhao-1;
		if(p<0||p>NE)
		{
			cout<<"你输入的单元号数不存在,请重新输入!"<<endl;
			queding='y';
		}
		else
		{
			for(i=0;i<NE;i++)
			{
				if(p==i)
				{
					cout<<"第"<<p+1<<"单元"<<endl;
                    cout<<"长度:";
            		cin>>changdu[p];
            		cout<<"角度:";
					cin>>jiaodu[p];
					jiaodu[i]=jiaodu[i]*PI/180;
					cout<<"弹性模量E:";
					cin>>tanxingmoliang[p];
					cout<<"J模量:";
					cin>>J_moliang[p];
					cout<<"面积:";
					cin>>mianji[p];
					cout<<endl;
					
				}
			}
		}
		cout<<"单元"<<"\t"<<"单元长度:"<<"\t"<<"角度:    "<<"\t"<<"弹性模量E:"<<"\t"<<"J量:    "<<"\t"<<"面积:"<<endl;
	    for(i=0;i<NE;i++)
		{
			//cout<<"第"<<i+1<<"单元"<<endl;
			//cout<<"单元"<<"\t\t"<<"单元长度:"<<"\t\t"<<"角度:"<<"\t\t<<"弹性模量E:"<<"\t\t"<<"J量:"<<"\t\t"<<"面积:"<<endl;
	    	cout<<i+1<<"\t"<<changdu[i]<<"\t\t"<<jiaodu[i]<<"\t\t"<<tanxingmoliang[i]<<"\t\t"<<J_moliang[i]<<"\t\t"<<mianji[i]<<endl;
		}
		cout<<endl;
    	cout<<"请确定以上输入是否有错?有错请输入y,输入其他任意键被视为无错!"<<endl;
    	cin>>queding;
	}
	cout<<endl;
    queding='n';
    
	//**********************
	//输入单元对应的节点总码
	//**********************
    cout<<"请输入个单元对应的节点总码"<<endl;
	for(i=0;i<NE;i++)
	{
		cout<<"第"<<i+1<<"单元前面节点的总码:";
		cin>>dym_jdm[i][0];
        cout<<"第"<<i+1<<"单元后面节点的总码:";
        cin>>dym_jdm[i][1];
	}
	cout<<"各单元对应节点总码如下:"<<endl;
	cout<<"单元号   "<<"\t"<<"前节点总码"<<"\t"<<"后节点总码"<<endl;
	for(i=0;i<NE;i++)
		cout<<i+1<<"\t\t"<<dym_jdm[i][0]<<"\t\t"<<dym_jdm[i][1]<<endl;
	cout<<"请确定单元对应节点总码是否正确,不正确时请输入y,重新输入,按其他任意键表示正确!"<<endl;
	cin>>queding;
	cout<<endl;
	while(queding=='y')
	{
		cout<<"请输入要修改的单元号:";
		cin>>i_qdxuhao;
		int p=-1;
		for(i=0;i<NE;i++)
		{
			if(i_qdxuhao-1==i)
				p=i_qdxuhao-1;

		}
		if(p<0||p>NE)
		{
			cout<<"你输入的单元号数不存在,请重新输入!"<<endl;
			queding='y';
		}
        else
		{
			for(i=0;i<NE;i++)
			{
				if(p==i)
				{
					cout<<"第"<<p+1<<"单元前面节点的总码";
             		cin>>dym_jdm[p][0];
                    cout<<"第"<<p+1<<"单元后面节点的总码";
                    cin>>dym_jdm[p][1];
				}
			}
			cout<<"各单元对应节点总码如下:"<<endl;
         	cout<<"单元号   "<<"\t"<<"前节点总码"<<"\t"<<"后节点总码"<<endl;
			for(i=0;i<NE;i++)
				cout<<i+1<<"\t\t"<<dym_jdm[i][0]<<"\t\t"<<dym_jdm[i][1]<<endl;
			cout<<"请确定单元对应节点总码是否正确,不正确时请输入y,重新输入,按其他任意键代表正确!"<<endl;
		}
		cin>>queding;
		cout<<endl;		
	}
	queding='n';
    cout<<endl;

	//***************************
	//输入支承点位置
	//***************************
    cout<<"请输入支承点位置:"<<endl;
	for(i=0;i<NZ;i++)
	{
		cout<<"第"<<i+1<<"支承位:";
		cin>>zhichengweizhi[i];
	}
	cout<<endl;
	cout<<endl;
	cout<<"支承位置如下:"<<endl;
	cout<<"支承位置:"<<"\t";
	for(i=0;i<NZ;i++)
	{
		cout<<zhichengweizhi[i]<<"  ";
	}
	cout<<endl;
	cout<<"请确定支承点位置是否正确,不正确时请输入y,重新输入,按其他任意键表示正确!"<<endl;
	cin>>queding;
	while(queding=='y')
	{
		cout<<"请重新输入支承点位置:"<<endl;
		for(i=0;i<NZ;i++)
		{
			cout<<"第"<<i+1<<"支承位:";
			cin>>zhichengweizhi[i];
		}
		cout<<endl;
    	cout<<endl;
		cout<<"支承位置如下:"<<endl;
		cout<<"节点位置"<<"\t"<<endl;
		for(i=0;i<NZ;i++)
		{
			cout<<zhichengweizhi[i]<<"  ";
		}
		cout<<endl;
		cout<<"请确定支承点位置是否正确,不正确时请输入y,重新输入,按其他任意键表示正确!"<<endl;
     	cin>>queding;
	}
	queding='n';
    cout<<endl;

	//*********************
	//输入节点载荷值
	//*********************
	cout<<"请输入节点载荷作用节点及其载荷值:"<<endl;
    for(i=0;i<NPJ;i++)
	{
		cout<<"载荷所在节点位置:";
		cin>>jdzhzuoyongdian[i];
	}
	for(i=0;i<NPJ;i++)
	{
		cout<<"第"<<jdzhzuoyongdian[i]<<"节点的载荷值:"<<endl;
        cout<<"U:";
		cin>>jiedianzaihe[i][0];
		cout<<"V:";
		cin>>jiedianzaihe[i][1];
		cout<<"M:";
		cin>>jiedianzaihe[i][2];
	}
	cout<<endl;
	cout<<"节点载荷输入如下:"<<endl;
	cout<<"节点位置"<<"\t"<<"U      "<<"\t\t"<<"V      "<<"\t\t"<<"M      "<<endl;      
	for(i=0;i<NPJ;i++)
	{
		cout<<jdzhzuoyongdian[i]<<"\t\t"<<jiedianzaihe[i][0]<<"\t\t"<<jiedianzaihe[i][1]<<"\t\t"<<jiedianzaihe[i][2];
	    cout<<endl;
	}
	cout<<endl;
	cout<<"请确定节点载荷及其数值是否正确,不正确时请输入y,重新输入,按任意其他键代表正确!";
	cin>>queding;
	cout<<endl;
	while(queding=='y')
	{
		cout<<"请重新输入节点载荷作用节点及其载荷值:"<<endl;
		for(i=0;i<NPJ;i++)
		{
			cout<<"载荷所在节点位置:";
			cin>>jdzhzuoyongdian[i];	
		}
		for(i=0;i<NPJ;i++)	
		{
			cout<<"第"<<jdzhzuoyongdian[i]<<"节点的载荷值:"<<endl;
			cout<<"U:";
			cin>>jiedianzaihe[i][0];
			cout<<"V:";
			cin>>jiedianzaihe[i][1];
			cout<<"M:";
			cin>>jiedianzaihe[i][2];
		}
		cout<<endl;
		cout<<"节点载荷输入如下:"<<endl;
		cout<<"节点位置"<<"\t"<<"U      "<<"\t\t"<<"V      "<<"\t\t"<<"M      "<<endl;      
		for(i=0;i<NPJ;i++)
		{
			cout<<jdzhzuoyongdian[i]<<"\t\t"<<jiedianzaihe[i][0]<<"\t\t"<<jiedianzaihe[i][1]<<"\t\t"<<jiedianzaihe[i][2];
			cout<<endl;
		}
		cout<<endl;
		cout<<"请确定节点载荷及其数值是否正确,不正确时请输入y,重新输入,按任意其他键代表正确!";
		cin>>queding;
	}
	queding='n';
	cout<<endl;

    //*********************
	//输入节非点载荷值
	//*********************
    cout<<"请输入非节点载荷作单元,载荷类型,载荷值,作用点(指离第一个节点的距离),作用角度:"<<endl;
	cout<<"其中1-均布,2-垂直集中,3-平行集中,4-力偶,5-角度集中"<<endl;
	for(i=0;i<NPF;i++)
	{
		cout<<"第"<<i+1<<"个非节点载荷作用单元:";
		cin>>fjzhzuoyongdanyuan[i];
		cout<<"载荷类型:";
		cin>>fjzhleixing[i];
		cout<<"载荷值  :";
		cin>>fjzhzhi[i];
		cout<<"离第一个节点的距离:";
		cin>>fjzhzuoyongdian[i];
		cout<<"作用角度:";
		cin>>fjzhjiaodu[i];
		fjzhjiaodu[i]=fjzhjiaodu[i]*PI/180;
		cout<<endl;
	}
	cout<<endl;
	cout<<"非节点载荷的作用情况如下:"<<endl;
	cout<<"作用单元"<<"\t"<<"载荷类型"<<"\t"<<"载荷值"<<"\t\t"<<"作用点"<<"\t\t"<<"作用角度"<<endl;
	for(i=0;i<NPF;i++)
		cout<<fjzhzuoyongdanyuan[i]<<"\t\t"<<fjzhleixing[i]<<"\t\t"<<fjzhzhi[i]<<"\t\t"<<fjzhzuoyongdian[i]<<"\t\t"<<fjzhjiaodu[i]<<endl;
    cout<<endl;
	cout<<"请确定节点载荷及其数值是否正确,不正确时请输入y,重新输入,按任意其他键代表正确!";
	cin>>queding;
	cout<<endl;
	while(queding=='y')
	{
		cout<<"请重新输入非节点载荷的情况:"<<endl;
		cout<<"请输入非节点载荷作单元,载荷类型,载荷值,作用点(指离第一个节点的距离),作用角度:"<<endl;
		cout<<"其中1-均布,2-垂直集中,3-平行集中,4-力偶,5-角度集中"<<endl;
		for(i=0;i<NPF;i++)
		{
			cout<<"第"<<i+1<<"个非节点载荷作用单元:";
			cin>>fjzhzuoyongdanyuan[i];
			cout<<"载荷类型:";
			cin>>fjzhleixing[i];
			cout<<"载荷值  :";	
			cin>>fjzhzhi[i];
			cout<<"离第一个节点的距离:";
			cin>>fjzhzuoyongdian[i];
			cout<<"作用角度:";
			cin>>fjzhjiaodu[i];
			cout<<endl;
		}
		cout<<endl;
		cout<<"非节点载荷的作用情况如下:"<<endl;
		cout<<"作用单元"<<"\t"<<"载荷类型"<<"\t"<<"载荷值"<<"\t\t"<<"作用点"<<"\t\t"<<"作用角度"<<endl;
		for(i=0;i<NPF;i++)
			cout<<fjzhzuoyongdanyuan[i]<<"\t\t"<<fjzhleixing[i]<<"\t\t"<<fjzhzhi[i]<<"\t\t"<<fjzhzuoyongdian[i]<<"\t\t"<<fjzhjiaodu[i]<<endl;
 
		cout<<endl;
		cout<<"请确定节点载荷及其数值是否正确,不正确时请输入y,重新输入,按任意其他键代表正确!";
		cin>>queding;
	}
	queding='n';
	cout<<endl<<endl<<endl<<endl;

	//****************
	//显示输入的情况
	//****************
	cout<<"输入的数据如下:"<<endl<<endl;
	cout<<"单元数:"<<NE<<" 节点数:"<<NJ<<" 支持数:"<<NZ<<" 节点载荷数:"<<NPJ<<" 非节点载荷数:"<<NPF<<endl;
	cout<<endl<<endl;

    cout<<"各单元几何参数如下:"<<endl;
	cout<<"单元"<<"\t"<<"单元长度:"<<"\t"<<"角度:    "<<"\t"<<"弹性模量E:"<<"\t"<<"J量:    "<<"\t"<<"面积:"<<endl;
	for(i=0;i<NE;i++)
		cout<<i+1<<"\t"<<changdu[i]<<"\t\t"<<jiaodu[i]<<"\t\t"<<tanxingmoliang[i]<<"\t\t"<<J_moliang[i]<<"\t\t"<<mianji[i]<<endl;
	cout<<endl<<endl;

    cout<<"各单元对应节点总码如下:"<<endl;
	cout<<"单元号   "<<"\t"<<"前节点总码"<<"\t"<<"后节点总码"<<endl;
	for(i=0;i<NE;i++)
		cout<<i+1<<"\t\t"<<dym_jdm[i][0]<<"\t\t"<<dym_jdm[i][1]<<endl;
	cout<<endl<<endl;

    cout<<"支承位置如下:"<<endl;
	cout<<"支承位置"<<"\t";
	for(i=0;i<NZ;i++)
		cout<<zhichengweizhi[i]<<"  ";
	cout<<endl<<endl;

	cout<<"节点载荷输入如下:"<<endl;
	cout<<"节点位置"<<"\t"<<"U      "<<"\t\t"<<"V      "<<"\t\t"<<"M      "<<endl;      
	for(i=0;i<NPJ;i++)
	{
		cout<<jdzhzuoyongdian[i]<<"\t\t"<<jiedianzaihe[i][0]<<"\t\t"<<jiedianzaihe[i][1]<<"\t\t"<<jiedianzaihe[i][2];
	    cout<<endl;
	}
	cout<<endl<<endl;


	cout<<"非节点载荷的作用情况如下:"<<endl;
	cout<<"作用单元"<<"\t"<<"载荷类型"<<"\t"<<"载荷值"<<"\t\t"<<"作用点"<<"\t\t"<<"作用角度"<<endl;
	for(i=0;i<NPF;i++)
		cout<<fjzhzuoyongdanyuan[i]<<"\t\t"<<fjzhleixing[i]<<"\t\t"<<fjzhzhi[i]<<"\t\t"<<fjzhzuoyongdian[i]<<"\t\t"<<fjzhjiaodu[i]<<endl;
    cout<<endl<<endl;
}		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -