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

📄 didlg.cpp

📁 贝叶斯bayes算法分类器诊断程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	//病人ID
    m_id_Combo.GetWindowText(id);
	idnum=atol(id);
	if(idnum==0)
		m_add_Edit.SetWindowText("请先输入病人ID");
	else if(idnum>2003100||idnum<2003001)
		m_add_Edit.SetWindowText("输入病人的ID超出范围");
	else
	{
	Patient[idnum-2003001].ID=idnum;
	//病人姓名
	m_name_Combo.GetWindowText(name);
	strcpy(Patient[idnum-2003001].name,name);
	if(!strcmp(name,""))
	    m_add_Edit.SetWindowText("请先输入病人姓名");
	else
	{
	//病人类型
    CString time,reason;
	m_time_Edit.GetWindowText(time);
    m_reason_Edit.GetWindowText(reason);
    typeradio=CWnd::GetCheckedRadioButton(IDC_TYPE_RADIO,IDC_ROME_RADIO);
	if(typeradio==IDC_ROME_RADIO)
	{
		Patient[idnum-2003001].type=1;
        strcpy(Patient[idnum-2003001].time,time);
		strcpy(Patient[idnum-2003001].reason,reason);
	}
	//病人病症
	if(m_x1_Check==TRUE)
	{
		Patient[idnum-2003001].state[0]=1;
		xs[0]=1; 
	}
	if(m_x2_Check==TRUE)
	{
		Patient[idnum-2003001].state[1]=1;
		xs[1]=1; 
	}
	if(m_x3_Check==TRUE)
	{
		Patient[idnum-2003001].state[2]=1;
		xs[2]=1; 
	}
	if(m_x4_Check==TRUE)
	{
		Patient[idnum-2003001].state[3]=1;
		xs[3]=1; 
	}
	if(m_x5_Check==TRUE)
	{
		Patient[idnum-2003001].state[4]=1;
		xs[4]=1; 
	}
	if(m_x6_Check==TRUE)
	{
		Patient[idnum-2003001].state[5]=1;
		xs[5]=1; 
	}
	if(m_x7_Check==TRUE)
	{
		Patient[idnum-2003001].state[6]=1;
		xs[6]=1; 
	}
	if(m_x8_Check==TRUE)
	{
		Patient[idnum-2003001].state[7]=1;
		xs[7]=1; 
	}
	if(m_x9_Check==TRUE)
	{
		Patient[idnum-2003001].state[8]=1;
		xs[8]=1; 
	}
	typeradio=CWnd::GetCheckedRadioButton(IDC_CHENG_RADIO,IDC_RADIO5);
	if(typeradio==IDC_CHENG_RADIO)
	{
		Patient[idnum-2003001].state[9]=1;
		xs[9]=1; 
	}
	if(typeradio==IDC_RADIO4)
	{
		Patient[idnum-2003001].state[10]=1;
		xs[10]=1; 
	}
	if(typeradio==IDC_RADIO5)
	{
		Patient[idnum-2003001].state[11]=1;
		xs[11]=1; 
	}
    CString  buf;
	m_add_Edit.GetWindowText(buf);
	strcpy(Patient[idnum-2003001].info,buf);
	m_add_Edit.SetWindowText("新病人的资料已输入缓存");
	}//end else(name)
	}//end else(id)
	}//缓存满end else 
}

void CDiDlg::OnJjButton() 
{
	int i,j,ll=0;
	CString id,name;
	long idnum;
	int typeradio;
	//积分记录清零
	for(i=0;i<4;i++)
		score[i]=0;
	k=0;
	//读取屏幕控件值
	CDialog::UpdateData(TRUE);
	//病人ID
    m_id_Combo.GetWindowText(id);
	idnum=atol(id);
	if(idnum==0)
		m_add_Edit.SetWindowText("请先输入病人ID");
	else if(idnum>2003100||idnum<2003001)
		m_add_Edit.SetWindowText("输入病人的ID超出范围");
	else
	{
	//病人姓名
	m_name_Combo.GetWindowText(name);
	if(!strcmp(name,""))
	    m_add_Edit.SetWindowText("请先输入病人姓名");
	else
	{	
	//病人病症
	if(m_x1_Check==TRUE)
	{
		xs[0]=1;
		ll++;
	}
	if(m_x2_Check==TRUE)
	{
		xs[1]=1;
		ll++;
	}
	if(m_x3_Check==TRUE)
	{
		xs[2]=1;
		ll++;
	}
	if(m_x4_Check==TRUE)
	{
		xs[3]=1;
			ll++;
	}
	if(m_x5_Check==TRUE)
	{
		xs[4]=1;
		ll++;
	}
	if(m_x6_Check==TRUE)
	{
		xs[5]=1;
		ll++;
	}
	if(m_x7_Check==TRUE)
	{
		xs[6]=1;
		ll++;
	}
	if(m_x8_Check==TRUE)
	{
		xs[7]=1;
		ll++;
	}
	if(m_x9_Check==TRUE)
	{
		xs[8]=1;
		ll++;
	}
	typeradio=CWnd::GetCheckedRadioButton(IDC_CHENG_RADIO,IDC_RADIO5);
	if(typeradio==IDC_CHENG_RADIO)
	{
		xs[9]=1;
		ll++;
	}
	if(typeradio==IDC_RADIO4)
	{
		xs[10]=1;
		ll++;
	}
	if(typeradio==IDC_RADIO5)
	{
		xs[11]=1;
		ll++;
	}
    //积分计算
    for(i=0;i<12;i++)
	    for(j=0;j<4;j++)
			if(xs[i])			
				score[j]+=pw[j]*px[i][j]/px[i][4];
		
	char ww[4][10];
	int n=0,m=0;
	if(ll<2)
		m_add_Edit.SetWindowText("请先选择病人的病症");
	else
	{
    //选择诊断
    for(i=0;i<4;i++)
	{
		score[i]=(score[i]*10/ll+5)/10;
		if(score[i]>score[k])
			k=i;
        n+=score[i];
	}
    if(n!=100)
		m=100-n;
	for(i=0;i<3;i++)
	    _gcvt((double)score[i],10,ww[i]);
	_gcvt((double)(score[3]+m),10,ww[3]);    
	    
	//结果输出
    m_w1_Edit=ww[0];
	m_w2_Edit=ww[1];
	m_w3_Edit=ww[2];
	m_w4_Edit=ww[3];	
	if(score[k]<60)
        m_result_Edit=w[4];
    else 
	    m_result_Edit=w[k];
	
	GetDlgItem(IDC_CONF_BUTTON)->EnableWindow(TRUE);
	}
	}
	}
	UpdateData(FALSE);
}

void CDiDlg::OnModiButton() 
{
	CString id,name;
	long idnum;
	int typeradio;	
	//读取屏幕控件值
	CDialog::UpdateData(TRUE);
	//病人ID
    m_id_Combo.GetWindowText(id);
	idnum=atol(id);
	if(idnum==0)
		m_add_Edit.SetWindowText("请先输入病人ID");
	else if(idnum>2003100||idnum<2003001)
		m_add_Edit.SetWindowText("输入病人的ID超出范围");
	else
	{
	Patient[idnum-2003001].ID=idnum;
	//病人姓名
	m_name_Combo.GetWindowText(name);
	strcpy(Patient[idnum-2003001].name,name);
	if(!strcmp(name,""))
	    m_add_Edit.SetWindowText("请先输入病人姓名");
	else
	{
	//病人类型
    CString time,reason;
	m_time_Edit.GetWindowText(time);
    m_reason_Edit.GetWindowText(reason);
    typeradio=CWnd::GetCheckedRadioButton(IDC_TYPE_RADIO,IDC_ROME_RADIO);
	if(typeradio==IDC_ROME_RADIO)
	{
		Patient[idnum-2003001].type=1;
        strcpy(Patient[idnum-2003001].time,time);
		strcpy(Patient[idnum-2003001].reason,reason);
	}
	//病人病症
	if(m_x1_Check==TRUE)
	{
		Patient[idnum-2003001].state[0]=1;
		xs[0]=1; 
	}
	if(m_x2_Check==TRUE)
	{
		Patient[idnum-2003001].state[1]=1;
		xs[1]=1; 
	}
	if(m_x3_Check==TRUE)
	{
		Patient[idnum-2003001].state[2]=1;
		xs[2]=1; 
	}
	if(m_x4_Check==TRUE)
	{
		Patient[idnum-2003001].state[3]=1;
		xs[3]=1; 
	}
	if(m_x5_Check==TRUE)
	{
		Patient[idnum-2003001].state[4]=1;
		xs[4]=1; 
	}
	if(m_x6_Check==TRUE)
	{
		Patient[idnum-2003001].state[5]=1;
		xs[5]=1; 
	}
	if(m_x7_Check==TRUE)
	{
		Patient[idnum-2003001].state[6]=1;
		xs[6]=1; 
	}
	if(m_x8_Check==TRUE)
	{
		Patient[idnum-2003001].state[7]=1;
		xs[7]=1; 
	}
	if(m_x9_Check==TRUE)
	{
		Patient[idnum-2003001].state[8]=1;
		xs[8]=1; 
	}
	typeradio=CWnd::GetCheckedRadioButton(IDC_CHENG_RADIO,IDC_RADIO5);
	if(typeradio==IDC_CHENG_RADIO)
	{
		Patient[idnum-2003001].state[9]=1;
		xs[9]=1; 
	}
	if(typeradio==IDC_RADIO4)
	{
		Patient[idnum-2003001].state[10]=1;
		xs[10]=1; 
	}
	if(typeradio==IDC_RADIO5)
	{
		Patient[idnum-2003001].state[11]=1;
		xs[11]=1; 
	}
    CString  buf;
	m_add_Edit.GetWindowText(buf);
	strcpy(Patient[idnum-2003001].info,buf);
	m_add_Edit.SetWindowText("病人的资料已修改");
	}//end else(name)
	}//end else(id)

}

void CDiDlg::OnRomeRadio() 
{
        CString id,time,reason;
		long idnum;
		UpdateData(TRUE);
		m_id_Combo.GetWindowText(id);
        idnum=atol(id);
		if(idnum==2003020||idnum==2003040||idnum==2003080||idnum==2003100)
		{
			 m_time_Edit.SetWindowText(Patient[idnum-2003001].time);
             m_reason_Edit.SetWindowText(Patient[idnum-2003001].reason);
			 m_name_Combo.SetWindowText(Patient[idnum-2003001].name);
		}
		UpdateData(FALSE);
        GetDlgItem(IDC_ROME_STATIC)->EnableWindow(TRUE);
		GetDlgItem(IDC_TIME_STATIC)->EnableWindow(TRUE);
		GetDlgItem(IDC_REASON_STATIC)->EnableWindow(TRUE);
		GetDlgItem(IDC_TIME_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_REASON_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_IN_BUTTON)->EnableWindow(FALSE);
        GetDlgItem(IDC_MODI_BUTTON)->EnableWindow(TRUE);         
}

void CDiDlg::OnTypeRadio() 
{
	    GetDlgItem(IDC_ROME_STATIC)->EnableWindow(FALSE);
		GetDlgItem(IDC_TIME_STATIC)->EnableWindow(FALSE);
		GetDlgItem(IDC_REASON_STATIC)->EnableWindow(FALSE);
		GetDlgItem(IDC_TIME_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_REASON_EDIT)->EnableWindow(FALSE);
}


void CDiDlg::OnExitButton() 
{
	CDialog::OnOK();	
}

void CDiDlg::OnEditchangeIdCombo() 
{
        CString id,time,reason;
		long idnum;
		UpdateData(TRUE);
		m_id_Combo.GetWindowText(id);
        idnum=atol(id);
		if(idnum==2003020||idnum==2003040||idnum==2003080||idnum==2003100)
		{
			GetDlgItem(IDC_ROME_STATIC)->EnableWindow(TRUE);
		GetDlgItem(IDC_TIME_STATIC)->EnableWindow(TRUE);
		GetDlgItem(IDC_REASON_STATIC)->EnableWindow(TRUE);
		GetDlgItem(IDC_TIME_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_REASON_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_IN_BUTTON)->EnableWindow(FALSE);
        GetDlgItem(IDC_MODI_BUTTON)->EnableWindow(TRUE);     
			 m_time_Edit.SetWindowText(Patient[idnum-2003001].time);
             m_reason_Edit.SetWindowText(Patient[idnum-2003001].reason);
			 m_name_Combo.SetWindowText(Patient[idnum-2003001].name);
			 GetDlgItem(IDC_ROME_RADIO)->EnableWindow(TRUE);
		}
		UpdateData(FALSE);
       
}

⌨️ 快捷键说明

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