?? 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 + -