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

📄 page2.cpp

📁 学生成绩管理系统,一个不错的数据库管理系统。
💻 CPP
字号:
// Page2.cpp : implementation file
//

#include "stdafx.h"
#include "cj.h"
#include "Page2.h"
#include "FindDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPage2 property page

IMPLEMENT_DYNCREATE(CPage2, CPropertyPage)

CPage2::CPage2() : CPropertyPage(CPage2::IDD)
{
	//{{AFX_DATA_INIT(CPage2)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}

CPage2::~CPage2()
{
}

void CPage2::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPage2)
	DDX_Control(pDX, IDC_LIST2, m_clist2);
	DDX_Control(pDX, IDC_LIST1, m_clist1);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPage2, CPropertyPage)
	//{{AFX_MSG_MAP(CPage2)
	ON_WM_CANCELMODE()
	ON_BN_CLICKED(IDC_FIND, OnFind)
	ON_BN_CLICKED(IDC_ALL, OnAll)
	ON_BN_CLICKED(IDC_SHOW, OnShow)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPage2 message handlers

BOOL CPage2::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_clist1.SetExtendedStyle(LVS_EX_GRIDLINES );
	m_clist2.SetExtendedStyle(LVS_EX_GRIDLINES );

	m_clist1.InsertColumn(0,"学号",LVCFMT_LEFT,45);
	m_clist1.InsertColumn(1,"姓名",LVCFMT_LEFT,45);
	m_clist1.InsertColumn(2,"数学",LVCFMT_LEFT,45);
	m_clist1.InsertColumn(3,"物理",LVCFMT_LEFT,45);
	m_clist1.InsertColumn(4,"化学",LVCFMT_LEFT,45);
	m_clist1.InsertColumn(5,"英语",LVCFMT_LEFT,45);
	m_clist1.InsertColumn(6,"政治",LVCFMT_LEFT,45);
	m_clist1.InsertColumn(7,"总成绩",LVCFMT_LEFT,60);
	m_clist1.InsertColumn(8,"平均成绩",LVCFMT_LEFT,65);



	m_clist2.InsertColumn(0,"科目",LVCFMT_LEFT,45);
	m_clist2.InsertColumn(1,"总成绩",LVCFMT_LEFT,50);
	m_clist2.InsertColumn(2,"平均成绩",LVCFMT_LEFT,65);
	m_clist2.InsertColumn(3,"及格人数",LVCFMT_LEFT,65);
	m_clist2.InsertColumn(4,"优秀人数",LVCFMT_LEFT,65);



	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CPage2::OnCancelMode() 
{
	CPropertyPage::OnCancelMode();
	
	// TODO: Add your message handler code here
 
}

void CPage2::OnFind() 
{
	// TODO: Add your control notification handler code here
	CFindDlg findialg;
	if(findialg.DoModal()==IDOK)
	{
      m_set.Open(); 
	  
	  if(findialg.m_getstring2==">=")
	   m_set.m_strFilter.Format("[%s]>=%.f",findialg.m_getstring1,findialg.m_ntiaojian); 
	  if(findialg.m_getstring2=="=")
	   m_set.m_strFilter.Format("[%s]=%.f",findialg.m_getstring1,findialg.m_ntiaojian); 
	  if(findialg.m_getstring2=="<=")
	   m_set.m_strFilter.Format("[%s]<=%.f",findialg.m_getstring1,findialg.m_ntiaojian); 
	  m_clist1.DeleteAllItems();
	  m_set.Requery();

	  if(m_set.IsEOF()) { AfxMessageBox(_T("1班没有您需要的记录! :("),MB_OKCANCEL,0);   m_set.Close();}

   else
	 {
	   int n = 0 ;
	  while(!m_set.IsEOF())
	  {
	    m_clist1.InsertItem(n,"");
        CString s;
		s.Format("%d",m_set.m_column1);
 		m_clist1.SetItemText(n,0,s);
		m_clist1.SetItemText(n,1,m_set.m_column2);
		s.Format("%.1f",m_set.m_column3);
        m_clist1.SetItemText(n,2,s);
		s.Format("%.1f",m_set.m_column4);
     	m_clist1.SetItemText(n,3,s);
		s.Format("%.1f",m_set.m_column5);
     	m_clist1.SetItemText(n,4,s);
    	s.Format("%.1f",m_set.m_column6);
     	m_clist1.SetItemText(n,5,s);
	    s.Format("%.1f",m_set.m_column7);
     	m_clist1.SetItemText(n,6,s);
			s.Format("%.1f",m_set.m_column8);
     	m_clist1.SetItemText(n,7,s);
			s.Format("%.2f",m_set.m_column9);
     	m_clist1.SetItemText(n,8,s);

        m_set.MoveNext();
		n++;
	  }
	  m_set.Close(); 
   } 
   	  m_set.Open(AFX_DB_USE_DEFAULT_TYPE,"[NO2STUDENT]",NULL);  
     if(findialg.m_getstring2==">=")
	   m_set.m_strFilter.Format("[%s]>=%.f",findialg.m_getstring1,findialg.m_ntiaojian); 
	  if(findialg.m_getstring2=="=")
	   m_set.m_strFilter.Format("[%s]=%.f",findialg.m_getstring1,findialg.m_ntiaojian); 
	  if(findialg.m_getstring2=="<=")
	   m_set.m_strFilter.Format("[%s]<=%.f",findialg.m_getstring1,findialg.m_ntiaojian); 
//	  m_clist1.DeleteAllItems();
	  m_set.Requery();

	  if(m_set.IsEOF()) { AfxMessageBox(_T("1,2班都没有您需要的记录! :("),MB_OKCANCEL,0);   m_set.Close();}

   else
	 {
	   int n = 0 ;
	  while(!m_set.IsEOF())
	  {
	    m_clist1.InsertItem(n,"");
        CString s;
		s.Format("%d",m_set.m_column1);
 		m_clist1.SetItemText(n,0,s);
		m_clist1.SetItemText(n,1,m_set.m_column2);
		s.Format("%.1f",m_set.m_column3);
        m_clist1.SetItemText(n,2,s);
		s.Format("%.1f",m_set.m_column4);
     	m_clist1.SetItemText(n,3,s);
		s.Format("%.1f",m_set.m_column5);
     	m_clist1.SetItemText(n,4,s);
    	s.Format("%.1f",m_set.m_column6);
     	m_clist1.SetItemText(n,5,s);
	    s.Format("%.1f",m_set.m_column7);
     	m_clist1.SetItemText(n,6,s);
			s.Format("%.1f",m_set.m_column8);
     	m_clist1.SetItemText(n,7,s);
			s.Format("%.2f",m_set.m_column9);
     	m_clist1.SetItemText(n,8,s);

        m_set.MoveNext();
		n++;
	  }
	  m_set.Close(); 
	}
	}
}

