结对项目

结对项目


这个作业属于哪个课程 < 网工1934-软件工程 >
这个作业要求在哪里 作业要求
这个作业的目标 实现一个自动生成小学四则运算题目的命令行程序

队员: 3119005393万天乐

本项目已上传github

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

100

 200

· Estimate

· 估计这个任务需要多少时间

60

 70

Development

开发

6*24*60

 5*24*60

· Analysis

· 需求分析 (包括学习新技术)

60

 50

· Design Spec

· 生成设计文档

20

 20

· Design Review

· 设计复审 (和同事审核设计文档)

30

 30

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

20

20

· Design

· 具体设计

100

 150

· Coding

· 具体编码

4*24*60

4*24*60

· Code Review

· 代码复审

100

 150

· Test

· 测试(自我测试,修改代码,提交修改)

40

60

Reporting

报告

20

20

· Test Report

· 测试报告

10

 30

· Size Measurement

· 计算工作量

10

 30

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

30

 30

合计

 

6*24*60

5*24*60

三、解题思路

1、先实现生成式子的功能。

(1)先写好生成操作数和包含1~3个操作符的式子的四个函数,再通过一个函数一起调用,随机生成带括号的式子

(2)除号和乘号÷、×先用*、#代替

(3)C语言里面的除号和乘号÷、×不能直接从文件读出来,所以就放弃了从文件里读出来计算的想法,改为生成的时候,把式子放进数组再来计算,计算不小于0,才把数组存进文件,存进文件的时候把*、#这两个符号替换成÷、×

2、计算功能。

(1)只定义了一个分数结构体,因为想到计算的时候 整数也可以转化为分数,如2可以化为2/1

(2)定义两个栈,手撸栈的各个操作,一个栈用来压入分数,一个用来压入操作符

3、比较题目文件,判断答案文件中的对错。

(1)这个可以说是取巧了一下,因为文件的生成,帮随着答案的生成,所以比较的是 标准答案文件 和 新答案文件

(2)原本是想从文件里面再读出式子拿来计算,但是写进文件后有了符号÷、×,但是那两个符号÷、×读出来会出错,因为他们不是普通字符型数据的长度。

4、主函数。

用输入参数的方式在cmd运行,很好的分开了生成式子(同时生成答案)和比较答案这两个步骤

四、设计实现过程

 

 

五、代码说明

头文件和相关结构体和栈的定义:

栈的相关操作:

生成式子的相关函数:

优先级判断,中间值计算,化简,生成答案文件等函数:

判断答案文件对错函数:

带参数的主函数:

六、测试运行

命令行输入展示

生成模式 main.exe -n 10 -r 10
阅卷模式 main.exe -e Exercises.txt -a Answers.txt

1、测试生成

 2、判断答案对错:

3、10000道题目

七、测试运行

这次结对项目,我是比较懒的,要不是在项目发出来两三天后老师开始一直催着我,可能后来项目的完成会变得比较紧张,在完成项目的过程中,也是有好的地方,比如在生成式子的那个部分,引用了网上的方法,给我带来了很大的方便,从中也可以get到一些不同于我的思路,也就顺便解决了出现的问题。

posted on 2021-10-25 21:31  wantianle  阅读(75)  评论(0)    收藏  举报