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

📄 czwdform.cpp

📁 这是本人两年前兼职为某个公司做的石油钻进设计软件
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	  Temp2=m_SJSR.GetText();   
	  x1=atof(Temp2);
	  x=x1*1000.00/6.895;

	  m_SJSR.SetRow(5);   
	  Temp4=m_SJSR.GetText(); 
      yy1=atof(Temp4);
	  yy=yy1*1000.00/6.895;

//判断数据有效性
	  double zxz[10],zdz[10],qz[10];
	  for(i=3;i<=5;i++)
	  {
        m_SJSR.SetRow(i);
		m_SJSR.SetCol(3);
		zxz[i]=atof(m_SJSR.GetText());
		m_SJSR.SetCol(4);
		zdz[i]=atof(m_SJSR.GetText());
		m_SJSR.SetCol(5);
        qz[i]=atof(m_SJSR.GetText());
	  }
	  if(qz[3]>=zxz[3]&&qz[3]<=zdz[3]&&qz[4]>=zxz[4]&&qz[4]<=zdz[4]&&qz[5]>=zxz[5]&&qz[5]<=zdz[5]&&qz[4]>qz[5])	  
	  {
			 if (rg >= 0.6 && rg < 0.7)             //相对密度为0.6
			 {
				for (i=0;i<=13;i++)
				{
					 yw[i] =xdmd66(x, 40+i*10);
				}
				for (i=1;i<=13;i++)
				{
					if (yy - yw[i-1] <= 0 && yy - yw[i] >= 0 || (yw[i-1] - yw[i] != 0))
					{
					   wd1 = 40 + (i - 1) * 10;
					   wd2 = 40 + i * 10;
					   wdwd = wd1 + (wd2 - wd1) * (yw[i-1] - yy) / (yw[i-1] - yw[i]);
					   wd=(wdwd-32.00)*5.0/9.0;
					}
				}
				for (i=0;i<=14;i++)
                {
                    pd=pd+yw[i];
                }
				if (fabs(rg - 0.6) <= 0.0001)
				{
					if (pd==0)
					{											
					   AfxMessageBox("该条件下不生成水合物");
					   return;					
					}
					else
					{
					   gcvt(wd,7,Temp3);
					   m_SJSR.SetCol(2);
					   m_SJSR.SetRow(8);
					   m_SJSR.SetValue(Temp3);
					   return;
					}
				}
				else
				{
						wd2 = wd;
						y = 1;	// add by lzj, wrong
						y2 = y;
				}
			 }
			 if (rg > 0.6 && rg < 0.8)         //相对密度为0.7
			 {
				for (i=0;i<=14;i++)
				{
					yw[i] =xdmd77(x, 40 + i * 10);
				}
				for (i=1;i<=14;i++)
				{
					
					if (yy - yw[i-1] <= 0 && yy - yw[i] >= 0||(yw[i-1]- yw[i] != 0))
					{
					   wd1 = 40 + (i-1) * 10;
					   wd2 = 40 + i * 10;
					   wdwd = wd1 + (wd2 - wd1) * (yw[i-1] - yy) / (yw[i-1] - yw[i]);
					   wd=(wdwd-32.00)*5.0/9.0;
					}
				}
	            for (i=0;i<=14;i++)
				{
					pd=pd+yw[i];
				}
				if (fabs(rg - 0.7) <= 0.0001) 
				{
					if (pd==0)
					{
					   AfxMessageBox("该条件下不生成水合物");
					   return;
					}
					else
					{
					   gcvt(wd,7,Temp3);
					   m_SJSR.SetCol(2);
					   m_SJSR.SetRow(8);
					   m_SJSR.SetValue(Temp3);
					   return;
					}
				}
				if (rg > 0.7) 
				{
				   wd2 = wd;
				   y2 = y;
				}
				else
				{
				   wd1 = wd;
				   y1 = y;
				}
			 }

			 if (rg > 0.6 && rg < 0.7)           //相对密度在0.6和0.7之间
			 {
				rg1 = 0.6;
				rg2 = 0.7;
				wdwd = wd1 + (wd2 - wd1) * (rg1 - rg) / (rg1 - rg2);
				wd=(wdwd-32.00)*5.0/9.0;
			 }
			 if (rg > 0.7 && rg < 0.9)         //相对密度为0.8
			 {
				for (i=0;i<=17;i++)
				{
					yw[i] =xdmd88( x, 50 + i * 10);
				}
				for (i=1;i<=17;i++)
				{
					if (yy - yw[i-1] <= 0 && yy - yw[i] >= 0 || (yw[i-1] - yw[i] != 0))
					{
					   wd1 = 50 + (i-1) * 10;
					   wd2 = 50 + i * 10;
					   wdwd = wd1 + (wd2 - wd1) * (yw[i-1] - yy) / (yw[i-1] - yw[i]);
					   wd=(wdwd-32.00)*5.0/9.0;
					}
				}
				for (i=0;i<=17;i++)
                {
					pd=pd+yw[i];
                }
				if (fabs(rg - 0.8) <= 0.0001)
				{
					if (pd==0)
					{
						AfxMessageBox("该条件下不生成水合物");
					    return;
					}
                    else
					{
					   gcvt(wd,7,Temp3);
					   m_SJSR.SetCol(2);
					   m_SJSR.SetRow(8);
					   m_SJSR.SetValue(Temp3);
					   return;
					}
				}
				if (rg > 0.8)
				{
				   wd2 = wd;
				   y2 = y;
				}
				else
				{
				   wd1 = wd;
				   y1 = y;
				}
			 }
			 if (rg > 0.7 && rg < 0.8)           //相对密度在0.7和0.8之间
			 {
				rg1 = 0.7;
				rg2 = 0.8;
				wdwd = wd1 + (wd2 - wd1) * (rg1 - rg) / (rg1 - rg2);
				wd=(wdwd-32.00)*5.0/9.0;
			 }
			 if (rg > 0.8 && rg < 1)         //相对密度为0.9
			 {
				for (i=0;i<=17;i++)
				{
					 yw[i] =xdmd99( x, 50 + i * 10);
				}
				for (i =1;i<=17;i++)
				{
					if (yy - yw[i-1] <= 0 && yy - yw[i] >= 0||(yw[i-1]- yw[i] != 0))
					{
					   wd1 = 50 + (i-1) * 10;
					   wd2 = 50 + i * 10;
					   wdwd = wd1 + (wd2 - wd1) * (yw[i-1] - yy) / (yw[i-1] - yw[i]);
					   wd=(wdwd-32.00)*5.0/9.0;
					}
				}
				for (i=0;i<=17;i++)
                {
					pd=pd+yw[i];
                }
				if (fabs(rg - 0.9) <= 0.0001)
				{
					if (pd==0)
					{
					    AfxMessageBox("该条件下不生成水合物");
					    return;	
					}
					else
					{
					   gcvt(wd,7,Temp3);
					   m_SJSR.SetCol(2);
					   m_SJSR.SetRow(8);
					   m_SJSR.SetValue(Temp3);
					   return;
					}
				}
				if (rg > 0.9)
				{
				   wd2 = wd;
				   y2 = y;
				}
				else
				{
				   wd1 = wd;
				   y1 = y;
				}
			 }
			 if (rg > 0.8 && rg < 0.9)           //相对密度在0.8和0.9之间
			 {
				rg1 = 0.8;
				rg2 = 0.9;
				wdwd = wd1 + (wd2 - wd1) * (rg1 - rg) / (rg1 - rg2);
				wd=(wdwd-32.00)*5.0/9.0;
			 }
			 if (rg > 0.9 && rg <= 1)           //相对密度为1
			 {
				for (i =0;i<=18;i++)
				{
					  yw[i] = xdmd1010(x, 50 + i * 10);
				}
				for (i=1;i<=17;i++)
				{
					if (yy - yw[i-1] <= 0 && yy - yw[i] >= 0||(yw[i-1]- yw[i] != 0))
					{
					   wd1 = 50 + (i-1) * 10;
					   wd2 = 50 + i * 10;
					   wdwd = wd1 + (wd2 - wd1) * (yw[i-1] - yy) / (yw[i-1] - yw[i]);
					   wd=(wdwd-32.00)*5.0/9.0;
					}
				}
				for (i=0;i<=18;i++)
                {
                     pd=pd+yw[i];
                }
				if (fabs(rg - 1) <= 0.0001)
				{
					if (pd==0)
					{
					   AfxMessageBox("该条件下不生成水合物");
					}
					else
					{
					   gcvt(wd,7,Temp3);
					   m_SJSR.SetCol(2);
					   m_SJSR.SetRow(8);
					   m_SJSR.SetValue(Temp3);
					   return;
					}
				}
				if (rg > 1)
				{
				   wd2 = wd;
				   y2 = y;
				}
				else
				{
				   wd1 = wd;
				   y1 = y;
				}
			 }
			 if (rg > 0.9 && rg < 1)           //相对密度在0.9和1之间
			 {
				rg1 = 0.8;
				rg2 = 0.9;
				wdwd = wd1 + (wd2 - wd1) * (rg1 - rg) / (rg1 - rg2);
				wd=(wdwd-32.00)*5.0/9.0;
			 }
		   //输出结果
		   gcvt(wd,7,Temp3);
		   m_SJSR.SetCol(2);
		   m_SJSR.SetRow(8);
		   m_SJSR.SetValue(Temp3);
	  }
	  else
	  {
           AfxMessageBox("输入数据非法,请验证后再计算");
	  }
	
}

