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

📄 tv1.cpp

📁 体育信息管理系统
💻 CPP
字号:
// TV1.cpp : implementation file
//

#include "stdafx.h"
#include "ooo.h"
#include "TV1.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTV1

IMPLEMENT_DYNCREATE(CTV1, CListView)

CTV1::CTV1()
{high1=80;high2=30;row=30;
a=b=c=d=0;aa=0;
}

CTV1::~CTV1()
{COooApp*pp=(COooApp*)::AfxGetApp();
pp->d=0;

}


BEGIN_MESSAGE_MAP(CTV1, CListView)
	//{{AFX_MSG_MAP(CTV1)
	ON_COMMAND(ID_FILE_bb, OnFILEbb)
	ON_COMMAND(ID_FILE_BBB, CListView::OnFilePrint)
	ON_COMMAND(ID_FILE_AAA, CListView::OnFilePrintPreview)

	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTV1 drawing

void CTV1::OnDraw(CDC* pDC)
{
	CDocument* pDoc = GetDocument();
	// TODO: add draw code here
}

/////////////////////////////////////////////////////////////////////////////
// CTV1 diagnostics

#ifdef _DEBUG
void CTV1::AssertValid() const
{
	CListView::AssertValid();
}

void CTV1::Dump(CDumpContext& dc) const
{
	CListView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CTV1 message handlers

COooDoc* CTV1::GetDocument()
{ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(COooDoc)));
	return (COooDoc*)m_pDocument;


}

void CTV1::OnInitialUpdate() 
{
	CListView::OnInitialUpdate();
CListCtrl&m_list=GetListCtrl();
COooApp*pp=(COooApp*)::AfxGetApp();
pp->d=1;
if(pp->gread==3||pp->gread==4||pp->gread==5){	
	m_list.InsertColumn(0,"姓名",LVCFMT_LEFT,100);
	m_list.InsertColumn(1,"跳绳",LVCFMT_LEFT,100);
	m_list.InsertColumn(2,"跳远",LVCFMT_LEFT,100);
	m_list.InsertColumn(3,"50米",LVCFMT_LEFT,100);
	m_list.InsertColumn(4,"垒球",LVCFMT_LEFT,100);
	m_list.InsertColumn(5,"仰卧起坐",LVCFMT_LEFT,100);
	m_list.InsertColumn(11,"总分",LVCFMT_LEFT,100);
	m_list.InsertColumn(12,"合格情况",LVCFMT_LEFT,100);
	m_list.SetBkColor(RGB(250,200,25));

	m_list.SetTextBkColor(RGB(0,200,0));
	m_list.ModifyStyle(LVS_TYPEMASK,LVS_REPORT);
	m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);			}
	list();

}

void CTV1::OnFILEbb() 
{
CH m_ch;m_ch.m_high1=80;m_ch.m_row=30;
COooApp*pp=(COooApp*)::AfxGetApp();
if(m_ch.DoModal()==IDOK){
	high1=m_ch.m_high1;
	high2=m_ch.m_high2;
	row=m_ch.m_row;Invalidate();
pp->class1=m_ch.m_class;
pp->date=m_ch.m_date;
pp->teacher=m_ch.m_teacher;	}
}

void CTV1::list()
{COooDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	CListCtrl&m_list=GetListCtrl();
CA *prs;
prs=new CA(pDoc->m_pDB);
prs->Open(dbOpenDynaset,prs->GetDefaultSQL(),0);
m_list.DeleteAllItems();
CString str;
int i=0;
if(prs->IsBOF()&&prs->IsEOF()){MessageBox("主表无内容"); return;}
prs->MoveFirst();
while(!prs->IsEOF()){
	m_list.InsertItem(i,prs->m_name);
	str.Format("%5.2f",prs->m_j2);
	m_list.SetItemText(i,1,str);
	str.Format("%5.2f",prs->m_jump2);
	m_list.SetItemText(i,2,str);
	str.Format("%5.2f",prs->m_run2);
	m_list.SetItemText(i,3,str);
	str.Format("%5.2f",prs->m_ball2);
	m_list.SetItemText(i,4,str);
	str.Format("%5.2f",prs->m_down2);
	m_list.SetItemText(i,5,str);
	str.Format("%5.2f",(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2));
	m_list.SetItemText(i,6,str);
	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)<250)
	{	str.Format("不及格");d++;
	m_list.SetItemText(i,7,str);}
	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=250&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2<=345))
	{str.Format("及格");c++;
	m_list.SetItemText(i,7,str);}
	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=350&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2<=415))
	{str.Format("良好");b++;
	m_list.SetItemText(i,7,str);}
	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=420&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2<=500))
	{	str.Format("优秀");a++;
	m_list.SetItemText(i,7,str);}

