作业三—简易四则混合运算

作业要求来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2166

github仓库地址:https://github.com/tianshizhao/tianshizhao/commits?author=tianshizhao

一、题目要求:

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

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

23 - 3 * 4 = 11

扩展要求:

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

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

二.设计

1.用了C语言来设计这个程序

扫描二维码关注公众号,回复: 3501846 查看本文章

2.主要设计了六个函数,分别是加、减、乘、除、运算符和操作这四个函数

3.答案精确到0.1,主要用了两个if来加以判断

4.用了五个随机,从何实现自动生成随机数和随机符号

a=rand()%100;
b=rand()%100;
c=rand()%100;
j=rand()%4;
k=rand()%4;

5.累计所有答对的题目,最后算出最后得分,这里用了一个全局函数g作介质实现

f=100/n*g;
printf("\n总共答对%d道题\n",g);
printf("最后得分为%d分\n",f);

三.问题及构建思想

刚开始做的时候,以为只有一个运算符,导致前面设计的构建思维全部白费,然后想了很久也没有找到连接两个式子的混合运算模式,

最后在百度上查了相关资料,才渐渐明白连接两个运算符号。这个运算式子主要由五大部分组成,(数子、运算符、数、运算符、数)

我把他们全部拆除了,全部随机,然后一个一个组出来,最后就实现了一个式子。

p1=fuhao(j);
p2=fuhao(k);
printf("%d %c %d %c %d = ",a,p1,b,p2,c);
scanf("%f",&answer);

四。实验截图

.个人软件过程耗时估计与统计表:

PSP2.1 Personal Software Process Stages Time Senior Student(h) Time(h)
Planning 计划 1 1
· Estimate 估计这个任务需要多少时间 20 30
Development 开发 1 1
· Analysis 需求分析 (包括学习新技术) 1 1
· Design Spec 生成设计文档 1 1
· Design Review 设计复审 2 2
· Coding Standard 代码规范 5 5
· Design 具体设计 1 1
· Coding 具体编码 5 8
· Code Review 代码复审 3 3
· Test 测试(自我测试,修改代码,提交修改) 4 6
Reporting 报告 2 2
· 测试报告 0.5 0.5
· 计算工作量 1 1
· 并提出过程改进计划 0.5 0.5

猜你喜欢

转载自www.cnblogs.com/tianshizhao/p/9763351.html