用MFC向导创建一个程序,在程序运行的界面上能任意输入10个数据,然后对10个数据进行统计计算,如平均值、方差、均方差等。
1条回答 默认 最新
- qfl_sdu 2021-07-07 12:00关注
新建一个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);
编译运行即可。
如需源码,私信我本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 wireshark抓不到vlan
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来