void CPage2::OnAll() 
{
	// TODO: Add your control notification handler code here
		m_clist1.DeleteAllItems();
   
	if(m_set.IsOpen())    m_set.Close();
	 m_set.m_strFilter.Empty();

	  m_set.Open();
        
	  m_nRecordCount = 0 ;
	    int n = 0 ;
	  while(!m_set.IsEOF())
	  {
	    m_clist1.InsertItem(n,"");
        CString s;
		s.Format("%d",m_set.m_column1);
 		m_clist1.SetItemText(n,0,s);
		m_clist1.SetItemText(n,1,m_set.m_column2);
		s.Format("%.1f",m_set.m_column3);
        m_clist1.SetItemText(n,2,s);
		s.Format("%.1f",m_set.m_column4);
     	m_clist1.SetItemText(n,3,s);
		s.Format("%.1f",m_set.m_column5);
     	m_clist1.SetItemText(n,4,s);
    	s.Format("%.1f",m_set.m_column6);
     	m_clist1.SetItemText(n,5,s);
	    s.Format("%.1f",m_set.m_column7);
     	m_clist1.SetItemText(n,6,s);
			s.Format("%.1f",m_set.m_column8);
     	m_clist1.SetItemText(n,7,s);
			s.Format("%.2f",m_set.m_column9);
     	m_clist1.SetItemText(n,8,s);
 
         m_nRecordCount++;

        m_set.MoveNext();
		n++;
	  }
	  m_set.Close(); 

	  m_set.Open(AFX_DB_USE_DEFAULT_TYPE,"[NO2STUDENT]",NULL);  
      
//	   int n = 0 ;
	  while(!m_set.IsEOF())
	  {
	    m_clist1.InsertItem(n,"");
        CString s;
		s.Format("%d",m_set.m_column1);
 		m_clist1.SetItemText(n,0,s);
		m_clist1.SetItemText(n,1,m_set.m_column2);
		s.Format("%.1f",m_set.m_column3);
        m_clist1.SetItemText(n,2,s);
		s.Format("%.1f",m_set.m_column4);
     	m_clist1.SetItemText(n,3,s);
		s.Format("%.1f",m_set.m_column5);
     	m_clist1.SetItemText(n,4,s);
    	s.Format("%.1f",m_set.m_column6);
     	m_clist1.SetItemText(n,5,s);
	    s.Format("%.1f",m_set.m_column7);
     	m_clist1.SetItemText(n,6,s);
			s.Format("%.1f",m_set.m_column8);
     	m_clist1.SetItemText(n,7,s);
			s.Format("%.2f",m_set.m_column9);
     	m_clist1.SetItemText(n,8,s);

   m_nRecordCount++;

        m_set.MoveNext();
		n++;
	  }
	  m_set.Close(); 
}

void CPage2::OnShow() 
{
	// TODO: Add your control notification handler code here
    	m_clist2.DeleteAllItems();
    CString s;   
    m_bSet.Open();
    
	int i=0; 
 	

    m_bSet.MoveFirst();
    do
	 {  
    m_clist2.InsertItem(i,m_bSet.m_column1,0);
    i++;
    m_bSet.MoveNext();
 
	} while(!m_bSet.IsEOF());
   m_bSet.MoveFirst();
   for(i=0;i<=4;i++)
   {		  
    score[i][1]=m_bSet.m_column2;
    score[i][3]=(float)m_bSet.m_column4;
    score[i][4]=(float)m_bSet.m_column5;
    if(i!=4)
    m_bSet.MoveNext();
 
   }
    m_bSet.Close();

   m_bSet.Open(AFX_DB_USE_DEFAULT_TYPE,"[NO2OBJECT]");
   for(i=0;i<5;i++)
   {
	score[i][1]+=m_bSet.m_column2;
	score[i][2]=score[i][1]/m_nRecordCount;
	score[i][3]+=(float)m_bSet.m_column4;
	score[i][4]+=(float)m_bSet.m_column5;
	if(!m_bSet.IsEOF())
   m_bSet.MoveNext();

   }
   m_bSet.Close();
  for(i=0;i<5;i++)
  { 
	s.Format("%.1f",score[i][1]);
	m_clist2.SetItemText(i,1,s);
	s.Format("%.2f",score[i][2]);
    m_clist2.SetItemText(i,2,s);
    s.Format("%d",(int)score[i][3]);
   m_clist2.SetItemText(i,3,s);
    s.Format("%d",(int)score[i][4]);
    m_clist2.SetItemText(i,4,s);
	}
	  
		
}

⌨️ 快捷键说明

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