i++;
prs->MoveNext();}
page=i;aa=((float)(page-d)/(float)page);
delete prs;



}

void CTV1::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo) 
{
pDC->SetMapMode(MM_ANISOTROPIC);
	CSize size=CSize(800,600);
	pDC->SetWindowExt(size);
	int a=pDC->GetDeviceCaps(LOGPIXELSX);
	int b=pDC->GetDeviceCaps(LOGPIXELSY);
	long xx=(long)size.cx*a/96;
	long yy=(long)size.cy*b/96;
	pDC->SetViewportExt((int)xx,(int)yy);
		
	CListView::OnPrepareDC(pDC, pInfo);
}

BOOL CTV1::OnPreparePrinting(CPrintInfo* pInfo) 
{
	return DoPreparePrinting(pInfo);
}

void CTV1::OnPrint(CDC* pDC, CPrintInfo* pInfo) 
{
COooDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
COooApp*pp=(COooApp*)::AfxGetApp();
CFont font240,font100,font180,*po;
	font240.CreatePointFont(240,"楷体_GB2312",pDC);
	po=pDC->SelectObject(&font240);
	pDC->TextOut((100+8*high1)/3,20,"达标测验表");
	font180.CreatePointFont(100,"楷体_GB2312",pDC);
	po=pDC->SelectObject(&font180);
	pDC->TextOut(50,60,pp->class1);
	pDC->TextOut((100+8*high1)/2-100,60,pp->date);
	pDC->TextOut((100+8*high1)-100,60,pp->teacher);
	font100.CreatePointFont(120,"楷体_GB2312",pDC);
	po=pDC->SelectObject(&font100);	

for(int i=0;i<row+1;i++){
	pDC->MoveTo(50,80+high2*i);
	pDC->LineTo(50+8*high1,80+high2*i);	
	}
	for(i=0;i<9;i++){
	pDC->MoveTo(50+high1*i,80);
	pDC->LineTo(50+high1*i,80+high2*row);	
	}
CRect rect(50,80,50+high1,80+high2);
	pDC->DrawText("姓名",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
	rect.SetRect(50+high1*1,80,50+high1*2,80+high2);
	pDC->DrawText("跳绳",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
	rect.SetRect(50+high1*2,80,50+high1*3,80+high2);
	pDC->DrawText("跳远",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
	rect.SetRect(50+high1*3,80,50+high1*4,80+high2);
	pDC->DrawText("50米",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
	rect.SetRect(50+high1*4,80,50+high1*5,80+high2);
	pDC->DrawText("垒球",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
	rect.SetRect(50+high1*5,80,50+high1*6,80+high2);
	pDC->DrawText("仰卧起坐",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
	rect.SetRect(50+high1*6,80,50+high1*7,80+high2);
	pDC->DrawText("总分",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);	
	rect.SetRect(50+high1*7,80,50+high1*8,80+high2);
	pDC->DrawText("合格情况",-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
	int page1=0;
	if((page/(row-1))<1){page1=1;}
else{if(page%(row-1)==0){page1=page/(row-1);}
else page1=page/(row-1)+1;}
pInfo->SetMaxPage(page1);
CA *prs;
prs=new CA(pDoc->m_pDB);
prs->Open(dbOpenDynaset,prs->GetDefaultSQL(),0);
if(pInfo->m_nCurPage==1)
{if(prs->GetRecordCount()){
prs->MoveFirst(); 
for(i=0;i<row-1;i++){
rect.SetRect(50,80+high2*(i+1),50+high1,80+high2*(i+2));
pDC->DrawText(prs->m_name,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
CString str="";
str.Format("%5.2f",prs->m_j2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*1,80+high2*(i+1),50+high1*2,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_jump2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*2,80+high2*(i+1),50+high1*3,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_run2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*3,80+high2*(i+1),50+high1*4,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_ball2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*4,80+high2*(i+1),50+high1*5,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_down2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*5,80+high2*(i+1),50+high1*6,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_down2+prs->m_run2+prs->m_j2+prs->m_jump2+prs->m_ball2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*6,80+high2*(i+1),50+high1*7,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}

	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)<250&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=0)
	{	str.Format("不及格");}
	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=250&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2<=345))
	{str.Format("及格");}
	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=350&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2<=415))
	{str.Format("良好");}
	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=420&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2<=500))
	{str.Format("优秀");}
if(str.GetLength()<=6){
rect.SetRect(50+high1*7,80+high2*(i+1),50+high1*8,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}

if(prs->IsEOF()){CString jj;
jj.Format("优秀人数为%d人,良好人数为%d人,及格人数为%d人,不及格人数为%d人,达标率为%5.2f",a,b,c,d,aa);
pDC->TextOut(50,90+high2*row,jj);
	return;}
else prs->MoveNext();}}}

if(pInfo->m_nCurPage==2)
{
prs->Move(row-1); 
for(i=0;i<row-1;i++){
rect.SetRect(50,80+high2*(i+1),50+high1,80+high2*(i+2));
pDC->DrawText(prs->m_name,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
CString str="";
str.Format("%5.2f",prs->m_j2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*1,80+high2*(i+1),50+high1*2,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_jump2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*2,80+high2*(i+1),50+high1*3,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_run2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*3,80+high2*(i+1),50+high1*4,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_ball2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*4,80+high2*(i+1),50+high1*5,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_down2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*5,80+high2*(i+1),50+high1*6,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_down2+prs->m_run2+prs->m_j2+prs->m_jump2+prs->m_ball2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*6,80+high2*(i+1),50+high1*7,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}

	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)<250&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=0)
	str.Format("不及格");
	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=250&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2<=345))
	str.Format("及格");
	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=350&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2<=415))
	str.Format("良好");
	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=420&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2<=500))
	str.Format("优秀");
