📄 学生成绩管理系统view.cpp
字号:
break;
}
m_courseset.MoveNext();
}while (!m_courseset.IsEOF());
if(courseno)
{
m_listmodify.InsertItem(j,m_gradeset.m_column1,0);
m_listmodify.SetItemText(j,1,m_studentset.m_column2);
m_listmodify.SetItemText(j,2,coursename);
m_listmodify.SetItemText(j,6,courseyear);
grade.Format("%4.2f",double(m_gradeset.m_column3));
m_listmodify.SetItemText(j,3,grade);
m_listmodify.SetItemText(j,4,m_classset.m_column2);
m_listmodify.SetItemText(j,5,m_classset.m_column3);
j++;
}
}
m_gradeset.MoveNext();
}while(!m_gradeset.IsEOF());
}
m_studentset.MoveNext();
}while(!m_studentset.IsEOF());
m_classset.MoveNext();
}while(!m_classset.IsEOF());
m_studentset.Close();
m_classset.Close();
m_courseset.Close();
m_gradeset.Close();
int num;
num=m_listmodify.GetItemCount();
if(num==0)
MessageBox("没有记录");
}
}
void CMyView::OnButtonrefresh()
{
m_studentset.m_strFilter="";
m_classset.m_strFilter="";
m_courseset.m_strFilter="";
CString currentzhuanyie;
CString currentyear;
CString currentclass;
CString currentcourse;
CString strclass,strzhuanyie,stryear,strcourse,str;
if(m_comboyear.GetCurSel()>=0)
m_comboyear.GetLBText(m_comboyear.GetCurSel(),currentyear);
if(m_combozhuanyie.GetCurSel()>=0)
m_combozhuanyie.GetLBText(m_combozhuanyie.GetCurSel(),currentzhuanyie);
if(m_comboclass.GetCurSel()>=0)
m_comboclass.GetLBText(m_comboclass.GetCurSel(),currentclass);
if(m_combocourse.GetCurSel()>=0)
m_combocourse.GetLBText(m_combocourse.GetCurSel(),currentcourse);
strzhuanyie="专业名";
strclass="班级名";
stryear="学期";
strcourse="课程名";
if(currentzhuanyie=="" && currentclass=="")
{
m_classset.m_strFilter="";
}
else if(currentzhuanyie!="" && currentclass=="")
{
m_classset.m_strFilter=strzhuanyie+"='"+currentzhuanyie+"'";
}
else if(currentzhuanyie=="" && currentclass!="")
{
m_classset.m_strFilter=strclass + "='" + currentclass + "'";
}
else
{
m_classset.m_strFilter=strzhuanyie + "='" + currentzhuanyie + "'" + "AND " + strclass + "='" + currentclass + "'";
}
if(currentyear=="" && currentcourse=="")
{
m_courseset.m_strFilter="";
}
else if(currentyear!="" && currentcourse=="")
{
m_courseset.m_strFilter=stryear + "='" + currentyear + "'";
}
else if(currentyear=="" && currentcourse!="")
{
m_courseset.m_strFilter=strcourse + "='" + currentcourse + "'";
}
else
{
str=stryear + "='" + currentyear+"'" + "AND " + strcourse + "='" + currentcourse+"'";
m_courseset.m_strFilter=str;
}
/////////////
m_studentset.Open();
m_classset.Open();
m_courseset.Open();
m_gradeset.Open();
BOOL courseno;
m_listmodify.DeleteAllItems();
CString grade,coursename,courseyear;
int j=0;
m_classset.MoveFirst();
do
{
m_studentset.MoveFirst();
do
{
if(m_studentset.m_column3==m_classset.m_column1)
{
m_gradeset.MoveFirst();
do
{
courseno=FALSE;
if(m_gradeset.m_column1==m_studentset.m_column1)
{
m_courseset.MoveFirst();
do
{
if(m_gradeset.m_column2==m_courseset.m_column1)
{
courseno=TRUE;
coursename=m_courseset.m_column2;
courseyear=m_courseset.m_column4;
break;
}
m_courseset.MoveNext();
}while (!m_courseset.IsEOF());
if(courseno)
{
m_listmodify.InsertItem(j,m_gradeset.m_column1,0);
m_listmodify.SetItemText(j,1,m_studentset.m_column2);
m_listmodify.SetItemText(j,2,coursename);
m_listmodify.SetItemText(j,6,courseyear);
grade.Format("%4.2f",double(m_gradeset.m_column3));
m_listmodify.SetItemText(j,3,grade);
m_listmodify.SetItemText(j,4,m_classset.m_column2);
m_listmodify.SetItemText(j,5,m_classset.m_column3);
j++;
}
}
m_gradeset.MoveNext();
}while(!m_gradeset.IsEOF());
}
m_studentset.MoveNext();
}while(!m_studentset.IsEOF());
m_classset.MoveNext();
}while(!m_classset.IsEOF());
m_studentset.Close();
m_classset.Close();
m_courseset.Close();
m_gradeset.Close();
int num;
num=m_listmodify.GetItemCount();
if(num==0)
MessageBox("没有记录");
}
void CMyView::OnButtondelete()
{
if(m_listmodify.GetSelectionMark()>=0)
{
TCHAR studentno1[20],coursename1[20],courseyear1[20];
CString studentno,coursename,courseyear,courseno;
m_listmodify.GetItemText(m_listmodify.GetSelectionMark(),0,studentno1,20);
m_listmodify.GetItemText(m_listmodify.GetSelectionMark(),2,coursename1,20);
m_listmodify.GetItemText(m_listmodify.GetSelectionMark(),6,courseyear1,20);
studentno=studentno1;
coursename=coursename1;
courseyear=courseyear1;
m_courseset.Open();
m_courseset.MoveFirst();
do
{
if(m_courseset.m_column2==coursename && m_courseset.m_column4==courseyear)
{
courseno=m_courseset.m_column1;
break;
}
m_courseset.MoveNext();
}while(!m_courseset.IsEOF());
m_courseset.Close();
//
m_gradeset.Open();
m_gradeset.MoveFirst();
do
{
if(m_gradeset.m_column1==studentno && m_gradeset.m_column2==courseno)
{
m_gradeset.Delete();
break;
}
m_gradeset.MoveNext();
}while(!m_gradeset.IsEOF());
m_gradeset.Close();
m_listmodify.DeleteItem(m_listmodify.GetSelectionMark());
}
else
MessageBox("请选择一条记录");
}
void CMyView::OnButtonmodify()
{
if(m_listmodify.GetSelectionMark()>=0)
{
TCHAR studentno[20],coursename[20],coursegrade[20],studentname[20],courseyear[20];
m_listmodify.GetItemText(m_listmodify.GetSelectionMark(),0,studentno,20);
m_listmodify.GetItemText(m_listmodify.GetSelectionMark(),2,coursename,20);
m_listmodify.GetItemText(m_listmodify.GetSelectionMark(),3,coursegrade,20);
m_listmodify.GetItemText(m_listmodify.GetSelectionMark(),1,studentname,20);
m_listmodify.GetItemText(m_listmodify.GetSelectionMark(),6,courseyear,20);
gradeeditdlg.m_studentno=studentno;
gradeeditdlg.m_studentname=studentname;
gradeeditdlg.m_course=coursename;
gradeeditdlg.m_grade=coursegrade;
gradeeditdlg.m_year=courseyear;
if(gradeeditdlg.DoModal()==IDOK)
{
m_studentset.m_strFilter="";
m_classset.m_strFilter="";
m_courseset.m_strFilter="";
CString currentzhuanyie;
CString currentyear;
CString currentclass;
CString currentcourse;
CString strclass,strzhuanyie,stryear,strcourse,str;
if(m_comboyear.GetCurSel()>=0)
m_comboyear.GetLBText(m_comboyear.GetCurSel(),currentyear);
if(m_combozhuanyie.GetCurSel()>=0)
m_combozhuanyie.GetLBText(m_combozhuanyie.GetCurSel(),currentzhuanyie);
if(m_comboclass.GetCurSel()>=0)
m_comboclass.GetLBText(m_comboclass.GetCurSel(),currentclass);
if(m_combocourse.GetCurSel()>=0)
m_combocourse.GetLBText(m_combocourse.GetCurSel(),currentcourse);
strzhuanyie="专业名";
strclass="班级名";
stryear="学期";
strcourse="课程名";
if(currentzhuanyie=="" && currentclass=="")
{
m_classset.m_strFilter="";
}
else if(currentzhuanyie!="" && currentclass=="")
{
m_classset.m_strFilter=strzhuanyie+"='"+currentzhuanyie+"'";
}
else if(currentzhuanyie=="" && currentclass!="")
{
m_classset.m_strFilter=strclass + "='" + currentclass + "'";
}
else
{
m_classset.m_strFilter=strzhuanyie + "='" + currentzhuanyie + "'" + "AND " + strclass + "='" + currentclass + "'";
}
if(currentyear=="" && currentcourse=="")
{
m_courseset.m_strFilter="";
}
else if(currentyear!="" && currentcourse=="")
{
m_courseset.m_strFilter=stryear + "='" + currentyear + "'";
}
else if(currentyear=="" && currentcourse!="")
{
m_courseset.m_strFilter=strcourse + "='" + currentcourse + "'";
}
else
{
str=stryear + "='" + currentyear+"'" + "AND " + strcourse + "='" + currentcourse+"'";
m_courseset.m_strFilter=str;
}
/////////////
m_studentset.Open();
m_classset.Open();
m_courseset.Open();
m_gradeset.Open();
BOOL courseno;
m_listmodify.DeleteAllItems();
CString grade,coursename,courseyear;
int j=0;
m_classset.MoveFirst();
do
{
m_studentset.MoveFirst();
do
{
if(m_studentset.m_column3==m_classset.m_column1)
{
m_gradeset.MoveFirst();
do
{
courseno=FALSE;
if(m_gradeset.m_column1==m_studentset.m_column1)
{
m_courseset.MoveFirst();
do
{
if(m_gradeset.m_column2==m_courseset.m_column1)
{
courseno=TRUE;
coursename=m_courseset.m_column2;
courseyear=m_courseset.m_column4;
break;
}
m_courseset.MoveNext();
}while (!m_courseset.IsEOF());
if(courseno)
{
m_listmodify.InsertItem(j,m_gradeset.m_column1,0);
m_listmodify.SetItemText(j,1,m_studentset.m_column2);
m_listmodify.SetItemText(j,2,coursename);
m_listmodify.SetItemText(j,6,courseyear);
grade.Format("%4.2f",double(m_gradeset.m_column3));
m_listmodify.SetItemText(j,3,grade);
m_listmodify.SetItemText(j,4,m_classset.m_column2);
m_listmodify.SetItemText(j,5,m_classset.m_column3);
j++;
}
}
m_gradeset.MoveNext();
}while(!m_gradeset.IsEOF());
}
m_studentset.MoveNext();
}while(!m_studentset.IsEOF());
m_classset.MoveNext();
}while(!m_classset.IsEOF());
m_studentset.Close();
m_classset.Close();
m_courseset.Close();
m_gradeset.Close();
int num;
num=m_listmodify.GetItemCount();
if(num==0)
MessageBox("没有记录");
}
}
else
MessageBox("请选择一条记录");
}
BOOL CMyView::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
return CFormView::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
}
void CMyView::OutputReport(CDC *pDC, CPrintInfo *pInfo)
{
CString line;
TEXTMETRIC metrics;
int y=100;
CFont TitleFont,HeadingFont,DetailFont,FooterFont;
int TabStops[]={700,1000,1300};
int FooterTabStops[]={200,500};
TitleFont.CreateFont(72,0,0,0,FW_BOLD,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH | FF_ROMAN,"Times New Romans");
HeadingFont.CreateFont(54,0,0,0,FW_BOLD,FALSE,TRUE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH | FF_ROMAN,"Times New Romans");
DetailFont.CreateFont(48,0,0,0,FW_NORMAL,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH | FF_ROMAN,"Times New Romans");
FooterFont.CreateFont(36,0,0,0,FW_NORMAL,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH | FF_ROMAN,"Times New Romans");
CFont* OldFont=pDC->SelectObject(&TitleFont);
pDC->GetTextMetrics(&metrics);
int lineheight=metrics.tmHeight+metrics.tmExternalLeading;
//设置行高
y+=lineheight;
CString currentzhuanyie;
CString currentyear;
CString currentclass;
CString currentcourse,str;
if(m_comboyear.GetCurSel()>=0)
m_comboyear.GetLBText(m_comboyear.GetCurSel(),currentyear);
if(m_combozhuanyie.GetCurSel()>=0)
m_combozhuanyie.GetLBText(m_combozhuanyie.GetCurSel(),currentzhuanyie);
if(m_comboclass.GetCurSel()>=0)
m_comboclass.GetLBText(m_comboclass.GetCurSel(),currentclass);
if(m_combocourse.GetCurSel()>=0)
m_combocourse.GetLBText(m_combocourse.GetCurSel(),currentcourse);
if(currentyear!="")
currentyear+="学期";
if(currentzhuanyie!="")
currentzhuanyie+="专业";
if(currentclass!="")
currentclass+="班";
str=currentyear+currentzhuanyie+currentclass+currentcourse+"成绩表";
if(str=="")
str="成绩表";
pDC->TextOut(800-str.GetLength()*7,100,str);
//设置字体
pDC->SelectObject(&HeadingFont);
pDC->GetTextMetrics(&metrics);
//设置格式
line.Format("%s\t%s\t%s\t%s","学号","姓名","课程","成绩");
//输出
pDC->TabbedTextOut(300,y,line,3,TabStops,0);
int num=m_listmodify.GetItemCount();
if(num==0)
return;
lineheight=metrics.tmHeight+metrics.tmExternalLeading;
y+=lineheight;
pDC->SelectObject(&DetailFont);
pDC->GetTextMetrics(&metrics);
//计算行高
lineheight=metrics.tmHeight+metrics.tmExternalLeading;
TCHAR currentstudentno[20],currentstudentname[10],currentcoursename[20],currentcoursegrade[10];
for(int i=0;i<m_listmodify.GetItemCount();i++)
{
if(pInfo && abs(y)>2200)
{
pInfo->SetMaxPage(pInfo->m_nCurPage+1);
break;
}
m_listmodify.GetItemText(i,0,currentstudentno,20);
m_listmodify.GetItemText(i,1,currentstudentname,10);
m_listmodify.GetItemText(i,2,currentcoursename,20);
m_listmodify.GetItemText(i,3,currentcoursegrade,10);
line.Format("%s\t%s\t%s\t%s",currentstudentno,currentstudentname,currentcoursename, currentcoursegrade);
pDC->TabbedTextOut(300,y,line,3,TabStops,0);
y+=lineheight;
}
if(pInfo)
{
pDC->SelectObject(&FooterFont);
line.Format(str+"第%d页",pInfo->m_nCurPage);
pDC->TabbedTextOut(50,2300,line,2,FooterTabStops,0);
}
pDC->SelectObject(OldFont);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -