第四次作业:小学四则运算“软件”之初版

作业要求来自于https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186

GitHub远程仓库的地址:https://github.com/201606120084


 

一、题目要求:

像《构建之法》的人物阿超那样,写一个能自动生成小学四则运算题目的命令行 “软件”。


具体要求:任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。 如:

23 - 3 * 4 = 11

扩展要求:

1) 要求能出和真分数 (二分之一, 十二分之五,等)相关的练习题。

2) 并且要求能处理用户的输入,并判断对错,打分统计。 要求能处理用户输入的真分数, 如 1/2, 5/12 等。

初步拟定要实现的功能后,估计一下自己需要花多长时间。编程过程中记录自己实际用了多长时间。

然后和同学们比较一下各自程序的功能、实现方法的异同等等。

写博客纪录自己实现的过程和思路。


 二、个人软件过程耗时估计与统计表

PSP2.1Personal Software Process StagesTime Senior StudentTime
Planning计划30min90min
· Estimate估计这个任务需要多少时间3h50h
Development开发1h2h
· Analysis需求分析 (包括学习新技术)

10min

12min
· Design Spec生成设计文档0min0min
· Design Review设计复审5min4min
· Coding Standard代码规范3min4min
· Design具体设计20min34min
· Coding具体编码1h3h
· Code Review代码复审5min3min
· Test测试(自我测试,修改代码,提交修改)30min40min
Reporting报告10min15min
·测试报告0min0min
·计算工作量2min2min
·并提出过程改进计划2min2min

 

三、部分程序代码

	char yunsuanfu()   //随机生成运算符函数
	{
        int e;
        e=rand()%4+1;

		switch(e){
			case 1:return '+';
			case 2:return '-';
			case 3:return '/';
			case 4:return '*';
					}
	}

  

   a=rand()%100+1;   //随机生成数字1-100
    b=rand()%100+1;    //随机生成数字1-100
    c=rand()%100+1;     //随机生成数字1-100
  char e =yunsuanfu(); part1(int a,int b,char e){ float result; switch(e){ case '+': {result=a+b;break;} case '-': { result=a-b;break;} case '*':{ aresult=a*b;break;} case '/':{ result=a/b;break;} } return result; } part2(float result,int c,char e){ float finally; switch(e){ case '+': {finally=result+c;break;} case '-': { finally=result-c;break;} case '*':{ finally=result*c;break;} case '/':{ finally=result/c;break;} } return finally; }

 


 

四、设计与结果


 

 

五、设计过程分析

 

这次实验我是用C++这个软件来完成的,这个软件是我大一刚接触计算机专业用的第一个编程软件,通过这次实验复习了很多之前忘记了的旧知识,

也学到了一些新的知识,一开始不懂+ - * / 计算的优先级算法,后面通过自己百度还有问同学就弄明白了这个算法,对浮点数(float)的应用还不是很熟练,

一开始对计算的逻辑关系梳理地还不是很清晰,对约分(四舍五入算法)还不是很懂。

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/lb2016/p/9789680.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值