vc++ 利用MFC进行数字的升降序排列

mac2024-11-02  14

步骤一:建立一个新的对话框

 

点击完成,便建立好一个新的对话框

步骤二:为所显示的对话框添加所需控件

 

①图中左边为要显示的对话框,右边为控件列表,单机左边对话框中的(TODO:在这里设置对话控制),按Delete键删除。

②控件列表中,第二行第一个为静态文本,第二个为编辑框,第三行第二个为按钮,任意点击一个拖拽入对话框中

 

 

③现在可以对其进行编辑,点击Static,单击右键,选择属性,对标题可以进行更名,我将它改为“请输入数字”,之前Static也变为了请输入数字,点击关闭

 

可以以同样的方式将下一个Static改为“输出数字”

④点击编辑框,单击右键属性,将IDC_EDIT1改为ID_SHURU,点击关闭

 

以同样的方式将另一个编辑框的ID改为IDC_SHUCHU

⑤点击Button1,单击右键属性,将标题改为“升序”,将ID改为IDC_UP,点击关闭

以同样的方式将Button2标题改为“降序”,ID改为IDC_DOWN

⑥在对话框内点击除控件外任意一处,按Enter,弹出对话属性,可以将对话框的大标题进行修改

 

自此编辑内容已完成,如果对位置有强迫症可以点击任意一个控件在对话框内进行移动,也可以放大缩小,根据个人喜好(注意我所设定的ID全为大写字母)

 

步骤三:进行代码添加

①双击升序按钮

 

选择OK,跳出程序

 

以下是升序代码,可以复制粘贴进去,但要注意下面代码与图片中有重复部分,看清再复制

void CPLZHDlg::OnUp()

{

// TODO: Add your control notification handler code here

flag=1;

        UpdateData(TRUE);

        Fen_li();

        Pai_xu();

        He_bing();

        UpdateData(FALSE);

}

以同样的方法将降序的代码插入进去,以下为降序代码

void CPLZHDlg::OnDown()

{

// TODO: Add your control notification handler code here

flag=2;

UpdateData(TRUE);

Fen_li();

Pai_xu();

He_bing();

UpdateData(FALSE);

}

 

步骤四:进行其余成员函数的添加以及成员函数代码的添加

对画框部分单机右键

 

选中第三个,跳出添加成员函数,函数类型为void,函数描述为Fen_li,点击确定

 

跳出以下程序,在其中加入代码

 

代码为

void CPLZHDlg::Fen_li()

{

       int i=0;

   m_length=0;

   CString tempStr=m_shuru;

       TCHAR seps[]=_T(",");

   CHAR *token=_tcstok(tempStr.GetBuffer(0),seps);

       while(token!=NULL)

{

    m_a[i]=atoi(token);

m_s[i]=m_a[i++];

    token=_tcstok(NULL,seps);

}

   m_length=i--;

 

}

 

 

以同样的方式建立成员函数He_bing;Pai_xu;Qing_kong;

 

He_bing的代码

void CPLZHDlg::He_bing()

{

Qing_kong();

    CString shuchuStr;

for(int i=0;i<m_length;i++)

{

shuchuStr.Format("%d",m_a[i]);

m_shuchu+=shuchuStr+"  ";

}

 

}

 

Pai_xu的代码

void CPLZHDlg::Pai_xu()

{

int i,j,temp;

for(i=1;i<m_length;i++)    /* 外层循环控制比较的轮数*/

for(j=0;j<m_length-i;j++)  /*内层循环控制每一轮比较的次数*/

if(flag==1)

{if(m_a[j]>m_a[j+1] )  /*前后两数比较、交换*/

{

temp=m_a[j];

m_a[j]=m_a[j+1];

m_a[j+1]=temp;

}}

else if(flag==2)

{

if(m_a[j]<m_a[j+1] )  /*前后两数比较、交换*/

{

temp=m_a[j];

m_a[j]=m_a[j+1];

m_a[j+1]=temp;

}

 

}

 

}

 

 

 

 

Qing_kong的代码

void CPLZHDlg::Qing_kong()

{

m_shuchu="";

UpdateData(FALSE);

 

}

 

 

步骤五:添加成员变量

右键选中区域

 

选择第四个,变量类型为int,变量名称为m_length

 

以同样的方式定义以下变量

变量类型    变量名称

BOOL         flag

int          m_s[100]

int          m_a[100]

 

 

 

 

 

步骤六:为控件ID插入成员变量

快捷键Ctrl+w弹出

 

选中上图画框的地方

 

双击IDC_SHUCHU

 

第一行写入m_shuchu,点击ok,以同样的方式双击IDC_SHURU中写入m_shuru,点击ok,点击确定

 

最后调试程序完成

源代码地址:https://download.csdn.net/download/qq_41890177/11947271

最新回复(0)