您的位置:首页 > 其它

VC之旅,基于对话框的排序程序编写

2009-12-10 13:47 183 查看
1.环境VC6.0,Windows XP

2.建立新的工程,用MFC的.exe

3.建立中选择基于对话框,简单方便。

4.用ResourceView,看到当前的对话框,通过添加控件,添加10个输入edit,10个输出的edit,随即生成整数控件等按钮控件,单击右键,选择property可以修改控件显示的名称。

5. 双击各个按钮控件,为控件填写代码。

6.其中生成随机数部分:

void CMint_sortDlg::OnYeild()
{
// TODO: Add your control notification handler code here
srand((unsigned)time(NULL));

CString s;
for(int i=0;i<10;i++)
{
s.Format("%d",rand()%1000);
GetDlgItem(IDC_EDIT1+i)->SetWindowText(s);
}
}

7.排序控件,这里采用插值排序法

void CMint_sortDlg::OnInsert()
{
// TODO: Add your control notification handler code here
int x[11];
CString s;

for(int i=0;i<10;i++)
{
GetDlgItem(IDC_EDIT1+i)->GetWindowText(s);
x[i+1]=atoi(s);
}

sort_insert(x,1,10);

for(i=0;i<10;i++)
{
s.Format("%d",x[i+1]);
GetDlgItem(IDC_EDIT11+i)->SetWindowText(s);
}
}

void CMint_sortDlg:: sort_insert(int x[],int low,int high)
{

int temp,key,j,k=0;
for(int i=low+1;i<=high;i++)
{
j=i-1;
key=x[i];
while(j>0&&x[j]>key)
{
x[j+1]=x[j];
x[j]=key;
j--;
}

}

}

8.注意函数要在.h文件中提前定义

9. 可以根据需要添加trace。

10. 第一写技术博客,很匆忙,有问题大家一起讨论。很简单的东西,请君莫笑,态度认真的与大家分享。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: