zoukankan      html  css  js  c++  java
  • 结对项目进度2

    小组成员:

    王森   13070018

    李经纬 13070019

    完成内容:

    我们在这个阶段主要完成了UI界面的学习开发以及与原来的核心模块的组合。

    我们学习了MFC,并使用它作为我们项目的UI。它的好处是与我们之前开发的vc++程序都属于微软的软件系列,移植性好。缺点是MFC的结构复杂,不好学习。

    我们将核心计算模块加入到了MFC中的控件处理函数中,使用上没有问题,因为只需要传入算式字符串及参数即可,但这里我们遇到了字符集的问题,MFC使用的是CString类型的字符,而我们之前使用的是string的标准c++类型。所以这里需要进行转换。

    我们还将之前获得的异常码翻译成错误类型,并以弹出对话框的方式提醒用户。

    主要控件处理代码:

     1 void CMy21ArithmeticOperationDlg::OnBnClickedButton1()
     2 {
     3     UpdateData(true);
     4 
     5     Calc c;            // 核心计算模块
     6     stringstream ss;
     7     Fraction r;
     8     int e;
     9     string s;            // 临时变量
    10 
    11     // 将 CString 转换为 string
    12     ss << exp;
    13     ss >> s;
    14     s.append("=");
    15 
    16     // 给核心模块赋值和参数
    17     c.setExp(s);
    18     c.Setting(max_op, min_val, max_val);
    19 
    20     // 获得结果和异常码
    21     e = c.getResult(r);
    22     if (e == 0)
    23     {
    24         result = r.toString();
    25     }
    26     else
    27     {
    28         switch (e)
    29         {
    30         case -1:
    31             MessageBox("异常:\n除数为0");
    32             break;
    33         case -2:
    34             MessageBox("异常:\n算式格式错误");
    35             break;
    36         case -3:
    37             MessageBox("异常:\n运算符数量超限");
    38             break;
    39         case -4:
    40             MessageBox("异常:\n数值范围超限");
    41             break;
    42         case -5:
    43             MessageBox("异常:\n未知字符");
    44             break;
    45         default:
    46             break;
    47         }
    48     }
    49 
    50     UpdateData(false);
    51 }

    正确算式:

    错误算式:

  • 相关阅读:
    非常不错的漂浮广告代码(须调用外部JS文件)
    终于也进入了博客园
    ARM伪指令必读
    细说嵌入式Linux文件系统的制作方法
    使用OpenJTAG来检查硬件焊接问题
    应对艰难职场环境的五条策略
    成为高端人才必看的二十大箴言
    神奇的platform_get_resource函数
    女生奋斗励志篇?现代女孩都应该看看
    中国40位40岁以下的商界精英
  • 原文地址:https://www.cnblogs.com/bjut13070019/p/5378520.html
Copyright © 2011-2022 走看看