📄 subform2.cpp
字号:
// SubForm2.cpp : implementation file
//
#include "stdafx.h"
#include "学生成绩管理系统.h"
#include "SubForm2.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSubForm2
IMPLEMENT_DYNCREATE(CSubForm2, CFormView)
CSubForm2::CSubForm2()
: CFormView(CSubForm2::IDD)
{
//{{AFX_DATA_INIT(CSubForm2)
//}}AFX_DATA_INIT
bm_dayin1.LoadBitmap(IDB_DAYIN);
bm_dayin2.LoadBitmap(IDB_DAYIN);
bm_preview1.LoadBitmap(IDB_PREVIEW);
bm_preview2.LoadBitmap(IDB_PREVIEW);
}
CSubForm2::~CSubForm2()
{
}
void CSubForm2::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSubForm2)
DDX_Control(pDX, IDC_STATICZONGRENSHU, m_zongshu);
DDX_Control(pDX, IDC_STATICBUJIGE, m_bujige);
DDX_Control(pDX, IDC_STATICJIGE, m_jige);
DDX_Control(pDX, IDC_COMBOZHUANYIE, m_combozhuanyie);
DDX_Control(pDX, IDC_COMBOYEAR, m_comboyear);
DDX_Control(pDX, IDC_COMBOCOURSE, m_combocourse);
DDX_Control(pDX, IDC_COMBOCLASS, m_comboclass);
DDX_Control(pDX, IDC_LISTSORT, m_listsort);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSubForm2, CFormView)
//{{AFX_MSG_MAP(CSubForm2)
ON_CBN_SELENDOK(IDC_COMBOCLASS, OnSelendokComboclass)
ON_CBN_SELENDOK(IDC_COMBOCOURSE, OnSelendokCombocourse)
ON_CBN_SELENDOK(IDC_COMBOYEAR, OnSelendokComboyear)
ON_CBN_SELENDOK(IDC_COMBOZHUANYIE, OnSelendokCombozhuanyie)
ON_BN_CLICKED(IDC_BUTTONJIGE, OnButtonjige)
ON_BN_CLICKED(IDC_BUTTONBUJIGE, OnButtonbujige)
ON_BN_CLICKED(IDC_BUTTONZONGSHU, OnButtonzongshu)
//}}AFX_MSG_MAP
ON_COMMAND(ID_FILE_PRINT, CFormView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CFormView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CFormView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSubForm2 diagnostics
#ifdef _DEBUG
void CSubForm2::AssertValid() const
{
CFormView::AssertValid();
}
void CSubForm2::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
CMyDoc* CSubForm2::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));
return (CMyDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CSubForm2 message handlers
void CSubForm2::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
//LIST
LONG lStyle = m_listsort.SendMessage(LVM_GETEXTENDEDLISTVIEWSTYLE);
lStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP;
m_listsort.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0,(LPARAM)lStyle);
int left=0;
CString feild[7]={"学号","姓名","课程","成绩","班级","专业","学期"};
for(int i=0;i<7;i++)
{
m_listsort.InsertColumn(i+1,feild[i],left,100,i);
left=200*(i+1);
}
//显示
m_studentset.m_strSort="学号";
m_studentset.Open();
m_classset.Open();
m_courseset.Open();
m_gradeset.Open();
BOOL courseno;
m_listsort.DeleteAllItems();
CString grade,coursename,courseyear;
int j=0;
m_classset.MoveFirst();
do
{
m_studentset.MoveFirst();
do
{
if(m_studentset.m_column3==m_classset.m_column1)
{
m_gradeset.MoveFirst();
do
{
courseno=FALSE;
if(m_gradeset.m_column1==m_studentset.m_column1)
{
m_courseset.MoveFirst();
do
{
if(m_gradeset.m_column2==m_courseset.m_column1)
{
courseno=TRUE;
coursename=m_courseset.m_column2;
courseyear=m_courseset.m_column4;
break;
}
m_courseset.MoveNext();
}while (!m_courseset.IsEOF());
if(courseno)
{
m_listsort.InsertItem(j,m_gradeset.m_column1,0);
m_listsort.SetItemText(j,1,m_studentset.m_column2);
m_listsort.SetItemText(j,2,coursename);
m_listsort.SetItemText(j,6,courseyear);
grade.Format("%4.2f",double(m_gradeset.m_column3));
m_listsort.SetItemText(j,3,grade);
m_listsort.SetItemText(j,4,m_classset.m_column2);
m_listsort.SetItemText(j,5,m_classset.m_column3);
j++;
}
}
m_gradeset.MoveNext();
}while(!m_gradeset.IsEOF());
}
m_studentset.MoveNext();
}while(!m_studentset.IsEOF());
m_classset.MoveNext();
}while(!m_classset.IsEOF());
m_studentset.Close();
m_classset.Close();
m_courseset.Close();
m_gradeset.Close();
int num;
num=m_listsort.GetItemCount();
if(num==0)
MessageBox("没有记录");
CString renshu;
renshu.Format("总人数: %d ",m_listsort.GetItemCount());
m_zongshu.SetWindowText(renshu);
//combo
m_combozhuanyie.ResetContent();
m_classset.Open();
BOOL zhuanyie;
BOOL xueqi;
CString s;
m_classset.MoveFirst();
do
{
zhuanyie=TRUE;
for (j=0;j<m_combozhuanyie.GetCount();j++)
{
m_combozhuanyie.GetLBText(j,s);
if(m_classset.m_column3==s)
{
zhuanyie=FALSE;
}
}
if(zhuanyie)
{
m_combozhuanyie.AddString(m_classset.m_column3);
}
m_comboclass.AddString(m_classset.m_column2);
m_classset.MoveNext();
} while(!m_classset.IsEOF());
m_classset.Close();
m_courseset.Open();
m_courseset.MoveFirst();
do
{
xueqi=TRUE;
for (j=0;j<m_comboyear.GetCount();j++)
{
m_comboyear.GetLBText(j,s);
if(m_courseset.m_column4==s)
{
xueqi=FALSE;
}
}
if(xueqi)
{
m_comboyear.AddString(m_courseset.m_column4);
}
m_combocourse.AddString(m_courseset.m_column2);
m_courseset.MoveNext();
} while (!m_courseset.IsEOF());
m_courseset.Close();
}
void CSubForm2::OnSelendokComboclass()
{
m_studentset.m_strFilter="";
m_classset.m_strFilter="";
m_courseset.m_strFilter="";
CString currentzhuanyie;
CString currentyear;
CString currentclass;
CString currentcourse,str;
CString strclass,strzhuanyie,stryear,strcourse;
if(m_comboyear.GetCurSel()>=0)
m_comboyear.GetLBText(m_comboyear.GetCurSel(),currentyear);
if(m_combozhuanyie.GetCurSel()>=0)
m_combozhuanyie.GetLBText(m_combozhuanyie.GetCurSel(),currentzhuanyie);
if(m_comboclass.GetCurSel()>=0)
m_comboclass.GetLBText(m_comboclass.GetCurSel(),currentclass);
if(m_combocourse.GetCurSel()>=0)
m_combocourse.GetLBText(m_combocourse.GetCurSel(),currentcourse);
strzhuanyie="专业名";
strclass="班级名";
stryear="学期";
strcourse="课程名";
if(currentzhuanyie=="" && currentclass=="")
{
m_classset.m_strFilter="";
}
else if(currentzhuanyie!="" && currentclass=="")
{
m_classset.m_strFilter=strzhuanyie+"='"+currentzhuanyie+"'";
}
else if(currentzhuanyie=="" && currentclass!="")
{
m_classset.m_strFilter=strclass + "='" + currentclass + "'";
}
else
{
m_classset.m_strFilter=strzhuanyie + "='" + currentzhuanyie + "'" + "AND " + strclass + "='" + currentclass + "'";
}
if(currentyear=="" && currentcourse=="")
{
m_courseset.m_strFilter="";
}
else if(currentyear!="" && currentcourse=="")
{
m_courseset.m_strFilter=stryear + "='" + currentyear + "'";
}
else if(currentyear=="" && currentcourse!="")
{
m_courseset.m_strFilter=strcourse + "='" + currentcourse + "'";
}
else
{
str=stryear + "='" + currentyear+"'" + "AND " + strcourse + "='" + currentcourse+"'";
m_courseset.m_strFilter=str;
}
/////////////
m_studentset.Open();
m_classset.Open();
m_courseset.Open();
m_gradeset.Open();
BOOL courseno;
m_listsort.DeleteAllItems();
CString grade,coursename,courseyear;
int j=0;
m_classset.MoveFirst();
do
{
m_studentset.MoveFirst();
do
{
if(m_studentset.m_column3==m_classset.m_column1)
{
m_gradeset.MoveFirst();
do
{
courseno=FALSE;
if(m_gradeset.m_column1==m_studentset.m_column1)
{
m_courseset.MoveFirst();
do
{
if(m_gradeset.m_column2==m_courseset.m_column1)
{
courseno=TRUE;
coursename=m_courseset.m_column2;
courseyear=m_courseset.m_column4;
break;
}
m_courseset.MoveNext();
}while (!m_courseset.IsEOF());
if(courseno)
{
m_listsort.InsertItem(j,m_gradeset.m_column1,0);
m_listsort.SetItemText(j,1,m_studentset.m_column2);
m_listsort.SetItemText(j,2,coursename);
m_listsort.SetItemText(j,6,courseyear);
grade.Format("%4.2f",double(m_gradeset.m_column3));
m_listsort.SetItemText(j,3,grade);
m_listsort.SetItemText(j,4,m_classset.m_column2);
m_listsort.SetItemText(j,5,m_classset.m_column3);
j++;
}
}
m_gradeset.MoveNext();
}while(!m_gradeset.IsEOF());
}
m_studentset.MoveNext();
}while(!m_studentset.IsEOF());
m_classset.MoveNext();
}while(!m_classset.IsEOF());
m_studentset.Close();
m_classset.Close();
m_courseset.Close();
m_gradeset.Close();
int num;
num=m_listsort.GetItemCount();
if(num==0)
MessageBox("没有记录");
CString renshu;
renshu.Format("总人数: %d ",m_listsort.GetItemCount());
m_zongshu.SetWindowText(renshu);
m_jige.SetWindowText(_T("及格人数:"));
m_bujige.SetWindowText(_T("不及格人数:"));
}
void CSubForm2::OnSelendokCombocourse()
{
m_studentset.m_strFilter="";
m_classset.m_strFilter="";
m_courseset.m_strFilter="";
CString currentzhuanyie;
CString currentyear;
CString currentclass;
CString currentcourse,str;
CString strclass,strzhuanyie,stryear,strcourse;
if(m_comboyear.GetCurSel()>=0)
m_comboyear.GetLBText(m_comboyear.GetCurSel(),currentyear);
if(m_combozhuanyie.GetCurSel()>=0)
m_combozhuanyie.GetLBText(m_combozhuanyie.GetCurSel(),currentzhuanyie);
if(m_comboclass.GetCurSel()>=0)
m_comboclass.GetLBText(m_comboclass.GetCurSel(),currentclass);
if(m_combocourse.GetCurSel()>=0)
m_combocourse.GetLBText(m_combocourse.GetCurSel(),currentcourse);
strzhuanyie="专业名";
strclass="班级名";
stryear="学期";
strcourse="课程名";
if(currentzhuanyie=="" && currentclass=="")
{
m_classset.m_strFilter="";
}
else if(currentzhuanyie!="" && currentclass=="")
{
m_classset.m_strFilter=strzhuanyie+"='"+currentzhuanyie+"'";
}
else if(currentzhuanyie=="" && currentclass!="")
{
m_classset.m_strFilter=strclass + "='" + currentclass + "'";
}
else
{
m_classset.m_strFilter=strzhuanyie + "='" + currentzhuanyie + "'" + "AND " + strclass + "='" + currentclass + "'";
}
if(currentyear=="" && currentcourse=="")
{
m_courseset.m_strFilter="";
}
else if(currentyear!="" && currentcourse=="")
{
m_courseset.m_strFilter=stryear + "='" + currentyear + "'";
}
else if(currentyear=="" && currentcourse!="")
{
m_courseset.m_strFilter=strcourse + "='" + currentcourse + "'";
}
else
{
str=stryear + "='" + currentyear+"'" + "AND " + strcourse + "='" + currentcourse+"'";
m_courseset.m_strFilter=str;
}
/////////////
m_studentset.Open();
m_classset.Open();
m_courseset.Open();
m_gradeset.Open();
BOOL courseno;
m_listsort.DeleteAllItems();
CString grade,coursename,courseyear;
int j=0;
m_classset.MoveFirst();
do
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -