📄 gradeshow.cpp
字号:
// 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 + -