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

📄 tv.cpp

📁 体育信息管理系统
💻 CPP
📖 第 1 页 / 共 3 页
字号:
// TV.cpp : implementation file
//

#include "stdafx.h"
#include "ooo.h"
#include "TV.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTV

IMPLEMENT_DYNCREATE(CTV, CListView)

CTV::CTV()
{high1=80;high2=30;row=22;jige=0;jige1=0;
}

CTV::~CTV()
{COooApp*pp=(COooApp*)::AfxGetApp();
pp->c=0;

}


BEGIN_MESSAGE_MAP(CTV, CListView)
	ON_COMMAND(ID_FILE_BBB, CListView::OnFilePrint)
	ON_COMMAND(ID_FILE_AAA, CListView::OnFilePrintPreview)

	//{{AFX_MSG_MAP(CTV)
	ON_COMMAND(ID_FILE_aa, OnFILEaa)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTV drawing

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

/////////////////////////////////////////////////////////////////////////////
// CTV diagnostics

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

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

/////////////////////////////////////////////////////////////////////////////
// CTV message handlers

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

}

void CTV::OnInitialUpdate() 
{
	CListView::OnInitialUpdate();
CListCtrl&m_list=GetListCtrl();
COooApp*pp=(COooApp*)::AfxGetApp();
pp->c=1;
if(pp->gread==3||pp->gread==4||pp->gread==5){
	m_list.InsertColumn(0,"姓名",LVCFMT_LEFT,100);
	m_list.InsertColumn(1,"出勤表现(10%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(2,"理论(20%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(3,"跳绳(8%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(4,"跳远(8%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(5,"50米(8%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(6,"垒球(8%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(7,"仰卧起坐(8%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(8,"单杠(10%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(9,"山羊(10%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(10,"技巧(10%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(11,"体育课成绩",LVCFMT_LEFT,100);}
else
{	m_list.InsertColumn(0,"姓名",LVCFMT_LEFT,100);
	m_list.InsertColumn(1,"出勤表现(10%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(2,"跳绳(10%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(3,"跳远(10%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(4,"30米(10%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(5,"垒球(10%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(6,"技巧一(16.7%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(7,"技巧二(16.7%)",LVCFMT_LEFT,100);
	m_list.InsertColumn(10,"广播体操(16.6%)",LVCFMT_LEFT,110);
	m_list.InsertColumn(11,"体育课成绩",LVCFMT_LEFT,110);

}
	m_list.SetBkColor(RGB(222,100,125));
	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 CTV::list()
{COooDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	CListCtrl&m_list=GetListCtrl();
CA *prs;

COooApp*pp=(COooApp*)::AfxGetApp();
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;}
//绝妙代码,天助我也
CB*m_cb;
m_cb=new CB(pDoc->m_pDB);	
m_cb->Open(dbOpenDynaset,m_cb->GetDefaultSQL(),0);

if(!(m_cb->IsBOF()&&m_cb->IsEOF())){
m_cb->MoveFirst();
while(!m_cb->IsEOF()){
	str=m_cb->m_column1;
	//AfxMessageBox(str);
	prs->MoveFirst();
	while(!prs->IsEOF()){
		if(prs->m_name==str)	{
			if(m_cb->m_column2==1||m_cb->m_column2==2){prs->Edit();prs->m_inhouse1=prs->m_inhouse1-0.5;	prs->Update();}
			if(m_cb->m_column2==3){prs->Edit();prs->m_inhouse1=prs->m_inhouse1-1;prs->Update();}
								}
		prs->MoveNext();}
	m_cb->MoveNext();}
									}
delete m_cb;
if(pp->gread==3||pp->gread==4||pp->gread==5){
	if(prs->GetRecordCount()){
prs->MoveFirst();
while(!prs->IsEOF()){
	m_list.InsertItem(i,prs->m_name);
	str.Format("%5.2f",prs->m_inhouse1);
	m_list.SetItemText(i,1,str);
	str.Format("%5.2f",prs->m_text*0.2);
	m_list.SetItemText(i,2,str);
	str.Format("%5.2f",prs->m_j2*0.08);
	m_list.SetItemText(i,3,str);
	str.Format("%5.2f",prs->m_jump2*0.08);
	m_list.SetItemText(i,4,str);
	str.Format("%5.2f",prs->m_run2*0.08);
	m_list.SetItemText(i,5,str);
	str.Format("%5.2f",prs->m_ball2*0.08);
	m_list.SetItemText(i,6,str);
	str.Format("%5.2f",prs->m_down2*0.08);
	m_list.SetItemText(i,7,str);
	str.Format("%5.2f",prs->m_gang*0.1);
	m_list.SetItemText(i,8,str);
	str.Format("%5.2f",prs->m_yang*0.1);
	m_list.SetItemText(i,9,str);
	str.Format("%5.2f",prs->m_jiqiao*0.1);
	m_list.SetItemText(i,10,str);
	str.Format("%5.2f",prs->m_text*0.2+prs->m_j2*0.08+prs->m_jump2*0.08+prs->m_run2*0.08+prs->m_ball2*0.08+prs->m_down2*0.08+prs->m_jiqiao*0.1+prs->m_yang*0.1+prs->m_gang*0.1+prs->m_inhouse1);
	m_list.SetItemText(i,11,str);
if((prs->m_text*0.2+prs->m_j2*0.08+prs->m_jump2*0.08+prs->m_run2*0.08+prs->m_ball2*0.08+prs->m_down2*0.08+prs->m_jiqiao*0.1+prs->m_yang*0.1+prs->m_gang*0.1+prs->m_inhouse1)>=60)
{jige++;}
	i++;
prs->MoveNext();}
page=i;jige1=(float)jige/page;
delete prs;
}
}
else//1、添加一、二年级内容
{	if(prs->GetRecordCount()){
prs->MoveFirst();
while(!prs->IsEOF()){
	m_list.InsertItem(i,prs->m_name);
	str.Format("%5.2f",prs->m_inhouse1);
	m_list.SetItemText(i,1,str);
	str.Format("%5.2f",prs->m_j2*0.1);
	m_list.SetItemText(i,2,str);
	str.Format("%5.2f",prs->m_jump2*0.1);
	m_list.SetItemText(i,3,str);
	str.Format("%5.2f",prs->m_run2*0.1);
	m_list.SetItemText(i,4,str);
	str.Format("%5.2f",prs->m_ball2*0.1);
	m_list.SetItemText(i,5,str);
	str.Format("%5.2f",prs->m_gang*0.167);
	m_list.SetItemText(i,6,str);
	str.Format("%5.2f",prs->m_yang*0.167);
	m_list.SetItemText(i,7,str);
	str.Format("%5.2f",prs->m_jiqiao*0.166);
	m_list.SetItemText(i,8,str);
	str.Format("%5.2f",prs->m_j2*0.1+prs->m_jump2*0.1+prs->m_run2*0.1+prs->m_ball2*0.1+prs->m_jiqiao*0.166+prs->m_yang*0.167+prs->m_gang*0.167+prs->m_inhouse1);
	m_list.SetItemText(i,9,str);

if((prs->m_j2*0.1+prs->m_jump2*0.1+prs->m_run2*0.1+prs->m_ball2*0.1+prs->m_jiqiao*0.166+prs->m_yang*0.167+prs->m_gang*0.167+prs->m_inhouse1)>=60)
{jige++;}
	i++;
prs->MoveNext();}
page=i;jige1=(float)jige/page;
delete prs;
}}
CA *prs1;
prs1=new CA(pDoc->m_pDB);
prs1->Open(dbOpenDynaset,prs1->GetDefaultSQL(),0);
if(prs1->GetRecordCount()){prs1->MoveFirst();
while(!prs1->IsEOF()){
	if(prs1->m_inhouse1!=10){prs1->Edit();prs1->m_inhouse1=10;prs1->Update();}
	prs1->MoveNext();}}
delete prs1;

}

void CTV::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);
}

void CTV::OnPrint(CDC* pDC, CPrintInfo* pInfo) 
{
COooDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
COooApp*pp=(COooApp*)::AfxGetApp();
CFont font240,font180,font100,*po;
	font240.CreatePointFont(240,"楷体_GB2312",pDC);
	po=pDC->SelectObject(&font240);
	pDC->TextOut((100+12*high1)/3,20,"体育课成绩表");
	font180.CreatePointFont(100,"楷体_GB2312",pDC);
	po=pDC->SelectObject(&font180);
	pDC->TextOut(50,60,pp->class1);
	pDC->TextOut((100+12*high1)/2-100,60,pp->date);
	pDC->TextOut((100+12*high1)-100,60,pp->teacher);
	font100.CreatePointFont(120,"楷体_GB2312",pDC);
	po=pDC->SelectObject(&font100);	
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);
//绝妙代码,天助我也
CB*m_cb;
m_cb=new CB(pDoc->m_pDB);	
m_cb->Open(dbOpenDynaset,m_cb->GetDefaultSQL(),0);

	if(!(m_cb->IsBOF()&&m_cb->IsEOF())){
m_cb->MoveFirst();
CString str="";
while(!m_cb->IsEOF()){
	str=m_cb->m_column1;
	prs->MoveFirst();
	while(!prs->IsEOF()){
		if(prs->m_name==str)	{
			if(m_cb->m_column2==1||m_cb->m_column2==2){prs->Edit();prs->m_inhouse1=prs->m_inhouse1-0.5;	prs->Update();}
			if(m_cb->m_column2==3){prs->Edit();prs->m_inhouse1=prs->m_inhouse1-1;prs->Update();}
		}
		prs->MoveNext();}
	m_cb->MoveNext();}
}
m_cb->Close();
delete m_cb;

if(pp->gread==3||pp->gread==4||pp->gread==5){

for(int i=0;i<row+1;i++){
	pDC->MoveTo(50,80+high2*i);
	pDC->LineTo(50+12*high1,80+high2*i);	
	}
	for(i=0;i<13;i++){
	pDC->MoveTo(50+high1*i,80);

⌨️ 快捷键说明

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