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

📄 page1.cpp

📁 学生成绩管理系统 在VCsql的开发环境下编写的
💻 CPP
📖 第 1 页 / 共 2 页
字号:
      if(counter>=60)
	  n++;
	  rs.MoveNext();
}
      passID=n;
	  n=0;
   rs.Close();
   rs.Open(CRecordset::forwardOnly,
	     "select 成绩 from 成绩表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 考试科目名称='"+strsql+"'");
    while(!rs.IsEOF())
	 {
	   rs.GetFieldValue("成绩",strwellID);
	   sscanf(strwellID,"%f",&counter);
       if(counter>=80)
			  n++;
		rs.MoveNext();
	 }
wellID=n;
n=0;
rs.Close();
IDtemp=allID-passID;
strpassID.Format("%d",passID);
strwellID.Format("%d",wellID);
strIDtemp.Format("%d",IDtemp);
m_Ltongji.SetItemText(j,4,strpassID);
m_Ltongji.SetItemText(j,3,strwellID);
m_Ltongji.SetItemText(j,5,strIDtemp);
rs.Close();  
}
rs.Close();
//授课教师
//
//m_Lteacher.DeleteAllItems();//更新
CString teachername,coursename;
int r=0;
j=0;
for(r=0;r<=kemu;r++)
{
 strsql=m_Ltongji.GetItemText(j,0);//j是表项的序号,0是列。
 rs.Open(CRecordset::forwardOnly,
	 "select 授课教师,考试科目 from 考试科目表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 考试科目='"+strsql+"'");
	 
        while(!rs.IsEOF())
		{	 rs.GetFieldValue("授课教师",teachername);
	         rs.GetFieldValue("考试科目",coursename);
			 m_Lteacher.InsertItem(j,"");
			 m_Lteacher.SetItemText(j,0,coursename);
             m_Lteacher.SetItemText(j,1,teachername);
			 rs.MoveNext();
			 j++;
		}
	 
rs.Close();

}
//
//学生成绩列表:
CString studentID,studentName,sex;
int m=0;
rs.Open(CRecordset::forwardOnly,
		"select 学号ID,姓名,性别 from 学生表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' ORDER BY 学号ID");
if(rs.GetRecordCount()!=0)
{
 while(!rs.IsEOF())
 {
	rs.GetFieldValue("学号ID",studentID);
	rs.GetFieldValue("姓名",studentName);
	rs.GetFieldValue("性别",sex);
	m_Lstudent.InsertItem(m,"");
	m_Lstudent.SetItemText(m,0,strXuejie);
	m_Lstudent.SetItemText(m,1,strXibie);
m_Lstudent.SetItemText(m,2,strClass);
    m_Lstudent.SetItemText(m,3,studentID);
	m_Lstudent.SetItemText(m,4,studentName);
	m_Lstudent.SetItemText(m,5,sex);
    rs.MoveNext();
	m++;
 }
}

rs.Close();

//学生成绩列表动态插入考试科目及清空
int w=6,b=26;
int stutemp;
while(b>=6)
{
m_Lstudent.DeleteColumn(b);
b--;
}
rs.Open(CRecordset::forwardOnly,
		"select 考试科目 from 考试科目表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"'");
 if(rs.GetRecordCount!=0)
 {
  
    while(!rs.IsEOF())
	{  
		rs.GetFieldValue("考试科目",strsql);
		m_Lstudent.InsertColumn(w,strsql,LVCFMT_LEFT,70);
		rs.MoveNext();
		w++;
	    stutemp=w;
	}
	m_Lstudent.InsertColumn(w,"总成绩",LVCFMT_LEFT,65);
	m_Lstudent.InsertColumn(w+1,"平均成绩",LVCFMT_LEFT,65);
 }
 else
  {
	 while(w>=6)
	 {
	  m_Lstudent.DeleteColumn(w+2);
	  w--;
	 }
  }

rs.Close();
//学生成绩的加入
CString strSQL;
w=6;
int p=0,a=0;
for(p=0;p<m;p++)
{ w=6;
  for(j=0;j<kemu;j++)
  {
  strsql=m_Ltongji.GetItemText(j,0);//j是表项的序号,0是列。
  strSQL=m_Lstudent.GetItemText(a,3);
  rs.Open(CRecordset::forwardOnly,
	 "select 成绩 from 成绩表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 考试科目名称='"+strsql+"' and 学号ID='"+strSQL+"' ORDER BY 学号ID");
 	      if(!rs.IsEOF())
		  {
           rs.GetFieldValue("成绩",strCourse);
	       sscanf(strCourse,"%f",&counter);
	       strCourse.Format("%.2f",counter);
           m_Lstudent.SetItemText(p,w,strCourse);
		   w++;
		  }
		  if(rs.IsEOF())
		  {w++;}
	       rs.Close();
  } 
  a++;
  rs.Close();
}
rs.Close();
//求平均成绩
float studentaveragecounter=0.000;
float averagetemp=0.000;
float studentaveragecourse=0.000;
int stuaveragecounter;
CString strstudentaverage,strstudentsum;
for(j=0;j<m;j++)
{
 strSQL=m_Lstudent.GetItemText(j,3);
 rs.Open(CRecordset::forwardOnly,
	 "select 成绩 from 成绩表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 学号ID='"+strSQL+"'");
 	    if(rs.IsEOF())
		{
			rs.Close();
		}
		else
		{
         while(!rs.IsEOF())
		  {
		   rs.GetFieldValue("成绩",strCourse);
	       stuaveragecounter=rs.GetRecordCount();//rs.GetRecordCount()只有放到此语句中才能实现计数;
	       sscanf(strCourse,"%f",&counter);
	       rs.MoveNext();
	       averagetemp=averagetemp+counter;
		  }
          studentaveragecourse=averagetemp / stuaveragecounter;
          strstudentaverage.Format("%.3f",studentaveragecourse);
		  strstudentsum.Format("%.2f",averagetemp);
		  m_Lstudent.SetItemText(j,stutemp,strstudentsum);
          m_Lstudent.SetItemText(j,stutemp+1,strstudentaverage);
          averagetemp=0;
	      stuaveragecounter=0;
		}
	       rs.Close();
} 
rs.Close();
return;
}

