亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? reportdlg.cpp

?? 華東理工大學李英所著《Visual C++編程與項目開發》的源代碼。 本書簡明扼要
?? CPP
字號:
// ReportDlg.cpp : implementation file
//

#include "stdafx.h"
#include "ExMIS.h"
#include "ReportDlg.h"
#include "Math.h"

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

/////////////////////////////////////////////////////////////////////////////
// CReportDlg dialog


CReportDlg::CReportDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CReportDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CReportDlg)
	m_strName = _T("");
	m_fLow = 0.0f;
	m_fHigh = 0.0f;
	m_fDelta = 0.0f;
	m_fCredit = 0.0f;
	m_strCollege = _T("");
	m_fAvg = 0.0f;
	m_n90 = 0;
	m_n80 = 0;
	m_n70 = 0;
	m_n60 = 0;
	m_n50 = 0;
	m_n100 = 0;
	m_nCount = 0;
	//}}AFX_DATA_INIT
	
	//為樹指定圖標
	m_TreeBootImage.Create(IDB_BITMAP_TREE,20,1,ILC_COLOR32);
}

void CReportDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CReportDlg)
	DDX_Control(pDX, IDC_TREE, m_ctrlTree);
	DDX_Text(pDX, IDC_EDIT_NAME, m_strName);
	DDX_Text(pDX, IDC_EDIT_LOW, m_fLow);
	DDX_Text(pDX, IDC_EDIT_HIGH, m_fHigh);
	DDX_Text(pDX, IDC_EDIT_DELTA, m_fDelta);
	DDX_Text(pDX, IDC_EDIT_CREDIT, m_fCredit);
	DDX_Text(pDX, IDC_EDIT_COLLEGE, m_strCollege);
	DDX_Text(pDX, IDC_EDIT_AVG, m_fAvg);
	DDX_Text(pDX, IDC_EDIT_90, m_n90);
	DDX_Text(pDX, IDC_EDIT_80, m_n80);
	DDX_Text(pDX, IDC_EDIT_70, m_n70);
	DDX_Text(pDX, IDC_EDIT_60, m_n60);
	DDX_Text(pDX, IDC_EDIT_50, m_n50);
	DDX_Text(pDX, IDC_EDIT_100, m_n100);
	DDX_Text(pDX, IDC_EDIT_COUNT, m_nCount);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CReportDlg, CDialog)
	//{{AFX_MSG_MAP(CReportDlg)
	ON_NOTIFY(TVN_SELCHANGED, IDC_TREE, OnSelchangedTree)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CReportDlg message handlers

BOOL CReportDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	//初始化樹形控件,設置圖標
	m_ctrlTree.SetImageList(&m_TreeBootImage,TVSIL_NORMAL);

	//打開數據集
	m_pRS.ADOOpen();
	//添加院系、課程到樹控件中
	m_pRS.ADOExcute("SELECT * FROM CourseTab");	
	//增加樹結點
	AddTreeNodes();
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CReportDlg::AddTreeNodes()
{
	//刪除所有結點控件中的項目
	m_ctrlTree.DeleteAllItems();
	//添加根結點即學生表的信息
	hRootItem=m_ctrlTree.InsertItem("學生成績基本信息",0,2,TVI_ROOT,TVI_LAST);
	m_pRS.MoveFirst();		//指向第一條
	while(!m_pRS.ADOEOF())
	{
		//添加院系到根節點中
		HTREEITEM hCollege=AddDistinctNode(hRootItem,m_pRS.GetFieldString("CollegeID"));
		//添加課程名稱到院系節點中,因為可能有重復的課程名,所有將課程編號也加到結點值中
		CString nodeCourse=m_pRS.GetFieldString("CourseID")+":"+m_pRS.GetFieldString("CourseName");
		HTREEITEM hClass=AddDistinctNode(hCollege,nodeCourse);
		m_pRS.MoveNext();
	}
}

HTREEITEM CReportDlg::AddDistinctNode(HTREEITEM hParent,CString strValue)
{
	HTREEITEM hItem=m_ctrlTree.GetChildItem(hParent);
	while(hItem)
	{
		CString strItemText = m_ctrlTree.GetItemText(hItem);
		if(strItemText == strValue)
		return hItem;	//已經存在該值的子結點,則返回
		hItem = m_ctrlTree.GetNextSiblingItem(hItem);
	}
	//遍歷了所有子結點,沒有找到該值,則添加并返回
	return m_ctrlTree.InsertItem(strValue,1,2,hParent,TVI_LAST);
}

void CReportDlg::OnSelchangedTree(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	*pResult = 0;

	//取得當前選中的節點
	HTREEITEM hSelItem=m_ctrlTree.GetSelectedItem();
	//取得先中節點的根節點
	HTREEITEM hParentItem=m_ctrlTree.GetParentItem(hSelItem);

	//判斷選中的的是根節點,還是學院二級子節點。并取回根節點
	CString str,strSql,strCondition;	//SQL語句	

	//只有當選中課程結點時才開始計算
	if(hParentItem!=NULL)
	{
		HTREEITEM hOldParent=m_ctrlTree.GetParentItem(hParentItem);
		if(hOldParent!=NULL)
		{
			//選中的是課程結點,添加課程條件即可
			//提取課程編號
			CString s=m_ctrlTree.GetItemText(hSelItem);
			int   nPos;
			nPos=s.Find(_T(":"),0);
			if(nPos>0)
			{
				str=s.Mid(0,nPos);
				//查詢課程信息
				strSql.Format("SELECT * FROM CourseTab WHERE CourseID='%s'",str);
				m_pRS.ADOExcute(strSql);
				m_strName=m_pRS.GetFieldString("CourseName");
				m_fCredit=m_pRS.GetFieldFloat("CourseCredit");
				m_strCollege=m_pRS.GetFieldString("CollegeID");

				//開始統計
				Calculate(str);

				//更計數據
				UpdateData(false);
			}
		}
	}
}

