zoukankan      html  css  js  c++  java
  • 第一周项目个人总结

    第一周的作业是完成小学生计算器,这个项目如果仅仅是一个数字的四则运算的话是一个很简单的问题。但是加入了随机生成表达式和分数计算的要求之后,难度就大大增加了。

    最初的想法:

         首先面对这个问题,第一反应就是逆波兰表达式的求解变形,重载加减乘除的符号算法。随机生成表达式则是递归由里到外生成,括号随机添加

    遇到的困难:

     (1) 由于加入了分数运算,存取数据的栈就要改成另外的可以表示分数的形式,我选择了采用字符串的形式,就涉及了大量的字符串的操作,字符串地址的传递。并且

       (2)  上述方法生成的表达式的括号总是嵌套的,不能出现括号并列的情况。

    获得的经验:

        C++的栈操作存储的字符串总是以地址的形式保存,而不是内容。导致代码在某阶段总是存在栈保存的内容发生改变的问题,原因是栈指针指向的内存空间被后续的操作改变了值,因此后来采取了申请多个新的内存空间存储不同的字符串,保证了栈的内容不改变。

        由于分数中间计算的结果可能很大,导致在运行过程中总是容易容易出现数组溢出的情况,这种错误非常难以发现。

        模块化的代码调试,逐步缩小问题出现位置的范围。

  • 相关阅读:
    如何突破单库性能瓶颈?
    高性能数据库表该如何设计?
    高性能索引该如何设计?(下)
    高性能索引该如何设计?(上)
    MySQL体系结构与存储引擎
    动态ViewPager导航页面
    ViewPager图片轮转带点的
    手动图片横向轮播
    安卓布局中下拉列表框的实现
    安卓中adapter的应用
  • 原文地址:https://www.cnblogs.com/JuneBronzebeard/p/5920951.html
Copyright © 2011-2022 走看看