void CPage1::OnSelchangecobXueQi() 
{
if(((m_xuejie.GetCurSel()!=-1)&&(m_xibie.GetCurSel()!=-1)
       &&(m_xueqi.GetCurSel()!=-1)&&(m_class.GetCurSel()!=-1))
	   &&((m_xuejie.GetCurSel()!=sign_xuejie)||(m_xibie.GetCurSel()!=sign_xibie)
	   ||(m_xueqi.GetCurSel()!=sign_xueqi)||(m_class.GetCurSel()!=sign_class)))
	{
		m_Ltongji.DeleteAllItems();//更新
        m_Lstudent.DeleteAllItems();
        m_Lteacher.DeleteAllItems();
		DataDisplay();
		//初始变量
	   sign_class=m_class.GetCurSel();
	   sign_xuejie=m_xuejie.GetCurSel();
	   sign_xueqi=m_xueqi.GetCurSel();
	   sign_xibie=m_xibie.GetCurSel();
	}
	else
	{   m_Ltongji.DeleteAllItems();//更新
        m_Lstudent.DeleteAllItems();
        m_Lteacher.DeleteAllItems();
	}
}

void CPage1::OnOK() 
{ //卸载数据库
	SQLConfigDataSource(NULL,ODBC_REMOVE_DSN,
		"Microsoft Access Driver (*.mdb)",
		"DSN=student\0"
		"Description=student\0"
        "FileType=Access\0"
        "DBQ=.\\student.mdb\0"
		               );
    OnClose();//调用OnClose()函数:自定义消息函数
}

void CPage1::OncmdFind() 
{
  CFindRecord findialg;
	if(findialg.DoModal()==IDOK)
	{
      
	}
}

void CPage1::OncmdPrint() 
{
MessageBox("此功能现在不可用!","系统提示:",MB_OK|MB_ICONASTERISK);
}

void CPage1::OncmdWatch() 
{
MessageBox("此功能现在不可用!","系统提示:",MB_OK|MB_ICONASTERISK);
}

void CPage1::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	CMenu menu;
	menu.LoadMenu(IDR_MENU_DATA);
	CMenu* pM=menu.GetSubMenu(0);
	CPoint pt;
	GetCursorPos(&pt);
	pM->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this);
	*pResult = 0;
}

void CPage1::OnRclickList2(NMHDR* pNMHDR, LRESULT* pResult) 
{
	CMenu menu;
	menu.LoadMenu(IDR_MENU_DATA);
	CMenu* pM=menu.GetSubMenu(0);
	CPoint pt;
	GetCursorPos(&pt);
	pM->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this);
	*pResult = 0;
}

void CPage1::OnRclickList3(NMHDR* pNMHDR, LRESULT* pResult) 
{
	CMenu menu;
	menu.LoadMenu(IDR_MENU_DATA);
	CMenu* pM=menu.GetSubMenu(0);
	CPoint pt;
	GetCursorPos(&pt);
	pM->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this);
	*pResult = 0;
}

void CPage1::OnMenuAdd() 
{
 CAddRecord  AddRecordDlg;//显示添加记录对话框;
 CString strXueQi;
 POSITION pos=m_Lstudent.GetFirstSelectedItemPosition();
if(pos==NULL)
{
	MessageBox("请选择一个记录!","系统提示:",MB_ICONEXCLAMATION);
}
else
{
	int iItem=m_Lstudent.GetNextSelectedItem(pos);
    AddRecordDlg.m_xuejie=m_Lstudent.GetItemText(iItem,0);
    AddRecordDlg.m_xibie=m_Lstudent.GetItemText(iItem,1);	
    AddRecordDlg.m_class=m_Lstudent.GetItemText(iItem,2);
    AddRecordDlg.m_strcmb_studentID=m_Lstudent.GetItemText(iItem,3);
    m_xueqi.GetLBText(m_xueqi.GetCurSel(),strXueQi);//m_xueqi是CCOMBOX控件
    AddRecordDlg.m_xueqi=strXueQi;
   
    if(AddRecordDlg.DoModal()==IDOK)
	{
	MessageBox("完成操作!","系统提示:",MB_ICONINFORMATION);
    RefrshData();//刷新
   	OnMenuAdd();
	return;
	}
}
return;
	
}

void CPage1::OnMenuDelete() 
{
 CDelteDlg DelteDlg;//显示删除对话框;
 //初始化:
 CString strXueQi;
 POSITION pos=m_Lstudent.GetFirstSelectedItemPosition();
if(pos==NULL)
{
	MessageBox("请选择一个记录!","系统提示:",MB_ICONEXCLAMATION);
	return;
}
else
{
	int iItem=m_Lstudent.GetNextSelectedItem(pos);
    DelteDlg.m_xuejie=m_Lstudent.GetItemText(iItem,0);
    DelteDlg.m_xibie=m_Lstudent.GetItemText(iItem,1);	
    DelteDlg.m_class=m_Lstudent.GetItemText(iItem,2);
    DelteDlg.m_studentID=m_Lstudent.GetItemText(iItem,3);
    m_xueqi.GetLBText(m_xueqi.GetCurSel(),strXueQi);//m_xueqi是CCOMBOX控件
    DelteDlg.m_xueqi=strXueQi;

 if(DelteDlg.DoModal()==IDOK)
 {
	 MessageBox("完成操作!","系统提示:",MB_ICONINFORMATION);
	 RefrshData();//刷新
	 OnMenuDelete();
	 return;
 }
}
	
}

void CPage1::OnMenuFind() 
{
 CFindRecord FindRecordDlg;
 if(FindRecordDlg.DoModal()==IDOK)
 {
 }

}

void CPage1::OnMenuModif() 
{
 CModifRecord ModifRecordDlg;//显示修改对话框

 CString strXueQi;
 POSITION pos=m_Lstudent.GetFirstSelectedItemPosition();
if(pos==NULL)
{
	MessageBox("请选择一个记录!","系统提示:",MB_ICONEXCLAMATION);
}
else
{
	int iItem=m_Lstudent.GetNextSelectedItem(pos);
    ModifRecordDlg.m_xuejie=m_Lstudent.GetItemText(iItem,0);
    ModifRecordDlg.m_xibie=m_Lstudent.GetItemText(iItem,1);	
    ModifRecordDlg.m_class=m_Lstudent.GetItemText(iItem,2);
ModifRecordDlg.m_studentID=m_Lstudent.GetItemText(iItem,3);
    m_xueqi.GetLBText(m_xueqi.GetCurSel(),strXueQi);//m_xueqi是CCOMBOX控件
    ModifRecordDlg.m_xueqi=strXueQi;

 
 if(ModifRecordDlg.DoModal()==IDOK)
 {
	MessageBox("完成操作!","系统提示:",MB_ICONINFORMATION);
    RefrshData();//刷新
OnMenuModif();
	return;
 }
}
return;
}

void CPage1::RefrshData()//刷新显示
{
	if(!m_database.IsOpen()){
		m_database.Open(_T("student"));
	}
	//清空原来已经显示的内容
    m_Ltongji.DeleteAllItems();
	m_Lteacher.DeleteAllItems();
	m_Lstudent.DeleteAllItems();
	DataDisplay();	
}

void CPage1::OnRefashData() 
{
RefrshData();	
}

void CPage1::OnClose() 
{

 AfxGetMainWnd()->PostMessage(WM_CLOSE);//系统退出;	
	CPropertyPage::OnClose();
}

⌨️ 快捷键说明

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