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

📄 grade.cpp

📁 以前的课程设计,觉得功能不错,界面设计的也不错
💻 CPP
字号:
// Grade.cpp : implementation file
//

#include "stdafx.h"
#include "Student.h"
#include "Grade.h"
#include "GradeSet.h"
#include "BaseSet.h"
#include "GuestSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CGrade dialog


CGrade::CGrade(CWnd* pParent /*=NULL*/)
	: CDialog(CGrade::IDD, pParent)
{
	//{{AFX_DATA_INIT(CGrade)
	m_adress = _T("安徽滁州市");
	m_born = _T("1986.02.28");
	m_id = _T("040330519");
	m_name = _T("陆良虎");
	m_sex = _T("男");
	m_tel = _T("0550-3940717");
	m_syspassword = _T("");
	m_sysuser = _T("");
	//}}AFX_DATA_INIT
}

BOOL CGrade::OnInitDialog() 
{
	CDialog::OnInitDialog();
    m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	m_list.InsertColumn(1,"学号",LVCFMT_CENTER,100,1);
	m_list.InsertColumn(2,"C++",LVCFMT_CENTER,50,1);
	m_list.InsertColumn(3,"数据结构",LVCFMT_CENTER,70,1);
	m_list.InsertColumn(4,"操作系统",LVCFMT_CENTER,70,1);
	m_list.InsertColumn(5,"软件工程",LVCFMT_CENTER,70,1);
    m_list.InsertColumn(6,"编译原理",LVCFMT_CENTER,70,1);

	m_list.InsertColumn(7,"微机原理",LVCFMT_CENTER,70,1);
	m_list.InsertColumn(8,"算法分析",LVCFMT_CENTER,70,1);
	m_list.InsertColumn(9,"图论代数",LVCFMT_CENTER,70,1);
	m_list.InsertColumn(10,"工程经济学",LVCFMT_CENTER,80,1);
	m_list.InsertColumn(11,"通信原理",LVCFMT_CENTER,70,1);
    m_list.InsertColumn(12,"信号系统",LVCFMT_CENTER,70,1);

	m_list.InsertColumn(13,"计算方法",LVCFMT_CENTER,70,1);
	m_list.InsertColumn(14,"数字电路",LVCFMT_CENTER,70,1);
	m_list.InsertColumn(15,"模拟电路",LVCFMT_CENTER,70,1);
	m_list.InsertColumn(16,"数理逻辑",LVCFMT_CENTER,70,1);
	m_list.InsertColumn(17,"集合论",LVCFMT_CENTER,70,1);
    
    m_gradeset.Open();
	m_gradeset.MoveFirst();
	int nIndex,i=0;
	while(!m_gradeset.IsEOF())
	{
   
		nIndex= m_list.InsertItem(i,m_gradeset.m_id);
        m_list.SetItemText(nIndex,1,m_gradeset.m_C__);
        m_list.SetItemText(nIndex,2,m_gradeset.m_data);
        m_list.SetItemText(nIndex,3,m_gradeset.m_os);
        m_list.SetItemText(nIndex,4,m_gradeset.m_soft);
        m_list.SetItemText(nIndex,5,m_gradeset.m_compiler);

        m_list.SetItemText(nIndex,6,m_gradeset.m_pc);
        m_list.SetItemText(nIndex,7,m_gradeset.m_suanfa);
        m_list.SetItemText(nIndex,8,m_gradeset.m_graph);
        m_list.SetItemText(nIndex,9,m_gradeset.m_jinji);
        m_list.SetItemText(nIndex,10,m_gradeset.m_tongxin);

	    m_list.SetItemText(nIndex,11,m_gradeset.m_xinhao);
        m_list.SetItemText(nIndex,12,m_gradeset.m_jisuan);
        m_list.SetItemText(nIndex,13,m_gradeset.m_shuzi);
        m_list.SetItemText(nIndex,14,m_gradeset.m_moni);
        m_list.SetItemText(nIndex,15,m_gradeset.m_luoji);
        m_list.SetItemText(nIndex,16,m_gradeset.m_jihe);       

        i++;
        m_gradeset.MoveNext();
	}
    m_gradeset.Close();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
void CGrade::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CGrade)
	DDX_Control(pDX, IDC_LIST, m_list);
	DDX_Text(pDX, IDC_STUDENTADRESS, m_adress);
	DDX_Text(pDX, IDC_STUDENTBORN, m_born);
	DDX_Text(pDX, IDC_STUDENTID, m_id);
	DDX_Text(pDX, IDC_STUDENTNAME, m_name);
	DDX_Text(pDX, IDC_STUDENTSEX, m_sex);
	DDX_Text(pDX, IDC_STUDENTTEL, m_tel);
	DDX_Text(pDX, IDC_SYSPASSWORD, m_syspassword);
	DDX_Text(pDX, IDC_SYSTEMGUEXT, m_sysuser);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CGrade, CDialog)
	//{{AFX_MSG_MAP(CGrade)
	ON_BN_CLICKED(IDC_UP, OnUp)
	ON_BN_CLICKED(IDC_EXIT, OnExit)
	ON_NOTIFY(NM_DBLCLK, IDC_LIST, OnDblclkList)
	ON_NOTIFY(NM_CLICK, IDC_LIST, OnClickList)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CGrade message handlers

void CGrade::OnUp() 
{
	// TODO: Add your control notification handler code here
	CGuestSet m_guest;
	bool flag=1;
    m_guest.Open();
    m_guest.MoveLast();
//	m_guest.MovePrev();

   UpdateData(1);

	if(m_sysuser=="")
	{
		MessageBox("请输入系统管理员名称",NULL,MB_OK|MB_ICONWARNING);
	    flag=1;
	}
	else if(m_syspassword=="")
	{
		MessageBox("请输入系统管理员帐户",NULL,MB_OK|MB_ICONWARNING);
		flag=1;
	}
	else  if(m_guest.m_guest==m_sysuser && m_guest.m_password==m_syspassword)
	{ 
		  CGradeSet m_set;
		  int i=0;
		  m_set.Open();
		  m_set.MoveFirst();
		  while(i<nItem)
		  {
            m_set.MoveNext();
			i++;
		  }
           m_set.Edit();
		   m_set.m_C__=	m_editdlg.m_cpp;
           m_set.m_compiler= m_editdlg.m_compiler;
		   m_set.m_data=m_editdlg.m_data;
		   m_set.m_graph=m_editdlg.m_graph;
		   m_set.m_jihe=m_editdlg.m_jihe;
		   m_set.m_jinji=m_editdlg.m_jinji;
		   m_set.m_jisuan=m_editdlg.m_jisuan;
		   m_set.m_luoji=m_editdlg.m_luoji;
		   m_set.m_moni=m_editdlg.m_moni;
		   m_set.m_os=m_editdlg.m_os;
		   m_set.m_pc=m_editdlg.m_pc;
		   m_set.m_shuzi=m_editdlg.m_shuzi;
		   m_set.m_soft=m_editdlg.m_soft;
		   m_set.m_suanfa=m_editdlg.m_suanfa;
		   m_set.m_tongxin=m_editdlg.m_tongxin;
		   m_set.m_xinhao=m_editdlg.m_xinhao;
		   m_set.Update();
		   m_set.Close();

           MessageBox("       恭喜你!!\n已经成功的更新数据库了",NULL,MB_OK|MB_ICONINFORMATION);
           flag=0;
		   m_editdlg.DestroyWindow();  //释放内存变量
		   CDialog::OnOK();
           
	  }
   if(flag)
	{
         MessageBox("      对不起你 !!\n没有更新数据库的权限",NULL,MB_OK|MB_ICONINFORMATION);
	}
    m_guest.Close();
//	m_editdlg.DestroyWindow();   //释放内存变量  这里不需要了
//	CDialog::OnOK();	
}

void CGrade::OnExit() 
{
	// TODO: Add your control notification handler code here
	CDialog::OnCancel();
	CDialog::DestroyWindow();
}

void CGrade::OnDblclkList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
   m_gradeset.Open();
   m_gradeset.MoveFirst();
//   CEditGradeDlg m_editdlg;
 /*获取要修改的数据*/
 	 nItem = m_list.GetNextItem( -1, LVNI_ALL | LVNI_SELECTED);

	m_editdlg.m_cpp=m_list.GetItemText(nItem,1);
    m_editdlg.m_data=m_list.GetItemText(nItem,2);
    m_editdlg.m_os=m_list.GetItemText(nItem,3);
    m_editdlg.m_soft=m_list.GetItemText(nItem,4);
    m_editdlg.m_compiler=m_list.GetItemText(nItem,5);
	m_editdlg.m_pc=m_list.GetItemText(nItem,6);
    m_editdlg.m_suanfa=m_list.GetItemText(nItem,7);
	m_editdlg.m_graph=m_list.GetItemText(nItem,8);
    m_editdlg.m_jinji=m_list.GetItemText(nItem,9);
    m_editdlg.m_tongxin=m_list.GetItemText(nItem,10);
    m_editdlg.m_xinhao=m_list.GetItemText(nItem,11);
    m_editdlg.m_jisuan=m_list.GetItemText(nItem,12);
    m_editdlg.m_shuzi=m_list.GetItemText(nItem,13);
    m_editdlg.m_moni=m_list.GetItemText(nItem,14);
    m_editdlg.m_luoji=m_list.GetItemText(nItem,15);
    m_editdlg.m_jihe=m_list.GetItemText(nItem,16);
/*获取要修改的数据*/
    if(m_editdlg.DoModal()==IDOK)
	{
                   
       m_list.SetItemText(nItem,1,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,2,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,3,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,4,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,5,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,6,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,7,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,8,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,9,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,10,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,11,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,12,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,13,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,14,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,15,m_editdlg.m_cpp);
	   m_list.SetItemText(nItem,16,m_editdlg.m_cpp);
	   m_list.Update(nItem);  
	}
    m_gradeset.Close();
	*pResult = 0;
}

void CGrade::OnClickList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	CBaseSet m_baseset;
	m_baseset.Open();
    m_baseset.MoveFirst();

    m_gradeset.Open();	
	int nItem = m_list.GetNextItem( -1, LVNI_ALL | LVNI_SELECTED);
	m_id=m_list.GetItemText(nItem,0);
     while(!m_baseset.IsEOF())
	 {
      if(m_baseset.m_id==m_id)
	  {
         m_adress=m_baseset.m_adress;
		 m_born=m_baseset.m_born;
		 m_name=m_baseset.m_name;
		 m_sex=m_baseset.m_sex;
		 m_tel=m_baseset.m_tel;

		 break;
	  }
     m_baseset.MoveNext();
    }
	 UpdateData(0);
	 m_baseset.Close();
	 m_gradeset.Close();
	*pResult = 0;
}

⌨️ 快捷键说明

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