//計算
void CReportDlg::Calculate(CString courseID)
{
	//先清空所有	
	m_fLow = 0.0f;
	m_fHigh = 0.0f;
	m_fDelta = 0.0f;
	m_fCredit = 0.0f;	
	m_fAvg = 0.0f;
	m_n90 = 0;
	m_n80 = 0;
	m_n70 = 0;
	m_n60 = 0;
	m_n50 = 0;
	m_n100 = 0;
	m_nCount = 0;
	
	CString sql;
	//先提出某門課程的平均分
	sql.Format("SELECT Avg(Score) FROM ScoreTab WHERE ClassID IN ( SELECT ClassID FROM ClassTab WHERE CourseID='%s')",courseID);
	m_pRS.ADOExcute(sql);
	//因為ACCESS中提取的平均數是字符類型
	m_fAvg=atof(m_pRS.GetFieldString(0));

	m_fHigh=m_fAvg;
	m_fLow=m_fAvg;

	//再算出標準差
	float sum,score;
	sum=0;
	sql.Format("SELECT score FROM ScoreTab WHERE ClassID IN ( SELECT ClassID FROM ClassTab WHERE CourseID='%s')",courseID);
	m_pRS.ADOExcute(sql);
	m_nCount=m_pRS.nFieldRows;
	while(!m_pRS.ADOEOF())
	{
		score=m_pRS.GetFieldFloat(0);
		if(score>m_fHigh)	m_fHigh=score;
		if(score<m_fLow)	m_fLow=score;
		sum+=(score-m_fAvg)*(score-m_fAvg);

		if(score<50)
			m_n50++;
		else if(score<60)
			m_n60++;
		else if(score<70)
			m_n70++;
		else if(score<80)
			m_n80++;
		else if(score<90)
			m_n90++;
		else if(score<=100)
			m_n100++;

		m_pRS.MoveNext();
	}	
	if(m_pRS.nFieldRows>1){
		//標準差公式
		m_fDelta=sqrt(sum/(m_pRS.nFieldRows-1));
	}else{
		m_fDelta=0;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线播放日韩导航| 亚洲国产精品久久久久秋霞影院| 亚洲精选视频免费看| 男男gaygay亚洲| 在线视频综合导航| 国产精品女同互慰在线看| 美国毛片一区二区| 欧美剧情电影在线观看完整版免费励志电影| www久久久久| 免费欧美高清视频| 欧美在线观看视频一区二区三区| 国产欧美一区二区三区沐欲| 日韩精品欧美精品| 欧美日韩一区成人| 亚洲一级在线观看| 色哟哟日韩精品| 国产精品国产三级国产aⅴ原创| 日韩不卡在线观看日韩不卡视频| 色婷婷久久综合| 国产精品乱人伦| 国产福利精品一区二区| 欧美大片在线观看一区二区| 欧美aaa在线| 日韩欧美一区二区不卡| 日本成人在线电影网| 4438x亚洲最大成人网| 亚洲成人久久影院| 91国偷自产一区二区三区观看| 亚洲三级在线免费观看| 99久精品国产| 亚洲男人的天堂在线aⅴ视频| 91小视频在线免费看| 最新国产精品久久精品| 成人av在线一区二区三区| 国产精品麻豆一区二区| 99久久夜色精品国产网站| 中文字幕一区二区三区在线不卡| 成人黄色小视频在线观看| 中文字幕精品综合| 91亚洲精品乱码久久久久久蜜桃| 亚洲欧美偷拍卡通变态| 日本高清不卡在线观看| 一区二区三区精品久久久| 欧美视频自拍偷拍| 免费观看在线色综合| 久久久久久久国产精品影院| 成人免费av网站| 一区二区三区中文字幕精品精品| 欧美亚洲国产一区二区三区| 午夜精品成人在线| 精品国产乱码久久久久久蜜臀| 精品一二线国产| 国产精品热久久久久夜色精品三区 | 中文字幕欧美激情| 色综合一个色综合| 蜜臀国产一区二区三区在线播放| 欧美精品一区二区三区久久久| 粗大黑人巨茎大战欧美成人| 亚洲美女在线一区| 欧美xingq一区二区| 99久久99久久免费精品蜜臀| 日韩精品一级中文字幕精品视频免费观看 | 婷婷开心激情综合| 2021中文字幕一区亚洲| av一区二区三区| 日韩和欧美一区二区| 久久久精品蜜桃| 欧美视频中文字幕| 国产精品羞羞答答xxdd| 一区二区三区中文字幕电影| 亚洲精品一线二线三线无人区| 色系网站成人免费| 精久久久久久久久久久| 亚洲一区中文日韩| 国产亚洲一区二区在线观看| 欧美日韩美少妇| 成人视屏免费看| 奇米精品一区二区三区四区 | 丝袜亚洲另类丝袜在线| 国产日产精品1区| 欧美日本精品一区二区三区| av一区二区三区在线| 久久精品国产亚洲一区二区三区| 亚洲欧美激情一区二区| 久久久久久久免费视频了| 91精品国产综合久久蜜臀| 99在线精品观看| 国产91丝袜在线播放0| 青青草国产精品亚洲专区无| 亚洲精品日韩综合观看成人91| 久久奇米777| 日韩欧美电影在线| 欧美一级二级三级蜜桃| 欧美午夜免费电影| 97久久精品人人做人人爽50路| 国产一区二区精品在线观看| 日韩影院精彩在线| 午夜影院久久久| 亚洲综合激情另类小说区| 亚洲欧洲日产国码二区| 中文字幕乱码日本亚洲一区二区| 亚洲精品一区二区三区香蕉| 欧美一区二区成人| 91精品国产一区二区三区| 欧美亚日韩国产aⅴ精品中极品| 91香蕉视频在线| 色婷婷av一区| 在线观看国产91| 在线观看日韩一区| 欧美私模裸体表演在线观看| 欧美在线999| 欧美三级资源在线| 欧美午夜不卡在线观看免费| 欧美三级乱人伦电影| 欧美日韩精品专区| 欧美精品九九99久久| 欧美福利一区二区| 91精品国产91久久久久久一区二区 | 在线亚洲高清视频| 欧美无人高清视频在线观看| 91浏览器打开| 欧美在线视频日韩| 91麻豆精品国产自产在线观看一区 | 中文字幕在线不卡国产视频| 亚洲欧洲色图综合| 亚洲综合无码一区二区| 亚洲一级二级三级| 日韩专区中文字幕一区二区| 日韩精品成人一区二区三区| 开心九九激情九九欧美日韩精美视频电影 | 亚洲一级二级在线| 日本亚洲三级在线| 极品瑜伽女神91| 成人妖精视频yjsp地址| 日本道在线观看一区二区| 欧美日韩另类一区| 久久久久久久免费视频了| 亚洲日本va午夜在线电影| 亚瑟在线精品视频| 国产一区在线精品| 91视频免费播放| 日韩三级精品电影久久久| 欧美国产丝袜视频| 亚洲一区电影777| 国产精品自产自拍| 欧美午夜精品久久久| 精品国产欧美一区二区| 亚洲色图19p| 精品在线免费视频| 91久久香蕉国产日韩欧美9色| 91精品国产色综合久久久蜜香臀| 国产农村妇女精品| 视频在线观看91| av在线不卡网| 日韩欧美区一区二| 亚洲精品成人少妇| 国产精品自在在线| 欧美人狂配大交3d怪物一区| 久久精品视频网| 香蕉av福利精品导航| 成熟亚洲日本毛茸茸凸凹| 欧美少妇xxx| 国产精品久久久久桃色tv| 奇米综合一区二区三区精品视频| 不卡的av在线| 久久午夜羞羞影院免费观看| 亚洲国产视频直播| 91农村精品一区二区在线| 久久影音资源网| 日韩 欧美一区二区三区| av不卡免费在线观看| 欧美精品一区二| 日韩精品国产精品| 欧美日韩小视频| 亚洲激情在线播放| 奇米影视7777精品一区二区| 日本道精品一区二区三区| 国产精品婷婷午夜在线观看| 美女视频一区二区三区| 在线视频国内自拍亚洲视频| 国产精品久久久久aaaa| 国产成人三级在线观看| 日韩欧美国产电影| 奇米四色…亚洲| 91精品久久久久久蜜臀| 亚洲高清视频在线| 精品视频一区三区九区| 一区二区三区四区中文字幕| 93久久精品日日躁夜夜躁欧美| 欧美激情一区二区三区全黄| 国内久久婷婷综合| 久久午夜电影网| 国产曰批免费观看久久久| 日韩一区二区三| 麻豆91免费观看| 26uuu国产电影一区二区| 精品无人码麻豆乱码1区2区 | 国产69精品久久777的优势| 精品av综合导航| 国产一区二区三区日韩|