2301_79006772 2023-07-05 13:28 采纳率: 33.3%
浏览 28
已结题

VS mfc设计窗口打开文件

img

img


如何用VS写出如图要求的窗口,要求点击按钮打开文件,并计算其中数据的平均值和中值,完全0基础,可否详细步骤讲解一下

  • 写回答

2条回答

  • threenewbee 2023-07-05 13:31
    关注

    你最好是给出你的数据文件的格式,之前回答过你,怎么现在又换C++了

    假设你的按钮叫做 Button1,两个文本框叫 Edit1 Edit2,用ClassWizard映射为CEdit类型

    void CMyDialog::OnButton1Clicked()
    {
        CFileDialog dlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST, _T("Text Files (*.txt)|*.txt||"), this);
        if (dlg.DoModal() == IDOK)
        {
            CString filePath = dlg.GetPathName();
    
            // 打开文件
            CStdioFile file;
            if (file.Open(filePath, CFile::modeRead | CFile::typeText))
            {
                CString line;
                CArray<double, double> numbers;
    
                // 逐行读取数字
                while (file.ReadString(line))
                {
                    double number = _ttof(line);
                    numbers.Add(number);
                }
    
                file.Close();
    
                // 数字排序
                numbers.Sort();
    
                // 计算中值和均值
                double median = numbers[numbers.GetSize() / 2];
                double sum = 0;
                for (int i = 0; i < numbers.GetSize(); i++)
                {
                    sum += numbers[i];
                }
                double mean = sum / numbers.GetSize();
    
                // 将结果输出到编辑框
                CString strMedian, strMean;
                strMedian.Format(_T("%.2f"), median);
                strMean.Format(_T("%.2f"), mean);
                m_Edit1.SetWindowText(strMedian);
                m_Edit2.SetWindowText(strMean);
            }
            else
            {
                AfxMessageBox(_T("无法打开文件"));
            }
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月13日
  • 已采纳回答 7月5日
  • 创建了问题 7月5日