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

📄 studentdlg.cpp

📁 c++学生成绩管理系统,功能比较完善的中级管理系统
💻 CPP
字号:
// StudentDlg.cpp : implementation file
//

#include "stdafx.h"
#include "学生成绩管理系统.h"
#include "StudentDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CStudentDlg dialog


CStudentDlg::CStudentDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CStudentDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CStudentDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CStudentDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CStudentDlg)
	DDX_Control(pDX, IDC_LISTSTUDENT, m_liststudent);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CStudentDlg, CDialog)
	//{{AFX_MSG_MAP(CStudentDlg)
	ON_BN_CLICKED(IDC_BUTTONDELETE, OnButtondelete)
	ON_BN_CLICKED(IDC_BUTTONADD, OnButtonadd)
	ON_BN_CLICKED(IDC_BUTTONEDIT, OnButtonedit)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CStudentDlg message handlers

BOOL CStudentDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	LONG lStyle = m_liststudent.SendMessage(LVM_GETEXTENDEDLISTVIEWSTYLE);
	lStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP;
	m_liststudent.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0,(LPARAM)lStyle);

	int left=0;
	CString feild[3]={"学号","姓名","班级"};
	for(int i=0;i<3;i++)
	{
		m_liststudent.InsertColumn(i+1,feild[i],left,100,i);
		left=200*(i+1);
	}
	//
	int j=0;
	m_studentset.m_strSort="学号";
	m_studentset.Open();
	m_classset.Open();
	m_studentset.MoveFirst();
	do
	{
		m_liststudent.InsertItem(j,m_studentset.m_column1,0);
		m_liststudent.SetItemText(j,1,m_studentset.m_column2);
		m_classset.MoveFirst();
		do
		{
			if(m_classset.m_column1==m_studentset.m_column3)
			{
				m_liststudent.SetItemText(j,2,m_classset.m_column2);
				break;
			}
			m_classset.MoveNext();
		}while(!m_classset.IsEOF());						
		j++;
		m_studentset.MoveNext();
	}while(!m_studentset.IsEOF());
	m_studentset.Close();
	m_classset.Close();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CStudentDlg::OnButtondelete() 
{
	TCHAR currentstudentno[20];
	CString currentstudent;
	if(m_liststudent.GetSelectionMark()>=0)
	{
		m_liststudent.GetItemText(m_liststudent.GetSelectionMark(),0,currentstudentno,20);
		currentstudent=currentstudentno;
		m_studentset.Open();
		m_studentset.MoveFirst();
		do
		{
			if(m_studentset.m_column1==currentstudent)
			{
				m_studentset.Delete();
				break;
			}
			
			m_studentset.MoveNext();
		}while(!m_studentset.IsEOF());
		m_studentset.Close();
		m_gradeset.Open();
		m_gradeset.MoveFirst();
		do
		{
			if(m_gradeset.m_column1==currentstudent)
				m_gradeset.Delete();
			if(!m_gradeset.IsEOF())
				m_gradeset.MoveNext();
		}while(!m_gradeset.IsEOF());
		m_gradeset.Close();
		m_liststudent.DeleteItem(m_liststudent.GetSelectionMark());
	}
	else
		MessageBox("请选择一条记录");
	
}

void CStudentDlg::OnButtonadd() 
{
	if(studentadddlg.DoModal()==IDOK)
	{
		m_liststudent.DeleteAllItems();
		int j=0;
		m_studentset.Open();
		m_classset.Open();
		m_studentset.MoveFirst();
		do
		{
			m_liststudent.InsertItem(j,m_studentset.m_column1,0);
			m_liststudent.SetItemText(j,1,m_studentset.m_column2);
			m_classset.MoveFirst();
			do
			{
				if(m_classset.m_column1==m_studentset.m_column3)
				{
					m_liststudent.SetItemText(j,2,m_classset.m_column2);
					break;
				}
				m_classset.MoveNext();
			}while(!m_classset.IsEOF());						
			j++;
			m_studentset.MoveNext();
		}while(!m_studentset.IsEOF());
		m_studentset.Close();
		m_classset.Close();
	}
		
}

void CStudentDlg::OnButtonedit() 
{
	TCHAR currentstudentno[20],currentstudentname[10],currentclass[20];
	CString m_class;
	if(m_liststudent.GetSelectionMark()>=0)
	{
		m_liststudent.GetItemText(m_liststudent.GetSelectionMark(),0,currentstudentno,20);
		m_liststudent.GetItemText(m_liststudent.GetSelectionMark(),1,currentstudentname,10);
		m_liststudent.GetItemText(m_liststudent.GetSelectionMark(),2,currentclass,20);
		studenteditdlg.m_studentno=currentstudentno;
		studenteditdlg.m_studentname=currentstudentname;
		studenteditdlg.m_class=currentclass;
		if(studenteditdlg.DoModal()==IDOK)
		{
			if(!m_classset.IsOpen())
				m_classset.Open();
			if(!m_classset.IsBOF())
				m_classset.MoveFirst();
			do
			{
				if(m_classset.m_column2==studenteditdlg.m_class)
				{
					m_class=m_classset.m_column1;
					break;
				}
				m_classset.MoveNext();
			}while(!m_classset.IsEOF());
			if(m_classset.IsOpen())
				m_classset.Close();
		//
			if(!m_studentset.IsOpen())
				m_studentset.Open();
			if(!m_studentset.IsBOF())
				m_studentset.MoveNext();
			do
			{
				if(m_studentset.m_column1==currentstudentno && m_studentset.m_column2==currentstudentname)
				{
					m_studentset.Edit();
					m_studentset.SetFieldValue(_T("学号"),(LPCTSTR)studenteditdlg.m_studentno);
					m_studentset.SetFieldValue(_T("姓名"),(LPCTSTR)studenteditdlg.m_studentname);
					m_studentset.SetFieldValue(_T("班级号"),(LPCTSTR)m_class);
					if(m_studentset.CanUpdate())
						m_studentset.Update();
					break;
				}
				m_studentset.MoveNext();
			}while(!m_studentset.IsEOF());
			if(m_studentset.IsOpen())
				m_studentset.Close();
			///
			m_liststudent.DeleteAllItems();
			int j=0;
			m_studentset.Open();
			m_classset.Open();
			m_studentset.MoveFirst();
			do
			{
				m_liststudent.InsertItem(j,m_studentset.m_column1,0);
				m_liststudent.SetItemText(j,1,m_studentset.m_column2);
				m_classset.MoveFirst();
				do
				{
					if(m_classset.m_column1==m_studentset.m_column3)
					{
						m_liststudent.SetItemText(j,2,m_classset.m_column2);
						break;
					}
					m_classset.MoveNext();
				}while(!m_classset.IsEOF());						
				j++;
				m_studentset.MoveNext();
			}while(!m_studentset.IsEOF());
			m_studentset.Close();
			m_classset.Close();
		}
	}
	else
		MessageBox("请选择一条记录");
	
}

⌨️ 快捷键说明

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