if(str.GetLength()<=6){
rect.SetRect(50+high1*7,80+high2*(i+1),50+high1*8,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}

if(prs->IsEOF()){CString jj;
jj.Format("优秀人数为%d人,良好人数为%d人,及格人数为%d人,不及格人数为%d人,及格率为%5.2f",a,b,c,d,aa);
pDC->TextOut(50,90+high2*row,jj);
	return;}
else prs->MoveNext();}}
if(pInfo->m_nCurPage==3)
{
prs->Move(2*row-2); 
for(i=0;i<row-1;i++){
rect.SetRect(50,80+high2*(i+1),50+high1,80+high2*(i+2));
pDC->DrawText(prs->m_name,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);
CString str="";
str.Format("%5.2f",prs->m_j2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*1,80+high2*(i+1),50+high1*2,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_jump2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*2,80+high2*(i+1),50+high1*3,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_run2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*3,80+high2*(i+1),50+high1*4,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_ball2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*4,80+high2*(i+1),50+high1*5,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_down2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*5,80+high2*(i+1),50+high1*6,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}
str.Format("%5.2f",prs->m_down2+prs->m_run2+prs->m_j2+prs->m_jump2+prs->m_ball2);
if(str.GetLength()<=6){
rect.SetRect(50+high1*6,80+high2*(i+1),50+high1*7,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}

	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)<250&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=0)
	str.Format("不及格");
	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=250&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2<=345))
	str.Format("及格");
	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=350&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2<=415))
	str.Format("良好");
	if((prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2)>=420&&(prs->m_j2+prs->m_jump2+prs->m_run2+prs->m_ball2+prs->m_down2<=500))
	str.Format("优秀");
if(str.GetLength()<=6){
rect.SetRect(50+high1*7,80+high2*(i+1),50+high1*8,80+high2*(i+2));
pDC->DrawText(str,-1,&rect,DT_VCENTER|DT_CENTER|DT_SINGLELINE);}

if(prs->IsEOF()){CString jj;
jj.Format("优秀人数为%d人,良好人数为%d人,及格人数为%d人,不及格人数为%d人,及格率为%5.2f",a,b,c,d,aa);
pDC->TextOut(50,90+high2*row,jj);
	return;}
else prs->MoveNext();}}	
	CListView::OnPrint(pDC, pInfo);
}

⌨️ 快捷键说明

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