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

📄 yilufadlg.cpp

📁 VC编写的彩票分析软件源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
                m_52=m_62;
                m_53=m_63;
                m_54=m_64;
                
                m_61=m_71;
                m_62=m_72;
                m_63=m_73;
                m_64=m_74;
                
                m_71=m_81;
                m_72=m_82;
                m_73=m_83;
                m_74=m_84;
                
                m_81=Number[EmptyPiont][0];
                m_82=Number[EmptyPiont][1];
                m_83=Number[EmptyPiont][2];
                m_84=Number[EmptyPiont][3];
                
                EmptyPiont++;
                
            }
            else
            {
                for(int k=1;k<200;k++)
                {
                    for(int l=0;l<5;l++)
                    {
                        Number[k-1][l]=Number[k][l];
                    }
                }
                Number[199][0]=m_NewHead;
                Number[199][1]=m_NewHundred;
                Number[199][2]=m_NewTen;
                Number[199][3]=m_NewLast;
                Number[199][4]=m_NewNumber;
                Number[199][5]=1;
                m_11=m_21;	
                m_12=m_22;
                m_13=m_23;
                m_14=m_24;
                
                m_21=m_31;
                m_22=m_32;
                m_23=m_33;
                m_24=m_34;
                
                m_31=m_41;
                m_32=m_42;
                m_33=m_43;
                m_34=m_44;
                
                m_41=m_51;
                m_42=m_52;
                m_43=m_53;
                m_44=m_54;
                
                m_51=m_61;
                m_52=m_62;
                m_53=m_63;
                m_54=m_64;
                
                m_61=m_71;
                m_62=m_72;
                m_63=m_73;
                m_64=m_74;
                
                m_71=m_81;
                m_72=m_82;
                m_73=m_83;
                m_74=m_84;
                
                m_81=Number[199][0];
                m_82=Number[199][1];
                m_83=Number[199][2];
                m_84=Number[199][3];
            }
            
            
            
            UpdateData(FALSE);
        }
        break;
    }
    while(bModifyFlag)
    {
        UpdateData(TRUE);
        m_81=Number[CurrentPiont][0]=m_NewHead;
        m_82=Number[CurrentPiont][1]=m_NewHundred;
        m_83=Number[CurrentPiont][2]=m_NewTen;
        m_84=Number[CurrentPiont][3]=m_NewLast;
        Number[CurrentPiont][4]=m_NewNumber;
        UpdateData(FALSE);
        break;
        
    }
    
}
int ComNumber(int low,int top)
{
    int rlow=1,rtop=1;
    for(int k=low;k>low-top;k--) rlow*=k;
    for(k=1;k<=top;k++) rtop*=k;
    return (rlow/rtop);

}

void CYilufaDlg::OnPrebutton() 
{	
	if(CurrentPiont>8)
	{
		m_81=m_71;
        m_82=m_72;
        m_83=m_73;
        m_84=m_74;

		m_71=m_61;
        m_72=m_62;
        m_73=m_63;
        m_74=m_64;


        m_61=m_51;
        m_62=m_52;
        m_63=m_53;
        m_64=m_54;

		m_51=m_41;
        m_52=m_42;
        m_53=m_43;
        m_54=m_44;

		m_41=m_31;
        m_42=m_32;
        m_43=m_33;
        m_44=m_34;

		m_31=m_21;
        m_32=m_22;
        m_33=m_23;
        m_34=m_24;

		m_21=m_11;	
        m_22=m_12;
        m_23=m_13;
        m_24=m_14;

        m_11=Number[CurrentPiont-8][0];
        m_12=Number[CurrentPiont-8][1];
        m_13=Number[CurrentPiont-8][2];
	    m_14=Number[CurrentPiont-8][3];

		CurrentPiont--;

		m_NewNumber=Number[CurrentPiont][4];
		m_NewHead=m_81;
		m_NewHundred=m_82;
		m_NewTen=m_83;
		m_NewLast=m_84;

		

        if(m_bMoveFlag)
        {
            BeginPiont--;
            EndPiont--;
        }
        UpdateData(FALSE);
	}
}

void CYilufaDlg::OnNextbutton() 
{
	if(CurrentPiont<(EmptyPiont-1))
	{
		m_11=m_21;	
        m_12=m_22;
        m_13=m_23;
        m_14=m_24;
        
        m_21=m_31;
        m_22=m_32;
        m_23=m_33;
        m_24=m_34;
        
        m_31=m_41;
        m_32=m_42;
        m_33=m_43;
        m_34=m_44;
        
        m_41=m_51;
        m_42=m_52;
        m_43=m_53;
        m_44=m_54;
        
        m_51=m_61;
        m_52=m_62;
        m_53=m_63;
        m_54=m_64;
        
        m_61=m_71;
        m_62=m_72;
        m_63=m_73;
        m_64=m_74;
        
        m_71=m_81;
        m_72=m_82;
        m_73=m_83;
        m_74=m_84;

		CurrentPiont++;
        
        m_81=Number[CurrentPiont][0];
        m_82=Number[CurrentPiont][1];
        m_83=Number[CurrentPiont][2];
        m_84=Number[CurrentPiont][3];

		m_NewNumber=Number[CurrentPiont][4];
		m_NewHead=m_81;
		m_NewHundred=m_82;
		m_NewTen=m_83;
		m_NewLast=m_84;
      
        

        if(m_bMoveFlag) 
        {
            BeginPiont++;
            EndPiont++;
        }
        UpdateData(FALSE);
	}
}

void CYilufaDlg::OnMovearea() 
{
    if(m_bMoveFlag)
    {
        m_bMoveFlag=FALSE;
    }
    else
    {
        m_bMoveFlag=TRUE;
    }
    UpdateData(FALSE);
}

void CYilufaDlg::RollView()
{		
	switch(ch_CurrentType)
	{
	case 'A':
		RollTwoToOneView();
		break;
	case 'B':
		RollThreeToTwoView();
		break;
    case 'C':RollTwoToTwo();
	default: ;
	}

}

/////////////////////////////////////////////////////////////////////////////
// CLawOutDialog dialog


CLawOutDialog::CLawOutDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CLawOutDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CLawOutDialog)
	m_OutLawNumber = 0;
	m_OutMessage = _T("");
	//}}AFX_DATA_INIT
}


void CLawOutDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CLawOutDialog)
	DDX_Text(pDX, IDC_LAWNUMBER, m_OutLawNumber);
	DDX_Text(pDX, IDC_OUTLAWMESSAGE, m_OutMessage);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CLawOutDialog, CDialog)
	//{{AFX_MSG_MAP(CLawOutDialog)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLawOutDialog message handlers

void CYilufaDlg::OnShowlawbutton() 
{
    CLawOutDialog dlg;
    char ch[50];
    if(gls>0) 
    {
        sprintf(ch,"当前已找到%d个规律,请在框中输入要查询的规律号!",gls);
        dlg.m_OutMessage=ch;
    }
    else
    {
        dlg.m_OutMessage="还未找到规律,请稍候再进行查询!";
    }
    dlg.DoModal();
    if(dlg.m_OutLawNumber<=gls&&dlg.m_OutLawNumber>0)
    {

        MoveY=0;
		int k=gls;
        gls=m_CurrentLaw=dlg.m_OutLawNumber;
        RollView();
		gls=k;
    }
}

BOOL CLawOutDialog::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
    ((CEdit*)GetDlgItem(IDC_LAWNUMBER))->SetSel(0,3);
    ((CEdit*)GetDlgItem(IDC_LAWNUMBER))->SetFocus();
	
	return FALSE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CYilufaDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
	// TODO: Add your message handler code here and/or call default

    pScrollBar->SetScrollRange(0,(EndPiont-BeginPiont)*16,TRUE);
    if(0==nSBCode)
    {
        if(MoveY<0) MoveY+=2;
        pScrollBar->SetScrollPos(-MoveY);
        if(gls>0) RollView();
    }
    else if(1==nSBCode)
    {
        MoveY-=2;
        pScrollBar->SetScrollPos(-MoveY);
        if(gls>0) RollView();
    }
    else if(nSBCode==5)
    {
        MoveY=nPos*(-1);
        pScrollBar->SetScrollPos(nPos);
        if(gls>0) RollView();
    }
    
	CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}

void CYilufaDlg::OnLogarithmic() 
{
	if(bLogarithmicFlag)
	{
		bLogarithmicFlag=FALSE;
		UpdateData(FALSE);
	}
	else
	{
		bLogarithmicFlag=TRUE;
		UpdateData(FALSE);
	}
}

void CYilufaDlg::OnKillfocusSteplong() 
{
	UpdateData(true);
}

void CYilufaDlg::OnKillfocusLawlong() 
{
	UpdateData(true);
}

UINT MaxNumber(UINT Fi,UINT Se,UINT Thr)
{
    UINT Number=Fi>Se?Fi:Se;
    Number=Number>Thr?Number:Thr;
    return Number;
}

UINT MinNumber(UINT O,UINT T,UINT Th)
{
    UINT m;
    m=O>T?T:O;
    m=m>Th?Th:m;
    return m;
}

void CYilufaDlg::CmpCombination(UINT SoFiRa, UINT SoFiLi, UINT SoSeRa, UINT SoSeLi, UINT SoThrRa, UINT SoThrLi, UINT DeRa, UINT DeLi)
{
	if(bLongOrShort)//////长局分析三数合二
	{
    UINT Step=1;
    UINT mStepNumber=1;
    UINT MaxRa=MaxNumber(DeRa,SoSeRa,SoThrRa);
    for(;MaxRa+Step+m_StepLong<=EndPiont;Step++)
    {
        for(UINT MoveDown=1;(MoveDown*Step+MaxRa<=EndPiont+1)&&(DeRa+Step*MoveDown<=EndPiont);MoveDown++)
        {
            if((Number[SoFiRa+Step*MoveDown][SoFiLi]+Number[SoSeRa+Step*MoveDown][SoSeLi]+Number[SoThrRa+Step*MoveDown][SoThrLi])%10==(Number[DeRa+Step*MoveDown][DeLi]+Number[DeRa+Step*MoveDown][DeLi+1]%10))
            {
                mStepNumber++;
            }
            else if(bLogarithmicFlag)
            {
                if(((Number[SoFiRa+Step*MoveDown][SoFiLi]+Number[SoSeRa+Step*MoveDown][SoSeLi]+Number[SoThrRa+Step*MoveDown][SoThrLi])%10)%5==(Number[DeRa+Step*MoveDown][DeLi]+Number[DeRa+Step*MoveDown][DeLi+1]%10)%5)
                    mStepNumber++;
                else break;
            }
            else break;
        }
        if(mStepNumber>=m_StepLong&&MoveDown*Step+DeRa==EndPiont+1) OutDataMap(SoFiRa,SoFiLi,SoSeRa,SoSeLi,SoThrRa,SoThrLi,DeRa,DeLi,mStepNumber,Step);
		mStepNumber=1;
    }
	}
	//////////////短局分析
	else
	{
		 UINT Step=4;
    UINT mStepNumber=1;
    UINT MaxRa=MaxNumber(DeRa,SoSeRa,SoThrRa);
    for(;MaxRa+Step+m_StepLong<=EndPiont;Step+=4)
    {
        for(UINT MoveDown=1;(MoveDown*Step+MaxRa<=EndPiont+1)&&(DeRa+Step*MoveDown<=EndPiont);MoveDown++)
        {

⌨️ 快捷键说明

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