void CCzwdForm::OnShwrjSave() 
{
	UpdateData(TRUE);
	CString fileDialogFilter1="操作温度数据文件(*.CZWD)|*.CZWD||";
	const char fileDialogExt1[] = "CZWD";
	CFileDialog fileDialog1(FALSE,fileDialogExt1,NULL,OFN_FILEMUSTEXIST, fileDialogFilter1);
    if(fileDialog1.DoModal()==IDOK)
	{
	    CString filename1=fileDialog1.GetPathName();//+fileDialog.GetFileName();		
	    m_SJSR.SaveToFile(filename1,FALSE);		
	}
	
}

void CCzwdForm::OnShwrjPrint() 
{
	// TODO: Add your command handler code here
    m_SJSR.SetAction(13);		
	
}

void CCzwdForm::OnShwrjPrintpreview() 
{
	// TODO: Add your command handler code here
	CPreview dlg(&m_SJSR);
	dlg.DoModal();
	
}

void CCzwdForm::OnContextMenu(CWnd*, CPoint point)
{
	// CG: This block was added by the Pop-up Menu component	{		if (point.x == -1 && point.y == -1){			//keystroke invocation			CRect rect;			GetClientRect(rect);			ClientToScreen(rect);			point = rect.TopLeft();			point.Offset(5, 5);		}		CMenu menu;		VERIFY(menu.LoadMenu(IDR_POPUP_SHWRJ));		CMenu* pPopup = menu.GetSubMenu(0);		ASSERT(pPopup != NULL);		CWnd* pWndPopupOwner = this;//		while (pWndPopupOwner->GetStyle() & WS_CHILD)//			pWndPopupOwner = pWndPopupOwner->GetParent();		pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,			pWndPopupOwner);	}
}

void CCzwdForm::OnSize(UINT nType, int cx, int cy) 
{
	CFormView::OnSize(nType, cx, cy);
	
	// TODO: Add your message handler code here
	if(m_SJSR.m_hWnd != NULL)
	{
		CRect rc;	
		GetClientRect(&rc);
		m_SJSR.SetWindowPos(NULL, rc.left, rc.top, rc.Width(), rc.Height(), NULL);
	}
	
}

⌨️ 快捷键说明

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