Calculator PartⅢ
2024-08-24 01:32:35
- GitHub/object-oriented
- The title of the work
- 这次敲代码耗时相对较短,但是始终无法完成debug步骤,目前上传的代码可以通过编译,但运行即报停,问题调试为内存错误,改了很久都找不出问题,信心都跟着一块出现bug了,好几次打算烂尾,写博客纯为交流吧……尽管作业已经截止了,但后续还会更新,毕竟过程比结果有意义;
- 本次学习资料来自课本《C++程序设计(第3版)》(谭浩强 编著 清华大学出版社) 13.4 对数据文件的操作与文件流,讲的很详尽;
- 在debug过程中也找到一些不错的资料·内存调试技巧
- 在debug过程中也找到一些不错的资料·关于makefile
- 在debug过程中也找到一些不错的资料·指令内存错误信息解读
【主要思路】
- 习惯将文字信息用图表表达
- 基于助教在上篇博客下的留言做出的代码修改,但大部分由于时间关系还没完成;
- 对于选择条件不复杂的if语句改用switch语句,果然原本冗长的代码一下变得很清楚;
- 删除过多不必要的注释;
- 把字符串流对象的实例化调到进入循环之前
Scan::checkNumber(string input)
在本次代码中需要多次使用,将之从在main
中调用改到在Scan::ToStringQueue(string input)
中调用;
【出现的问题】
- 在修改原代码的时候,为了减少if语句分支,使用了switch语句作为替代,但由于对此类语句较少使用,在使用过程中出现许多问题:其一,需要引用
<stdio.h>
类库,其二,开关语句的控制量必须是整型,最初我向switch中传入的控制量为string
类型,得到报错信息“[ERROR]switch quantity not an integer”;- 这不是第一次出现内存错误,很明显对于某些知识基础掌握不大好,以及逻辑思维有相当的漏洞。用VS2012调试得到异常信息“0x00007FFA134C11A0 (msvcrt.dll) (Calculator.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0x0000000000000000 时发生访问冲突”,知道问题在于内存,暂未解决此问题;
- 由于要把所有有关打印的内容都放在
Scan.h
、Calculation.h
都引用到了
【框架描述图】
最新文章
- wxWidgets
- awk处理之案例一:awk 处理百分比的问题
- Codeforces Round #346 (Div. 2) E - New Reform 无相图求环
- N!末尾有多少个零
- atitit。自己定义uml MOF EMF体系eclipse emf 教程o7t
- swift学习二:基本的语法
- 国外代理server
- C#文件处理
- sql注入绕过union select过滤
- JSP的几种跳转方式的异同
- 为什么导入本地jquery.js老是无效?(已解决)
- Python爬虫基础之Urllib
- WCF简介-01
- scala使用hbase新api
- html内容溢出部分...
- python调试工具pdb
- 自定义消息的操作方法ON_MESSAGE(..)
- 哪些地方会出现css阻塞,哪些地方会出现js阻塞?
- ngx-bootstrap学习笔记(一)-popover
- [leetcode]139. Word Break单词能否拆分
热门文章
- Git 原理入门
- Kafka 学习翻译 - 介绍
- yii学习笔记(5),视图操作
- Python学习手册之__main__ 模块,常用第三方模块和打包发布
- 嵌入式框架Zorb Framework搭建一:嵌入式环境搭建、调试输出和建立时间系统
- JavaWeb——课程管理系统(2).java---18.11.29
- python 字符串拼接效率打脸帖
- microbiom github reference
- Python:TypeError: &#39;range&#39; object doesn&#39;t support item deletion
- 文件包含漏洞(RFI)