第一周项目个人总结

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

最初的想法:

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

遇到的困难:

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

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

获得的经验:

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

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

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

时间: 2024-08-05 14:34:14

第一周项目个人总结的相关文章

第一周 项目4 图书馆的书

[项目4 - 图书馆的书] 编写一个Book类,包含name(书名).writer(著者).public_name(出版社).price(价格).number(数量).NO(书号)等数据成员.定义成员函数setBook,用来为书籍的数据成员赋值,定义成员函数borrow和restore,分别办理借出和还回(借.还书时,暂时只完成数量的增1减1,这里的书仍是一种书的概念,随着课程进展,我们继续做真正的图书管理系统,每本书都能追踪到是谁何时借了,何时还了)业务,定义成员函数print用于输出-有关书

x项目第一周随笔

第一周主要做的一个事情就是游戏客户端框架的搭建 目前大家商量的结果就是所有的逻辑都有lua脚本来实现,这样做的主要目的是为了后续更新的方便 因为如果需要重新打包的话,让玩家每次都去下一个很大的包也不太现实. lua的方案,lua调用c++的部分, 用tolua++来导出c++代码的各种数据类型.主要就是写各种pkg文件. 这一部分非常好实现. 比较麻烦的部分是,在lua中绑定一些lua的函数,比如计时器模块,schechlerScriptFun(luafunction, interval) 或者

第一周个人项目总结

第一周完成了编写一个生成小学生算数题目的个人小项目,难度不算高,但是细节上值得注意的地方还是很多. 计划估计上: 刚看到题目的时候觉得思路上不难,生成随机数即能解决问题,存在分数的情况可以另写一个类表示生成的数的形式来处理.估计时间花费为两个小时(果然还是太年轻了...) 代码因为是用JAVA写,可能会比较长,估计两三百行就能解决. 实际代码上: 真正上手来写的时候发现难点主要在如何生成表达式方面,因为生成完表达式后必须同时计算出正确结果.联想到以前写过给出表达式计算结果的小程序,但是觉得用生成

20165227 结对编程项目-四则运算 第一周

20165227 结对编程项目-四则运算 第一周 需求分析 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计题目完成数并计算正确率 设计思路 设计一个计算器能够实现简单的+.-.*./运算 通过编程实现多运算符计算.整数运算.真分数运算.判断结果等 进行junit检测 设计一个程序主类,达到生成随机数.题目.并判断正误 测试 UML类图 功能截图 结对感受 因为同为室友,所以结对起来更轻松方便,讨论的时间也更加地充足,对于队

AWM团队项目第一周

20180512 团队第一周 团队项目:题目二 题目二:RSA-DES混合密码功能模块 问题描述:由于RSA不适于直接加密大量明文,且DES的密钥并不大,因此用DES来加密明文,再用RSA加密DES的密钥,将RSA公钥公开,私钥保密,只有掌握公钥方才可通过私钥解密. 基本要求 产生密钥对时,p,q,d,e参数选取合理,并可导出. 待加密文件可进行选择. 解密后输出到另一个文件中. 程序功能完善,界面友好. 关于对题目的基本理解 DES-RSA混合密码体制基本实现过程: 生成168位的DESede

20175212童皓桢 结对编程项目-四则运算 第一周

20175212童皓桢 结对编程项目-四则运算 第一周 需求分析 实现一个命令行程序,要求自动生成小学四则运算题目(加减乘除) 支持多运算符 测试结果的正确性,用户输入错误时给出正解 统计题目正确率 设计思路 首先要能够按照按人的一般习惯,生成自左向右计算的加减乘除算式. 随机生成多运算符,并随机生成相对应个数的整数 利用eval方法直接计算随机生成的算式的值,并和用户的输入作比较 判断正确率 设计测试类,利用JUnit测试整数的四则运算 UML类图 关键代码 如何生成符合要求格式的运算式 fo

20175126Apollo 20175126《Java程序设计》结队编程项目——四则运算 第一周阶段总结

结队编程项目——四则运算 一.项目需求 自动生成小学四则运算题目(加.减.乘.除)统计正确率 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 需求分析: 生成四则运算:需要使用随机数生成,需要创造一个能实现计算功能的类. 支持多运算符:运算符也需要利用随机生成,并且不限个数. 支持真分数:需要用到生成分子.分母的函数,将分数化简等. 统计正确率:需要设置一个计算变量,并需要用一个判断正确的函数. 二.设计思路 首先根据需求分析,进行大体的设计: 生成题目→输入答案→判断正

20175209王梓鸿 结对编程项目—四则运算 第一周 阶段总结

20175209王梓鸿 结对编程项目-四则运算 第一周 阶段总结 一.需求分析 1.题目要求: 实现一个命令行程序,要求: 自动生成小学四则运算题目(加.减.乘.除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 统计正确率 扩展需求 文件 处理生成题目并输出到文件 完成题目后从文件读入并判题 多语言支持简体中文,繁體中文,English 生成题目去重 二.设计思路 1.编写背景及完成情况 在开始写设计思路之前,我觉得应该说一下我们编写的情况(可能有些跑题).这次结对的

20175325 第一周结对编程项目 四则运算

20175325 第一周结对编程项目 四则运算 一.需求分析: 能根据用户输入的数字生成四则运算的题目数量 能自动生成规定范围内的四则运算题目(加.减.乘.除) 能够判断四则运算的结果是否正确并进行数量统计 能多次生成四则运算题目 支持多运算符 用户能够选择是否开始答题 统计题目正确率 题目去重 多语言支持:简体中文, 繁體中文, English 文件: 处理生成题目并输出到文件 完成题目后从文件读入并判题 二.设计思路: 和之前所学的C语言中的四则运算方法作类比,在JAVA中运用了C语言里的一