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

📄 page2.cpp

📁 学生成绩管理系统 在VCsql的开发环境下编写的
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	counter=rs.GetRecordCount();
	rs.MoveNext(); 
	}
	
	sql.Format("%d",counter);
    m_clist1.SetItemText(j,3,sql);
	rs.Close();

}
rs.Close();
//各系参加考试的总人数;
long attendCount;
CString studentID,xueqitemp;
for(j=0;j<count;j++)
{
 xueqitemp=m_clist1.GetItemText(j,1);//学期
 strsql=m_clist1.GetItemText(j,2);//系别,j是表项的序号,1是列。
 rs.Open(CRecordset::forwardOnly,
   "select DISTINCT 学号ID from 成绩表 where 系别ID='"+strsql+"'and 学期ID='"+xueqitemp+"'");
    while(!rs.IsEOF())
	{
      attendCount=rs.GetRecordCount();
	   rs.MoveNext();	  
    }
	sql.Format("%d",attendCount);
    m_clist1.SetItemText(j,4,sql);
    rs.Close();
}
rs.Close();
//各系不合格人数及合格率
long notWellCount=0;
float wellRatio=0,SattendCount=0;//参加考试的总人数
CString strNoWellCount,strWellRatio;
for(j=0;j<count;j++)//循环
{
	xueqitemp=m_clist1.GetItemText(j,1);//学期
    strsql=m_clist1.GetItemText(j,2);//系别,j是表项的序号,1是列。
	
    rs.Open(CRecordset::forwardOnly,
            "select  DISTINCT 学号ID from 成绩表 where 系别ID='"+strsql+"'and 学期ID='"+xueqitemp+"'and 成绩 < 60");
    while(!rs.IsEOF())
	{
      notWellCount=rs.GetRecordCount();
	  rs.MoveNext();
	}
	//不合格人数
    strNoWellCount.Format("%d",notWellCount);
	m_clist1.SetItemText(j,8,strNoWellCount);
	//合格率
	sql=m_clist1.GetItemText(j,4);//得出参加总人数
	sscanf(sql,"%f",&SattendCount);//
    wellRatio=((SattendCount - notWellCount) / SattendCount)*100 ;
    strWellRatio.Format("%.2f",wellRatio);
	strWellRatio+=_T("%");//字符串连接;
    m_clist1.SetItemText(j,5,strWellRatio);
	notWellCount=0;
	rs.Close();
}
rs.Close();
//优秀人数及优秀率
long notexcellenceCount=0;
CString strExcellence;
float excellenceRatio=0,excellenceCount=0;
for(j=0;j<count;j++)//循环
{
	xueqitemp=m_clist1.GetItemText(j,1);//学期
    strsql=m_clist1.GetItemText(j,2);//系别,j是表项的序号,1是列。
	
    rs.Open(CRecordset::forwardOnly,
            "select  DISTINCT 学号ID from 成绩表 where 系别ID='"+strsql+"'and 学期ID='"+xueqitemp+"'and 成绩 < 80 ");
    while(!rs.IsEOF())
	{
      notexcellenceCount=rs.GetRecordCount();
      rs.MoveNext();
	}
	//优秀率
    sql=m_clist1.GetItemText(j,4);//得出参加总人数
	sscanf(sql,"%f",&SattendCount);//
    excellenceRatio=((SattendCount - notexcellenceCount) / SattendCount)*100;
    strExcellence.Format("%.2f",excellenceRatio);
	strExcellence+=_T("%");//字符串连接;
    m_clist1.SetItemText(j,6,strExcellence);
    //优秀人数
    excellenceCount = SattendCount - notexcellenceCount;
    strExcellence.Format("%.0f",excellenceCount);
	m_clist1.SetItemText(j,7,strExcellence);

	notexcellenceCount=0;
	rs.Close();
}

//系别
for(j=0;j<count;j++)
{  
   strsql=m_clist1.GetItemText(j,2);//j是表项的序号,1是列。 
   rs.Open(CRecordset::forwardOnly,
   "select 系别名称 from 系别 where 系别ID='"+strsql+"'");
    rs.GetFieldValue("系别名称",sql);
    m_clist1.SetItemText(j,2,sql);
	rs.Close();
}
rs.Close();

}



void CPage2::DataDisPlayXIji()
{
 if(m_database.IsOpen())
	 m_database.Close();//发现数据库有冲突,关闭数据库;
     m_database.Open(_T("student"));//重新打开数据库;

    CRecordset rs(&m_database);
	 CString sql,strsql,strXibie,strXiBieID;
	 CString str,strnian;
     
	 //得到系别ID
       m_xibie_xijitongji.GetLBText(m_xibie_xijitongji.GetCurSel(),strXibie);
	   rs.Open(CRecordset::forwardOnly,
		   "select 系别ID from 系别 where 系别名称='"+strXibie+"'");
       rs.GetFieldValue("系别ID",strXiBieID);
	   rs.Close();

int i=0,count,j;
//系级统计的数据显示
m_clist2.DeleteAllItems();//更新
//学期ID
rs.Open(CRecordset::forwardOnly,
		"select DISTINCT 学期ID,学界ID,班级ID from 成绩表 where 系别ID='"+strXiBieID+"' ORDER BY 学期ID ");
if(rs.GetRecordCount()!=0)
{
   while(!rs.IsEOF())
		{  
        rs.GetFieldValue("学期ID",sql);
		rs.GetFieldValue("班级ID",strsql);
		rs.GetFieldValue("学界ID",strnian);
        m_clist2.InsertItem(i,"");
        m_clist2.SetItemText(i,0,strnian);
		m_clist2.SetItemText(i,1,sql);
		m_clist2.SetItemText(i,2,strsql);
		rs.MoveNext();
	    i++;
        count=i;
		}
}
rs.Close();
//各班参加考试的总人数;
long attendCount;
CString studentID,xueqitemp;
for(j=0;j<count;j++)
{
 xueqitemp=m_clist2.GetItemText(j,1);//学期
 strsql=m_clist2.GetItemText(j,2);//班级,j是表项的序号,1是列。
 rs.Open(CRecordset::forwardOnly,
   "select DISTINCT 学号ID from 成绩表 where 系别ID='"+strXiBieID+"' and 班级ID='"+strsql+"'and 学期ID='"+xueqitemp+"'");
    if(rs.GetRecordCount()!=0)
	{
    while(!rs.IsEOF())
	{
      attendCount=rs.GetRecordCount();
	   rs.MoveNext();	  
    }
	sql.Format("%d",attendCount);
    m_clist2.SetItemText(j,3,sql);
    rs.Close();
	}
	rs.Close();
}
rs.Close();
//各班不合格人数及合格率及合格人数
long notWellCount=0;
float wellRatio=0,SattendCount=0,WellCount;//参加考试的总人数
CString strNoWellCount,strWellRatio,strWellCount;
for(j=0;j<count;j++)//循环
{
	xueqitemp=m_clist2.GetItemText(j,1);//学期
    strsql=m_clist2.GetItemText(j,2);//班级,j是表项的序号,1是列。
	
    rs.Open(CRecordset::forwardOnly,
            "select  DISTINCT 学号ID from 成绩表 where 系别ID='"+strXiBieID+"' and 班级ID='"+strsql+"'and 学期ID='"+xueqitemp+"'and 成绩 < 60");
    
	while(!rs.IsEOF())
	{
      notWellCount=rs.GetRecordCount();
	  rs.MoveNext();
	}
	//不合格人数
    strNoWellCount.Format("%d",notWellCount);
	m_clist2.SetItemText(j,8,strNoWellCount);
	//
	sql=m_clist2.GetItemText(j,3);//得出参加总人数
	sscanf(sql,"%f",&SattendCount);//
	//合格人数
    WellCount=SattendCount - notWellCount;
    strWellCount.Format("%.0f",WellCount);
    m_clist2.SetItemText(j,6,strWellCount);
	//合格率
	wellRatio=((SattendCount - notWellCount) / SattendCount)*100 ;
    strWellRatio.Format("%.2f",wellRatio);
	strWellRatio+=_T("%");//字符串连接;
    m_clist2.SetItemText(j,4,strWellRatio);
	notWellCount=0;
	rs.Close();
	
}
rs.Close();
//优秀人数及优秀率
long notexcellenceCount=0;
CString strExcellence;
float excellenceRatio=0,excellenceCount=0;
for(j=0;j<count;j++)//循环
{
	xueqitemp=m_clist2.GetItemText(j,1);//学期
    strsql=m_clist2.GetItemText(j,2);//班级,j是表项的序号,1是列。
	
    rs.Open(CRecordset::forwardOnly,
            "select  DISTINCT 学号ID from 成绩表 where 系别ID='"+strXiBieID+"' and 班级ID='"+strsql+"'and 学期ID='"+xueqitemp+"'and 成绩 < 80 ");
    
	while(!rs.IsEOF())
	{
      notexcellenceCount=rs.GetRecordCount();
      rs.MoveNext();
	}
	//优秀率
    sql=m_clist2.GetItemText(j,3);//得出参加总人数
	sscanf(sql,"%f",&SattendCount);//
    excellenceRatio=((SattendCount - notexcellenceCount) / SattendCount)*100;
    strExcellence.Format("%.2f",excellenceRatio);
	strExcellence+=_T("%");//字符串连接;
    m_clist2.SetItemText(j,5,strExcellence);
    //优秀人数
    excellenceCount = SattendCount - notexcellenceCount;
    strExcellence.Format("%.0f",excellenceCount);
	m_clist2.SetItemText(j,7,strExcellence);

	notexcellenceCount=0;
	rs.Close();
	
}
rs.Close();
//班级
for(j=0;j<count;j++)
{  
   strsql=m_clist2.GetItemText(j,2);//j是表项的序号,1是列。 
   rs.Open(CRecordset::forwardOnly,
   "select 班级名称 from 班级 where 班级ID='"+strsql+"'");
   
    rs.GetFieldValue("班级名称",sql);
    m_clist2.SetItemText(j,2,sql);
	rs.Close();
   
}
rs.Close();
}

void CPage2::OnSelchangecmbXiBiexijitongji() 
{
OncmdMeRenxiji();
	
}

void CPage2::RefreshData()//刷新院级统计
{
	m_clist1.DeleteAllItems();//更新
    DataDisplay();
}

⌨️ 快捷键说明

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