第四次作业:个人项目-小学四则运算 “软件”之初版
本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186
远程github库:https://github.com/huangzhenjie520/hzj1
一、题目要求
像《构建之法》的人物阿超那样,写一个能自动生成小学四则运算题目的命令行 “软件”。具体要求:任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。 如:23 - 3 * 4 = 11。
扩展要求:
1) 要求能出和真分数 (二分之一, 十二分之五,等)相关的练习题。
2) 并且要求能处理用户的输入,并判断对错,打分统计。 要求能处理用户输入的真分数, 如 1/2, 5/12 等。
二、设计思路
工具:codeblocks
语言:C语言
思路:创建随机数和运算符进行计算
三、主要代码
1 int random(double start, double end) 2 { 3 return (int)(start+(end-start)*rand()/(RAND_MAX+ 1.0)); 4 } 5 int result(int num1,int num2,char op) 6 { 7 int Result; 8 switch(op) 9 { 10 case '+': 11 Result=num1+num2; 12 break; 13 case '-': 14 Result=num1-num2; 15 break; 16 case '*': 17 Result=num1*num2; 18 break; 19 case '/': 20 Result=num1/num2; 21 break; 22 default: 23 printf("运算符错误!\n"); 24 } 25 return Result; 26 } 27 int yunsuan(int Result,int num3,char op1) 28 { 29 int Result1; 30 switch(op1){ 31 case '+': 32 Result1=Result+num3; 33 break; 34 case '-': 35 Result1=Result-num3; 36 break; 37 case '*': 38 Result1=Result*num3; 39 break; 40 case '/': 41 Result1=Result/num3; 42 break; 43 default: 44 printf("运算符错误!\n"); 45 } 46 return Result1; 47 }
四、结果展示
五、主要问题
对c语言已经忘记了很多,靠上网查资料慢慢完成这次的作业。
六、时间表
PSP2.1 | Personal Software Process Stages | 预计时间(分钟) | 实际时间(分钟) |
Planning | 计划 | 10 | 30 |
· Estimate | 估计这个任务需要多少时间 | 180 | 320 |
Development | 开发 | 120 | 150 |
· Analysis | 需求分析 (包括学习新技术) | 20 | 20 |
· Design Spec | 生成设计文档 | 0 | 0 |
· Design Review | 设计复审 | 10 | 5 |
· Coding Standard | 代码规范 | 10 | 10 |
· Design | 具体设计 | 20 | 30 |
· Coding | 具体编码 | 130 | 210 |
· Code Review | 代码复审 | 30 | 20 |
· Test | 测试(自我测试,修改代码,提交修改) | 60 | 100 |
Reporting | 报告 | 30 | 30 |
· | 测试报告 | 10 | 10 |
· | 计算工作量 | 10 | 10 |
· | 并提出过程改进计划 | 10 | 10 |