📄 helpdlg.cpp
字号:
// HelpDlg.cpp : implementation file
//
#include "stdafx.h"
#include "gaokao.h"
#include "HelpDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// HelpDlg dialog
HelpDlg::HelpDlg(CWnd* pParent /*=NULL*/)
: CDialog(HelpDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(HelpDlg)
m_Text = _T("");
//}}AFX_DATA_INIT
}
void HelpDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(HelpDlg)
DDX_Text(pDX, IDC_STATICtext, m_Text);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(HelpDlg, CDialog)
//{{AFX_MSG_MAP(HelpDlg)
ON_BN_CLICKED(IDC_BUTTON8, OnButton8)
ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
ON_BN_CLICKED(IDC_BUTTON6, OnButton6)
ON_BN_CLICKED(IDC_BUTTON7, OnButton7)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// HelpDlg message handlers
void HelpDlg::OnButton8()
{
m_Text.Format("#define MAX_NUM_OF_KEY 8 //关键字项数的最大基数,\n \t\t\t\t\t //本设计中只用到5\n#define RADIX 10\n#define MAX_SPACE 10000\n\ntypedef struct{\nchar name[4];\nKyeType keys[MAX_NUM_OF_KEY+1]; //关键字\nint next; }SLCell; //静态链表的节点类型\n\ntypedef struct{\nSLCell r[MAX_SPACE+1];\nint keynum; //记录的当前关键字个数\nint recnum; //静态链表的当前长度\n}SLList; //静态链表类型\n");
UpdateData(FALSE);
}
void HelpDlg::OnButton5()
{
// TODO: Add your control notification handler code here
m_Text.Format("int ord(int score,int i){\nint j;\nif(i==1)j=score%100%10;\nelse if(i==2) j=score%100/10;\nelse j=score/100取百位;\nreturn j;}\nvoid Distribute(SLCell r[],int i,ArrType &f,ArrType &e,int key){\n int j,p;\nfor(j=0;j<RADIX;j++){f[j]=0;e[j]=0;}\nfor(p=r[0].next;p;p=r[p].next){\nj=ord(r[p].keys[key],i);\nif(!f[j])f[j]=p;else r[e[j]].next=p;\ne[j]=p;}\n}\nvoid Collect(SLCell r[], int i, ArrType f, ArrType e){\n int j=0,t=0;\n for(j=RADIX-1; j>=0 ; j-- )\n {\n if(f[j]){ r[t].next=f[j];t=e[j];}\n }\n r[t].next=0;\n}\nvoid RadixSort(SLList &L,short key){\n ArrType f,e;\n int i;\n for( i=1; i<=3; i++ )\n { Distribute(L.r,i,f,e,key);Collect(L.r,i,f,e); }\n}");
UpdateData(FALSE);
}
void HelpDlg::OnButton6()
{
// TODO: Add your control notification handler code here
m_Text.Format("int SelectMaxKey(SLList L,int key,int i) //用于简单排序\n{\n int k,max=i;\n for( k=i; k<=L.recnum; k++ )\n {\n if(L.r[k].keys[key] > L.r[max].keys[key])\n {\n max=k;\n }\n }\n return max;\n}\nvoid SteadySort(SLList &L, int key) //稳定排序 选择关键字key排序\n{\n int i,j;\n SLCell T;\n for( i=1; i<=L.recnum; ++i ) //简单选择排序\n { j=SelectMaxKey(L,key,i);\n if(i!=j)\n {\n T=L.r[i]; L.r[i]=L.r[j]; L.r[j]=T;\n }\n }\n}");
UpdateData(FALSE);
}
void HelpDlg::OnButton7()
{
m_Text.Format("因为选择排序不能用于多多关键字排序,\n所以本排序程序只是用选择排序先排选择的科目,\n再用基数排序对综合科进行排序!!!效率之比应该是屏幕中显示比值的平方。\n另外,由于时间关系,菜单中保存和读入两个功能并没有完成。");
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -