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

📄 subform2.cpp

📁 c++学生成绩管理系统,功能比较完善的中级管理系统
💻 CPP
📖 第 1 页 / 共 3 页
字号:
// 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 + -