📄 gaokaodlg.cpp
字号:
m_ListCtrl.SetItemText(k,j,str);
}
L.r[i].keys[5]=L.r[i].keys[1]+L.r[i].keys[2]+L.r[i].keys[3]+L.r[i].keys[4];
str.Format("%d",L.r[i].keys[5]);
m_ListCtrl.SetItemText(k,j,str);
str.Format("%d",k+1);
m_ListCtrl.SetItemText(k,6,str);
}
end=clock();
long needtime=end-start;
m_lsd.Format("%ld",needtime);
}
UpdateData(FALSE);
}
void CGaokaoDlg::OnSelect()
{
start=clock();
int i,j;
for( i=0 ; i<L.recnum ; i++ ) L.r[i].next=i+1;
L.r[L.recnum].next=0;
i=chosecourse();
if(i==0) MessageBox("请先选择关键字!!!");
else
{
SteadySort(L,i);
RadixSort(L,5);
m_ListCtrl.DeleteAllItems(); //先清除所有的表现
for(int k=6;k>=0;k--) m_ListCtrl.DeleteColumn(k); //再清除所有的列
LV_COLUMN lvColumn; //设置列表基本信息 列
lvColumn.mask=LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;
lvColumn.fmt=LVCFMT_LEFT;
lvColumn.cx=60; //设置列的宽度
lvColumn.iSubItem=0;
lvColumn.pszText="姓名";
m_ListCtrl.InsertColumn(0,&lvColumn);
lvColumn.iSubItem=1;
lvColumn.pszText="语文";
m_ListCtrl.InsertColumn(1,&lvColumn);
lvColumn.pszText="数学";
m_ListCtrl.InsertColumn(2,&lvColumn);
lvColumn.pszText="英语";
m_ListCtrl.InsertColumn(3,&lvColumn);
lvColumn.pszText="X科";
m_ListCtrl.InsertColumn(4,&lvColumn);
lvColumn.pszText="综合";
m_ListCtrl.InsertColumn(5,&lvColumn);
lvColumn.pszText="排名";
m_ListCtrl.InsertColumn(6,&lvColumn);
CString str;
/* for(i=1; i<=L.recnum; i++ )
{
str.Format("%s",L.r[i].name);
m_ListCtrl.InsertItem(i-1,str);
for(j=1;j<=4;j++)
{
str.Format("%d",L.r[i].keys[j]);
m_ListCtrl.SetItemText(i-1,j,str);
}
L.r[i].keys[5]=L.r[i].keys[1]+L.r[i].keys[2]+L.r[i].keys[3]+L.r[i].keys[4];
str.Format("%d",L.r[i].keys[5]);
m_ListCtrl.SetItemText(i-1,j,str);
str.Format("%d",i);
m_ListCtrl.SetItemText(i-1,6,str);
}*/
for(k=0,i=L.r[0].next; i; i=L.r[i].next,k++ )
{
str.Format("%s",L.r[i].name);
m_ListCtrl.InsertItem(k,str);
for(j=1;j<=4;j++)
{
str.Format("%d",L.r[i].keys[j]);
m_ListCtrl.SetItemText(k,j,str);
}
L.r[i].keys[5]=L.r[i].keys[1]+L.r[i].keys[2]+L.r[i].keys[3]+L.r[i].keys[4];
str.Format("%d",L.r[i].keys[5]);
m_ListCtrl.SetItemText(k,j,str);
str.Format("%d",k+1);
m_ListCtrl.SetItemText(k,6,str);
}
end=clock();
long needtime;
needtime=end-start;
m_select.Format("%ld",needtime);
L=copy; //回复L,可以用其他方法来排序,对多种进行比较
}
UpdateData(FALSE);
}
void CGaokaoDlg::OnButton1()
{
int i,j;
m_ListCtrl.DeleteAllItems(); //先清除所有的表现
for(int k=6;k>=0;k--) m_ListCtrl.DeleteColumn(k); //再清除所有的列
LV_COLUMN lvColumn; //设置列表基本信息 列
lvColumn.mask=LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;
lvColumn.fmt=LVCFMT_LEFT;
lvColumn.cx=60; //设置列的宽度
lvColumn.iSubItem=0;
lvColumn.pszText="姓名";
m_ListCtrl.InsertColumn(0,&lvColumn);
lvColumn.iSubItem=1;
lvColumn.pszText="语文";
m_ListCtrl.InsertColumn(1,&lvColumn);
lvColumn.pszText="数学";
m_ListCtrl.InsertColumn(2,&lvColumn);
lvColumn.pszText="英语";
m_ListCtrl.InsertColumn(3,&lvColumn);
lvColumn.pszText="X科";
m_ListCtrl.InsertColumn(4,&lvColumn);
lvColumn.pszText="综合";
m_ListCtrl.InsertColumn(5,&lvColumn);
CString str;
// RadixSort(L,5);
L=copy;
for(i=1; i<=L.recnum; i++ )
{
str.Format("%s",L.r[i].name);
m_ListCtrl.InsertItem(i-1,str);
for(j=1;j<=4;j++)
{
str.Format("%d",L.r[i].keys[j]);
m_ListCtrl.SetItemText(i-1,j,str);
}
L.r[i].keys[5]=L.r[i].keys[1]+L.r[i].keys[2]+L.r[i].keys[3]+L.r[i].keys[4];
str.Format("%d",L.r[i].keys[5]);
m_ListCtrl.SetItemText(i-1,j,str);
}
}
void CGaokaoDlg::OnRadio1()
{
// TODO: Add your control notification handler code here
a=1;
}
void CGaokaoDlg::OnRadio2()
{
// TODO: Add your control notification handler code here
b=1;
}
void CGaokaoDlg::OnRadio3()
{
// TODO: Add your control notification handler code here
c=1;
}
void CGaokaoDlg::OnRadio4()
{
// TODO: Add your control notification handler code here
d=1;
}
void CAboutDlg::OnOK()
{
// TODO: Add extra validation here
CDialog::OnOK();
}
void CGaokaoDlg::OnMenuitem32777()
{
CGaokaoDlg::OnOK();
}
void CGaokaoDlg::OnMenuitem32780()
{
HelpDlg dlg;
dlg.DoModal();
}
void CGaokaoDlg::OnButton2()
{
// TODO: Add your control notification handler code here
m_ListCtrl.DeleteAllItems(); //先清除所有的表现
for(int k=6;k>=0;k--) m_ListCtrl.DeleteColumn(k); //再清除所有的列
}
void CGaokaoDlg::OnButton3()
{
m_ListCtrl.DeleteAllItems(); //先清除所有的表现
for(int k=6;k>=0;k--) m_ListCtrl.DeleteColumn(k); //再清除所有的列
LV_COLUMN lvColumn;
lvColumn.mask=LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;
lvColumn.fmt=LVCFMT_LEFT;
lvColumn.cx=60; //设置列的宽度
lvColumn.iSubItem=0;
lvColumn.pszText="姓名";
m_ListCtrl.InsertColumn(0,&lvColumn);
lvColumn.iSubItem=1;
lvColumn.pszText="语文";
m_ListCtrl.InsertColumn(1,&lvColumn);
lvColumn.pszText="数学";
m_ListCtrl.InsertColumn(2,&lvColumn);
lvColumn.pszText="英语";
m_ListCtrl.InsertColumn(3,&lvColumn);
lvColumn.pszText="X科";
m_ListCtrl.InsertColumn(4,&lvColumn);
lvColumn.pszText="综合";
m_ListCtrl.InsertColumn(5,&lvColumn);
CString str;
int i,j,score,n;
srand(time(NULL));
// n=10+rand()%3;
n=1000;
InitSLList(L,n);
for(i=1;i<=n;i++)
{
for(j=0;j<4;j++)
{
L.r[i].name[j]=65+rand()%26;
}
str.Format("%s",L.r[i].name);
m_ListCtrl.InsertItem(i-1,str);
for(j=1;j<=4;j++)
{
score=rand()%101;
if(score<60) //if在这里是为了提高整体成绩,不让太多成绩低于60分
{
score=rand()%101;
}
L.r[i].keys[j]=score;
str.Format("%d",L.r[i].keys[j]);
m_ListCtrl.SetItemText(i-1,j,str);
}
L.r[i].keys[5]=L.r[i].keys[1]+L.r[i].keys[2]+L.r[i].keys[3]+L.r[i].keys[4];
str.Format("%d",L.r[i].keys[5]);
m_ListCtrl.SetItemText(i-1,j,str);
}
copy=L;
}
static int huakuai;
void CGaokaoDlg::OnButton4()
{
m_ListCtrl.DeleteAllItems(); //先清除所有的表现
for(int k=6;k>=0;k--) m_ListCtrl.DeleteColumn(k); //再清除所有的列
LV_COLUMN lvColumn;
lvColumn.mask=LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;
lvColumn.fmt=LVCFMT_LEFT;
lvColumn.cx=60; //设置列的宽度
lvColumn.iSubItem=0;
lvColumn.pszText="姓名";
m_ListCtrl.InsertColumn(0,&lvColumn);
lvColumn.iSubItem=1;
lvColumn.pszText="语文";
m_ListCtrl.InsertColumn(1,&lvColumn);
lvColumn.pszText="数学";
m_ListCtrl.InsertColumn(2,&lvColumn);
lvColumn.pszText="英语";
m_ListCtrl.InsertColumn(3,&lvColumn);
lvColumn.pszText="X科";
m_ListCtrl.InsertColumn(4,&lvColumn);
lvColumn.pszText="综合";
m_ListCtrl.InsertColumn(5,&lvColumn);
CString str;
int i,j,score,n;
n=huakuai;
InitSLList(L,n);
for(i=1;i<=n;i++)
{
for(j=0;j<4;j++)
{
L.r[i].name[j]=65+rand()%26;
}
str.Format("%s",L.r[i].name);
m_ListCtrl.InsertItem(i-1,str);
for(j=1;j<=4;j++)
{
score=rand()%101;
if(score<60) //if在这里是为了提高整体成绩,不让太多成绩低于60分
{
score=rand()%101;
}
L.r[i].keys[j]=score;
str.Format("%d",L.r[i].keys[j]);
m_ListCtrl.SetItemText(i-1,j,str);
}
L.r[i].keys[5]=L.r[i].keys[1]+L.r[i].keys[2]+L.r[i].keys[3]+L.r[i].keys[4];
str.Format("%d",L.r[i].keys[5]);
m_ListCtrl.SetItemText(i-1,j,str);
}
copy=L;
}
void CGaokaoDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
CSliderCtrl *slider=(CSliderCtrl *)pScrollBar;
CString sValue;sValue.Format("%d",slider->GetPos());
huakuai=slider->GetPos();
m_strEdit=sValue;
UpdateData(FALSE);
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
void CGaokaoDlg::OnOutofmemorySlider1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -