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

📄 gradeshow.cpp

📁 分管理员和学生界面
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// GradeShow.cpp : implementation file
//

#include "stdafx.h"
#include "教学管理系统.h"
#include "GradeShow.h"

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

/////////////////////////////////////////////////////////////////////////////
// GradeShow dialog


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


void GradeShow::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(GradeShow)
	DDX_Control(pDX, IDC_LIST1, list);
	//}}AFX_DATA_MAP
}

BOOL GradeShow::OnInitDialog()
{
	CDialog::OnInitDialog();
    DWORD dwExStyle=LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP ;  
    list.SetExtendedStyle(dwExStyle);     
    list.InsertColumn(0,"总评成绩",LVCFMT_CENTER,70);
    list.InsertColumn(0,"平时成绩",LVCFMT_CENTER,70);
	list.InsertColumn(0,"考试成绩",LVCFMT_CENTER,70);
	list.InsertColumn(0,"学时",LVCFMT_CENTER,50);
	list.InsertColumn(0,"学分",LVCFMT_CENTER,50);
	list.InsertColumn(0,"学号",LVCFMT_CENTER,95);
	list.InsertColumn(0,"课程名称",LVCFMT_CENTER,130);
	list.InsertColumn(0,"课程号",LVCFMT_CENTER,100);
    gradedisplay();
	// TODO:  在此添加额外的初始化

	return TRUE;  // return TRUE unless you set the focus to a control
	// 异常: OCX 属性页应返回 FALSE
}

BEGIN_MESSAGE_MAP(GradeShow, CDialog)
	//{{AFX_MSG_MAP(GradeShow)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// GradeShow message handlers

void GradeShow::OnCancel() 
{
	// TODO: Add extra cleanup here
	EndDialog(0);
}

void GradeShow::gradedisplay()
{CString sql,a,b,c,d,e,f,g,h;
int i=1;
CString n[3000];
list.DeleteAllItems();
connection.Initialize();

if(select==1)
{
 connection.Initialize(); 
 sql.Format("select * from 课程 where 课程号='%s' ",gap);
 connection.Connect(sql);
if(connection.m_pRecordset->adoEOF)
{AfxMessageBox("没有该课程");
 connection.Unitialize();return;}
 connection.m_pRecordset->MoveFirst();
while(!connection.m_pRecordset->adoEOF)
{      _variant_t TheValue; 
	    TheValue = connection.m_pRecordset->Fields->GetItem("课程名称")->Value;
		f=TheValue.bstrVal;
	
		float credit = connection.m_pRecordset->Fields->GetItem("学分")->Value;
		g.Format("%g",credit);

	    TheValue = connection.m_pRecordset->Fields->GetItem("学时")->Value;
		h=TheValue.bstrVal;

		connection.m_pRecordset->MoveNext();
}

connection.Unitialize();
connection.Initialize();
 sql.Format("select * from 成绩 where 课程号='%s' order by 总评成绩",gap);
 connection.Connect(sql);
 connection.m_pRecordset->MoveFirst();
while(!connection.m_pRecordset->adoEOF)
{      _variant_t TheValue; 
	    TheValue = connection.m_pRecordset->Fields->GetItem("课程号")->Value;
		a=TheValue.bstrVal;
	
		TheValue = connection.m_pRecordset->Fields->GetItem("学号")->Value;
		b=TheValue.bstrVal;

	    TheValue = connection.m_pRecordset->Fields->GetItem("平时成绩")->Value;
		c=TheValue.bstrVal;

		TheValue = connection.m_pRecordset->Fields->GetItem("考试成绩")->Value;
		d=TheValue.bstrVal;

		TheValue = connection.m_pRecordset->Fields->GetItem("总评成绩")->Value;
		e=TheValue.bstrVal;


        int nIndex= list.InsertItem(0,a);
		list.SetItemText(nIndex,1,f);
        list.SetItemText(nIndex,2,b );
		list.SetItemText(nIndex,3,g );
		list.SetItemText(nIndex,4,h );
		list.SetItemText(nIndex,5,c);
		list.SetItemText(nIndex,6,d);
		list.SetItemText(nIndex,7,e);
        
		 connection.m_pRecordset->MoveNext();
	}    
connection.Unitialize();


}//按课程号





if(select==3)//按系号
{i=1;
CString course[1000];
int sum=1;
int m=1;
  sql.Format("select * from 系 where 系号='%s'",gap);
  connection.Connect(sql);
      if(connection.m_pRecordset->adoEOF)
	     {AfxMessageBox("没有该系资料");
          connection.Unitialize();	
		  return;}
  connection.Unitialize();

  connection.Initialize();
 sql.Format("select 学号 from 学生 where 所在系号='%s' ",gap);
 connection.Connect(sql);
  if(connection.m_pRecordset->adoEOF)
{AfxMessageBox("该系没有学生");
 connection.Unitialize();return;}
 connection.m_pRecordset->MoveFirst();
while(!connection.m_pRecordset->adoEOF)
{       _variant_t TheValue; 
	    TheValue = connection.m_pRecordset->Fields->GetItem("学号")->Value;
		n[i]=TheValue.bstrVal;
		i++; 
		connection.m_pRecordset->MoveNext();
		
}
connection.Unitialize();//找出同一个系的所有学号

 CString personcourse[20];
 int tag=0;
for(int j=1;j<i;j++)//对每个学号,找出所修课程成绩,再保存收有不同课程
{

  m=1;int flag=0;
 tag=0;
 connection.Initialize(); 
 sql.Format("select 课程号 from 选修 where 学号='%s'order by 课程号 desc",n[j]);
 connection.Connect(sql);

 if(connection.m_pRecordset->adoEOF)
{tag=1;connection.Unitialize();}

if(tag==0)
{connection.m_pRecordset->MoveFirst();
while(!connection.m_pRecordset->adoEOF)
{       _variant_t TheValue; 
	    TheValue = connection.m_pRecordset->Fields->GetItem("课程号")->Value;
		personcourse[m]=TheValue.bstrVal;
		for(int k=1;k<sum;k++)
        {if(course[k]==personcourse[m])
          flag=1;  }
         
		if(flag==0){course[sum]=personcourse[m];sum++;}
		 m++; 
		connection.m_pRecordset->MoveNext();	
}
connection.Unitialize();}


}

 for(int p=1;p<sum;p++)
 {
 connection.Initialize(); 
 sql.Format("select * from 课程 where 课程号='%s' ",course[p]);
 connection.Connect(sql);
 connection.m_pRecordset->MoveFirst();
while(!connection.m_pRecordset->adoEOF)
{      _variant_t TheValue; 
	    TheValue = connection.m_pRecordset->Fields->GetItem("课程名称")->Value;
		f=TheValue.bstrVal;
	
		float credit = connection.m_pRecordset->Fields->GetItem("学分")->Value;
		g.Format("%g",credit);

	    TheValue = connection.m_pRecordset->Fields->GetItem("学时")->Value;
		h=TheValue.bstrVal;

		connection.m_pRecordset->MoveNext();
}

 connection.Unitialize();


 for(j=1;j<i;j++){ 
  tag=0;
 connection.Initialize();
 sql.Format("select * from 成绩 where 课程号='%s' and 学号='%s' order by 总评成绩",course[p],n[j]);
 connection.Connect(sql);

if(connection.m_pRecordset->adoEOF)
{tag=1;connection.Unitialize();}
if(tag==0)
{connection.m_pRecordset->MoveFirst();
while(!connection.m_pRecordset->adoEOF)
{      _variant_t TheValue; 
	    TheValue = connection.m_pRecordset->Fields->GetItem("课程号")->Value;
		a=TheValue.bstrVal;
	
		TheValue = connection.m_pRecordset->Fields->GetItem("学号")->Value;
		b=TheValue.bstrVal;

	    TheValue = connection.m_pRecordset->Fields->GetItem("平时成绩")->Value;
		c=TheValue.bstrVal;

		TheValue = connection.m_pRecordset->Fields->GetItem("考试成绩")->Value;
		d=TheValue.bstrVal;

		TheValue = connection.m_pRecordset->Fields->GetItem("总评成绩")->Value;
		e=TheValue.bstrVal;


        int nIndex= list.InsertItem(0,a);
		list.SetItemText(nIndex,1,f);
        list.SetItemText(nIndex,2,n[j]);
		list.SetItemText(nIndex,3,g );
		list.SetItemText(nIndex,4,h );
		list.SetItemText(nIndex,5,c);
		list.SetItemText(nIndex,6,d);
		list.SetItemText(nIndex,7,e);
        
		 connection.m_pRecordset->MoveNext();
	}    connection.Unitialize();
}
 }
        int nIndex= list.InsertItem(0,"");
		list.SetItemText(nIndex,1,"");
        list.SetItemText(nIndex,2,"");
		list.SetItemText(nIndex,3,"" );

⌨️ 快捷键说明

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