用MFC向导创建一个程序,对10个数据进行统计计算,如平均值、方差、均方差等。

用MFC向导创建一个程序,在程序运行的界面上能任意输入10个数据,然后对10个数据进行统计计算,如平均值、方差、均方差等。

新建一个MFC工程,添加一个输入框、两个按钮(添加按钮和计算按钮),给输入框添加了一个变量CEdit m_editNmb;
添加四个静态标签,分别用来显示输入的所有数值、均值、方差和均方差。
在工程的头文件中添加两个变量:float mArray[20]; int mNmb;用来存放输入的数据和数组元素的实际个数
在cpp中初始化mNmb = 0;
在添加按钮的响应事件中添加如下代码:

// TODO: 在此添加控件通知处理程序代码
    CString val;
    m_editNmb.GetWindowText(val);
    float vv =_tstof(val);
    mArray[mNmb] = vv;
    mNmb++;

    CString ss;
    GetDlgItem(IDC_STATIC_NMB)->GetWindowText(ss);
    ss = ss + CString("\n") + val;
    GetDlgItem(IDC_STATIC_NMB)->SetWindowText(ss);

在计算按钮的响应事件中添加如下代码:

// 计算均值
    float avg = 0.0;
    for (int i = 0;i<mNmb;i++)
    {
        avg += mArray[i];
    }
    avg /= mNmb;

    //计算方差
    float fc = 0;
    for (int i=0;i<mNmb;i++)
    {
        fc += (mArray[i]- avg) * (mArray[i]- avg);
    }
    fc /= mNmb;

    //计算均方差
    float jfc = 0;
    jfc = sqrt(fc);

    CString str;
    str.Format(_T("均值:%.3f"), avg);

    GetDlgItem(IDC_STATIC_AVG)->SetWindowText(str);
    str.Format(_T("方差:%.3f"), fc);
    GetDlgItem(IDC_STATIC_FC)->SetWindowText(str);
    str.Format(_T("均方差:%.3f"), jfc);
    GetDlgItem(IDC_STATIC_JFC)->SetWindowText(str);

编译运行即可。
如需源码,私信我