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

📄 bisaijifen.cpp

📁 由我为校教务处自主开发的竞赛计分软件。 该软件由“比赛信息管理”、“裁判信息管理”、“选手信息管理”、“比赛计分排序”等几个模块组成。基于MFC技术
💻 CPP
📖 第 1 页 / 共 2 页
字号:
				pingweiming[i]=db.getrs()->GetFields()->GetItem("xingming")->GetValue();
			}
			else{
				CString ttxianshi=_variant_t(i+1);
				pingweiming[i]="评委"+ttxianshi;
			}
			db.getrs()->MoveNext();
			i++;
		}
		UpdateData(0);
		}
	}



}

void bisaijifen::OnBnClickedButton7()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(1);
	CString tempname,sql;
	xuanshouxuhao.GetWindowText(tempname);
	if(tempname!=""){
	int tempindex = pingweizu.GetCurSel();
	if (tempindex!=LB_ERR){
		int indextemp1=pingweizu.GetCurSel();
		if (indextemp1!=LB_ERR){
	CString	sql="select top 1 * from fenshu where suoshuxuanshou ="+tempname+" and pingweizu='"+pingwei1[indextemp1]+"'";
	db.datasearcher(sql);
	if(db.getrs()->adoeof)db.getrs()->AddNew();
	db.getrs()->GetFields()->GetItem("suoshuxuanshou")->PutValue(_variant_t(tempname));
	db.getrs()->GetFields()->GetItem("suoshusaishi")->PutValue(saishixuhao);
	db.getrs()->GetFields()->GetItem("pingwei1")->PutValue(fenshu[0]);
	db.getrs()->GetFields()->GetItem("pingwei2")->PutValue(fenshu[1]);
	db.getrs()->GetFields()->GetItem("pingwei3")->PutValue(fenshu[2]);
	db.getrs()->GetFields()->GetItem("pingwei4")->PutValue(fenshu[3]);
	db.getrs()->GetFields()->GetItem("pingwei5")->PutValue(fenshu[4]);
	db.getrs()->GetFields()->GetItem("pingwei6")->PutValue(fenshu[5]);
	db.getrs()->GetFields()->GetItem("pingwei7")->PutValue(fenshu[6]);
	db.getrs()->GetFields()->GetItem("pingwei8")->PutValue(fenshu[7]);
	db.getrs()->GetFields()->GetItem("pingwei9")->PutValue(fenshu[8]);
	db.getrs()->GetFields()->GetItem("pingwei10")->PutValue(fenshu[9]);
	db.getrs()->GetFields()->GetItem("pingwei11")->PutValue(fenshu[10]);
	db.getrs()->GetFields()->GetItem("pingwei12")->PutValue(fenshu[11]);
	db.getrs()->GetFields()->GetItem("pingwei13")->PutValue(fenshu[12]);
	db.getrs()->GetFields()->GetItem("pingwei14")->PutValue(fenshu[13]);
	db.getrs()->GetFields()->GetItem("pingwei15")->PutValue(fenshu[14]);
	db.getrs()->GetFields()->GetItem("pingwei16")->PutValue(fenshu[15]);
	db.getrs()->GetFields()->GetItem("pingwei17")->PutValue(fenshu[16]);
	db.getrs()->GetFields()->GetItem("pingwei18")->PutValue(fenshu[17]);
	db.getrs()->GetFields()->GetItem("pingwei19")->PutValue(fenshu[18]);
	db.getrs()->GetFields()->GetItem("pingwei20")->PutValue(fenshu[19]);
	db.getrs()->GetFields()->GetItem("pingwei21")->PutValue(fenshu[20]);
	db.getrs()->GetFields()->GetItem("pingwei22")->PutValue(fenshu[21]);
	db.getrs()->GetFields()->GetItem("pingwei23")->PutValue(fenshu[22]);
	db.getrs()->GetFields()->GetItem("pingwei24")->PutValue(fenshu[23]);
	db.getrs()->GetFields()->GetItem("pingwei25")->PutValue(fenshu[24]);
	db.getrs()->GetFields()->GetItem("pingwei26")->PutValue(fenshu[25]);
	db.getrs()->GetFields()->GetItem("pingwei27")->PutValue(fenshu[26]);
	db.getrs()->GetFields()->GetItem("pingwei28")->PutValue(fenshu[27]);
	db.getrs()->GetFields()->GetItem("pingwei29")->PutValue(fenshu[28]);
	db.getrs()->GetFields()->GetItem("pingwei30")->PutValue(fenshu[29]);
	
		long tpingweirenshu;
		float ttpingweibili;
        tpingweirenshu=pingweirenshu[tempindex];
		ttpingweibili=tpingweibili[tempindex];
		int i,j;
		for(i=0;i<tpingweirenshu;i++){
			for(j=i;j<tpingweirenshu;j++){
				if(fenshu[i]<fenshu[j]){
					float temp=fenshu[i];
					fenshu[i]=fenshu[j];
					fenshu[j]=temp;
				}
			}
		}
		for(int i=0;i<shanchufenshu;i++){
			fenshu[i]=0;
			fenshu[tpingweirenshu-i-1]=0;
				
		}
			float tempfen=0;
		for(int i=0;i<tpingweirenshu;i++){
			tempfen+=fenshu[i];
		}
		tempfen/=(tpingweirenshu-shanchufenshu*2);
		tempfen*=(ttpingweibili/100);
		db.getrs()->GetFields()->GetItem("chengji")->PutValue(tempfen);
		db.getrs()->GetFields()->GetItem("pingweizu")->PutValue(_variant_t(pingwei1[tempindex]));
		db.getrs()->Update();
		zuizhongchengji=0;
		sql="select  * from fenshu where suoshuxuanshou ="+tempname+"";
		db.datasearcher(sql);
		while(!db.getrs()->adoeof){
			float tempfen=db.getrs()->GetFields()->GetItem("chengji")->GetValue();
			zuizhongchengji+=tempfen;
			db.getrs()->MoveNext();
		}
		CString saishixuhaot=_variant_t(saishixuhao);
		sql="select  top 1 * from chengji where suoshuxuanshou ="+tempname+" and suoshusaishi="+saishixuhaot+"";
		db.datasearcher(sql);
		if(db.getrs()->adoeof)db.getrs()->AddNew();
		db.getrs()->GetFields()->GetItem("chengji")->PutValue(zuizhongchengji);
		db.getrs()->GetFields()->GetItem("suoshuxuanshou")->PutValue(_variant_t(tempname));
		db.getrs()->GetFields()->GetItem("suoshusaishi")->PutValue(_variant_t(saishixuhaot));
		db.getrs()->Update();
		CString xianshifen=_variant_t(tempfen);
		if(tempfen>0&&tempfen<1) xianshifen="0"+xianshifen;
		zhuangtai.SetWindowText(xianshifen);
		}
	}
	else{
	zhuangtai.SetWindowText("请选择评委组");
	}
	}
	else{
	zhuangtai.SetWindowText("请选择一个记录");
	}
	
}

void bisaijifen::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码

	zuichongjieguo zuizhongjieguoframe(0,_variant_t(saishixuhao));
	zuizhongjieguoframe.DoModal();
}

void bisaijifen::OnLbnSelchangeList4()

{
	// TODO: 在此添加控件通知处理程序代码
	for(long i=0;i<30;i++){
		fenshuctrl[i].SetReadOnly(1);
		fenshuctrl[i].SetWindowText("0");
		pingweiming[i]="";

	}
	int tempindex = pingweizu.GetCurSel();
	if (tempindex!=LB_ERR){
		int tpingweirenshu;
		tpingweirenshu=pingweirenshu[tempindex];
		
	for(long i=0;i<tpingweirenshu;i++){
		fenshuctrl[i].SetReadOnly(0);
				
	}
	}
		CString tempname,xuhaotemp;
		tempindex = xiangmulist.GetCurSel();
	if (tempindex!=LB_ERR){
		xiangmulist.GetText(tempindex,tempname);
		xiangmuming.SetWindowText(tempname);
		xuanshouxuhaolist.GetText(tempindex,tempname);
		xuanshouxuhao.SetWindowText(tempname);
		int indextemp1=pingweizu.GetCurSel();
		if (indextemp1!=LB_ERR){
		CString	sql="select top 1 * from fenshu where suoshuxuanshou ="+tempname+" and pingweizu='"+pingwei1[indextemp1]+"'";
	db.datasearcher(sql);
	if(!db.getrs()->adoeof){
		fenshu[0]=db.getrs()->GetFields()->GetItem("pingwei1")->GetValue();
		fenshu[1]=db.getrs()->GetFields()->GetItem("pingwei2")->GetValue();
		fenshu[2]=db.getrs()->GetFields()->GetItem("pingwei3")->GetValue();
		fenshu[3]=db.getrs()->GetFields()->GetItem("pingwei4")->GetValue();
		fenshu[4]=db.getrs()->GetFields()->GetItem("pingwei5")->GetValue();
		fenshu[5]=db.getrs()->GetFields()->GetItem("pingwei6")->GetValue();
		fenshu[6]=db.getrs()->GetFields()->GetItem("pingwei7")->GetValue();
		fenshu[7]=db.getrs()->GetFields()->GetItem("pingwei8")->GetValue();
		fenshu[8]=db.getrs()->GetFields()->GetItem("pingwei9")->GetValue();
		fenshu[9]=db.getrs()->GetFields()->GetItem("pingwei10")->GetValue();
		fenshu[10]=db.getrs()->GetFields()->GetItem("pingwei11")->GetValue();
		fenshu[11]=db.getrs()->GetFields()->GetItem("pingwei12")->GetValue();
		fenshu[12]=db.getrs()->GetFields()->GetItem("pingwei13")->GetValue();
		fenshu[13]=db.getrs()->GetFields()->GetItem("pingwei14")->GetValue();
		fenshu[14]=db.getrs()->GetFields()->GetItem("pingwei15")->GetValue();
		fenshu[15]=db.getrs()->GetFields()->GetItem("pingwei16")->GetValue();
		fenshu[16]=db.getrs()->GetFields()->GetItem("pingwei17")->GetValue();
		fenshu[17]=db.getrs()->GetFields()->GetItem("pingwei18")->GetValue();
		fenshu[18]=db.getrs()->GetFields()->GetItem("pingwei19")->GetValue();
		fenshu[19]=db.getrs()->GetFields()->GetItem("pingwei20")->GetValue();
		fenshu[20]=db.getrs()->GetFields()->GetItem("pingwei21")->GetValue();
		fenshu[21]=db.getrs()->GetFields()->GetItem("pingwei22")->GetValue();
		fenshu[22]=db.getrs()->GetFields()->GetItem("pingwei23")->GetValue();
		fenshu[23]=db.getrs()->GetFields()->GetItem("pingwei24")->GetValue();
		fenshu[24]=db.getrs()->GetFields()->GetItem("pingwei25")->GetValue();
		fenshu[25]=db.getrs()->GetFields()->GetItem("pingwei26")->GetValue();
		fenshu[26]=db.getrs()->GetFields()->GetItem("pingwei27")->GetValue();
		fenshu[27]=db.getrs()->GetFields()->GetItem("pingwei28")->GetValue();
		fenshu[28]=db.getrs()->GetFields()->GetItem("pingwei29")->GetValue();
		fenshu[29]=db.getrs()->GetFields()->GetItem("pingwei30")->GetValue();
		
	}
	else{
		for(int i=0;i<30;i++) {
			fenshu[i]=0;
			pingweiming[i]="";
		}
	 
	}
		CString saishixuhaot=_variant_t(saishixuhao);
		sql="select * from pingwei where suoshusaishi ="+saishixuhaot+" and suoshupingweizu='"+pingwei1[indextemp1]+"'";
		db.datasearcher(sql);
		int i=0;
		while(!db.getrs()->adoeof){
			bool txianshi=db.getrs()->GetFields()->GetItem("xianshi")->GetValue();
			if(txianshi){
				pingweiming[i]=db.getrs()->GetFields()->GetItem("xingming")->GetValue();
			}
			else{
				CString ttxianshi=_variant_t(i+1);
				pingweiming[i]="评委"+ttxianshi;
			}
			db.getrs()->MoveNext();
			i++;
		}
	UpdateData(0);
		}
	}
}

//void bisaijifen::OnOK()
//{
//	// TODO: 在此添加专用代码和/或调用基类
//	OnBnClickedButton7();
//
//}

void bisaijifen::OnBnClickedCancel()
{
	// TODO: 在此添加控件通知处理程序代码
	OnCancel();
}

void bisaijifen::OnBnClickedButton8()
{
	// TODO: 在此添加控件通知处理程序代码
	CString tempname,sql;
	xuanshouxuhao.GetWindowText(tempname);
	CString saishixuhaot=_variant_t(saishixuhao);
	if (tempname!=""&&saishixuhaot!=""){
	sql="select  top 1 * from chengji where suoshuxuanshou ="+tempname+" and suoshusaishi="+saishixuhaot+"";
		db.datasearcher(sql);
		zuizhongchengji=0;
		if(!db.getrs()->adoeof){
			zuizhongchengji=db.getrs()->GetFields()->GetItem("chengji")->GetValue();
		
		}
	chijixianshi chengjixianshi(0,zuizhongchengji);
		
		chengjixianshi.DoModal();
}
}

void bisaijifen::OnOK()
{
	// TODO: 在此添加专用代码和/或调用基类

}

void bisaijifen::OnBnClickedButton9()
{
	// TODO: 在此添加控件通知处理程序代码
			 _ConnectionPtr conn;		//结果
		  _ConnectionPtr conn1;		//database
	   _RecordsetPtr rs; //结果
	   _RecordsetPtr rs1; //database
	   _RecordsetPtr rs2; //database


	     using namespace Excel;

    _ApplicationPtr pXL;

    try {
    pXL.CreateInstance(L"Excel.Application");

    pXL->Visible[0] = VARIANT_TRUE;

    WorkbooksPtr pBooks = pXL->Workbooks;
    _WorkbookPtr pBook  = pBooks->Add((long)xlWorksheet);

    _WorksheetPtr pSheet = pXL->ActiveSheet;
        
    try {
        // This one will fail; it is done on purpose to demonstrate the error.
        pSheet->Name = "Market Share?";
    } catch (_com_error &e) {
        dump_com_error(e);
    }

    pSheet->Name = "Market Share!";

    // When using parameterized properties, optional args must be explicitly dealt with.
    pSheet->Range["A1"][vtMissing]->Value2 = "名次";
    pSheet->Range["B1"][vtMissing]->Value2 = "参赛项目";
    pSheet->Range["C1"][vtMissing]->Value2 = "选手";
    pSheet->Range["D1"][vtMissing]->Value2 = "简介";
	pSheet->Range["E1"][vtMissing]->Value2 = "成绩";

    // Of course, you can call a parameterized property as a method and then optional args are implicit.
  		
	try
		{

		
		conn1.CreateInstance(__uuidof( Connection));//创建Connection对象
		CString data="database\\database.mdb";
		CString tdatapath=CbyWSDlg::datapath+data;
		conn1->Open(_bstr_t(tdatapath),"","",NULL);///连接数据库

		}
		catch(_com_error e)///捕捉异常
		{
			conn=NULL;
			CString errormessage;
			errormessage.Format("连接数据库失败!\r\n请检查数据库路径\n");
			AfxMessageBox(errormessage);///显示错误信息
			exit(1);
		} 
		try{
	CString tsaishixuhao=_variant_t(saishixuhao);
	CString tsql="select * from chengji where suoshusaishi="+tsaishixuhao+" order by chengji desc";
	rs1.CreateInstance(__uuidof(Recordset));
	rs1->Open(_variant_t(tsql), conn1->GetConnectionString(),adOpenDynamic, adLockOptimistic,adCmdText);
	int i=1;
	while(!rs1->adoeof){
		CString temp=rs1->GetFields()->GetItem("suoshuxuanshou")->GetValue();
		CString ttsql="select top 1 * from xuanshou where xuhao="+temp;
		rs2.CreateInstance(__uuidof(Recordset));
		rs2->Open(_variant_t(ttsql), conn1->GetConnectionString(),adOpenDynamic, adLockOptimistic,adCmdText);
		if(!rs2->adoeof){
			CString temp=rs2->GetFields()->GetItem("xiangmu")->GetValue();
			CString tshuzi=_variant_t(i+1);
			CString itema="A"+tshuzi;
			CString itemb="B"+tshuzi;
			CString itemc="C"+tshuzi;
			CString itemd="D"+tshuzi;
			CString iteme="E"+tshuzi;
				 pSheet->GetRange(_variant_t(itema))->Value2 = _variant_t(i);
				pSheet->GetRange(_variant_t(itemb))->Value2 = _variant_t(temp);
				temp=rs2->GetFields()->GetItem("xuanshou")->GetValue();
				pSheet->GetRange(_variant_t(itemc))->Value2 = _variant_t(temp);
				temp=rs2->GetFields()->GetItem("jianjie")->GetValue();
				pSheet->GetRange(_variant_t(itemd))->Value2 = _variant_t(temp);
				float tfen=rs1->GetFields()->GetItem("chengji")->GetValue();
				tfen=(float)((int)(tfen*100))/100;
				pSheet->GetRange(_variant_t(iteme))->Value2 = _variant_t(tfen);
			
		}
		i++;
		rs1->MoveNext();	
	}
		rs->Close();
		rs1->Close();
		rs2->Close();
		conn->Close();
		conn1->Close();
		zhuangtai.SetWindowText("结果成功导出到database/结果.mdb");
	}
	catch(_com_error e)///捕捉异常
	{
		conn->Close();
		rs=NULL;
		CString errormessage;
		errormessage.Format("读取数据库失败1!\r\n错误信息:%s",e.ErrorMessage());
		AfxMessageBox(errormessage);///显示错误信息
		exit(1);
	} 
	 
  

    pBook->Saved[0] = VARIANT_TRUE;   
    } catch(_com_error &e) {
    dump_com_error(e);
    }
}

⌨️ 快捷键说明

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