📄 top10dlg.cpp
字号:
// Top10Dlg.cpp : implementation file
//
#include "stdafx.h"
#include "LIBRARY.h"
#include "Top10Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTop10Dlg dialog
CTop10Dlg::CTop10Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CTop10Dlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CTop10Dlg)
m_strN = _T("");
//}}AFX_DATA_INIT
// qsort(bl,j,sizeof(bl[0]),CGlobal::comp);
}
void CTop10Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTop10Dlg)
DDX_Control(pDX, IDC_LIST_RESULT, m_listResult);
DDX_Control(pDX, IDC_LIST_DETAIL, m_listDetail);
DDX_Text(pDX, IDC_TOPN, m_strN);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTop10Dlg, CDialog)
//{{AFX_MSG_MAP(CTop10Dlg)
ON_LBN_SELCHANGE(IDC_LIST_RESULT, OnSelchangeListResult)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTop10Dlg message handlers
void CTop10Dlg::OnOK()
{
// TODO: Add extra validation here
int i,j=0,k,tmp;
CString tmps;
struct bookl
{
CString bno;
CString title;
int b_t;
} bl[50000];
UpdateData();
int TopN;
if (m_strN=="") TopN=10;
else TopN=atoi(m_strN);
j=0;
if (!m_bookSet.IsOpen())
m_bookSet.Open();
m_bookSet.Requery();
CString BNO;
while(!m_bookSet.IsEOF())
{
BNO=m_bookSet.m_bno;
if (!m_borrowSet.IsOpen())
m_borrowSet.Open();
m_borrowSet.m_strFilter.Format("bno='%s'",BNO);
m_borrowSet.Requery();
if (!m_borrowSet.IsEOF())
{
bl[j].bno=m_bookSet.m_bno;
bl[j].title=m_bookSet.m_title;
bl[j].b_t=0;
while(!m_borrowSet.IsEOF())
{
bl[j].b_t++;
m_borrowSet.MoveNext();
}
j++;
}
m_bookSet.MoveNext();
}
for (i=0;i<j-1;i++)
for (k=i+1;k<j;k++)
if (bl[i].b_t<bl[k].b_t)
{
tmp=bl[i].b_t;
bl[i].b_t=bl[k].b_t;
bl[k].b_t=tmp;
tmps=bl[i].bno;
bl[i].bno=bl[k].bno;
bl[k].bno=tmps;
tmps=bl[i].title;
bl[i].title=bl[k].title;
bl[k].title=tmps;
}
if (j>TopN) j=TopN;
for (i=0;i<j;i++)
{
char s[100];
Top10Bno[i]=bl[i].bno;
// AfxMessageBox(Top10Bno[i]);
sprintf(s,"%6d",bl[i].b_t);
CString tstr(s);
sprintf(s,"%6d",i+1);
CString tstr2(s);
m_listResult.AddString("第"+tstr2+" 位 ""借阅次数:"+tstr+" 书号:"+bl[i].bno+" 书名:"+bl[i].title);
}
}
void CTop10Dlg::OnSelchangeListResult()
{
CString Title[9];
int i;
Title[0]="图书编号: ";
Title[1]="书名: ";
Title[2]="类别: ";
Title[3]="出版社: ";
Title[4]="出版年份: ";
Title[5]="作者: ";
Title[6]="价格: ";
Title[7]="总藏书量: ";
Title[8]="现藏数量: ";
m_listDetail.ResetContent();
int curSel;
CString strDetail;
CString strline;
curSel=m_listResult.GetCurSel();
/* char s[100];
sprintf(s,"%d",curSel);
CString str(s);
AfxMessageBox(str);*/
for (i=0;(unsigned int)i<m_bookSet.m_nFields;i++)
{
CString bookNumm=Top10Bno[curSel];
// AfxMessageBox(bookNumm);
if (!m_bookSet.IsOpen())
m_bookSet.Open();
m_bookSet.m_strFilter.Format("bno= '%s'",bookNumm);
m_bookSet.Requery();
m_bookSet.GetFieldValue(i,strDetail);
strline.Empty();
strline+=Title[i];
strline+=strDetail;
m_listDetail.AddString(strline);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -