第四次作业:个人项目-小学四则运算 “软件”之初版
这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186。
我的github远程仓库的地址:https://github.com/ZhangCheung/text
一、题目要求
像《构建之法》的人物阿超那样,写一个能自动生成小学四则运算题目的命令行 “软件”。具体要求:任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。 如:23 - 3 * 4 = 11。
扩展要求:
1) 要求能出和真分数 (二分之一, 十二分之五,等)相关的练习题。
2) 并且要求能处理用户的输入,并判断对错,打分统计。 要求能处理用户输入的真分数, 如 1/2, 5/12 等。
二、设计思路
工具:c++
语言:C语言
思路:创建随机数和运算符进行计算
三、主要代码
void add()
{
int a,b,c,d,x,i;
printf("请输入题数");
scanf("%d",&x);
for(i=1;i<=x;i++)
{
a=rand()%100;
b=rand()%100;
c=rand()%100;
printf("请回答:\n\t\t %d + %d + %d = ",a,b,c);
scanf("%d",&d);
if(a+b+c==d)
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
}
}
void minu()
{
int a,b,c,d,x,i;
printf("请输入题数");
scanf("%d",&x);
for(i=1;i<=x;i++)
{
a=rand()%100;
b=rand()%100;
c=rand()%100;
printf("请回答:\n\t\t %d - %d - %d= ",a,b,c);
scanf("%d",&d);
if(a-b-c==d)
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
}
}
void mul()
{
int a,b,c,d,x,i;
printf("请输入题数");
scanf("%d",&x);
for(i=1;i<=x;i++)
{
a=rand()%100;
b=rand()%100;
c=rand()%100;
printf("请回答:\n\t\t %d * %d * %d = ",a,b,c);
scanf("%d",&d);
if(a*b*c==d)
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
}
}
void di()
{
int a,b,c;
a=rand()%100;
b=rand()%100;
printf("请回答:\n\t\t %d / %d = ",a,b);
scanf("%d",&c);
if(a/b==c)
{
printf("回答正确!\n");
right++;
}
else
{
printf("回答错误!\n");
wrong++;
}
}
四、结果展示
五、主要问题
C语音自从大一经常使用到现在不怎么使用,多少有点生疏了,很多代码都要想很久才能继续往下做,希望后面能多加熟悉运用,熟能生巧,考虑更多的方面,比如容错,还需要费很大的功夫才能考虑全面。
六、时间表
PSP2.1 | Personal Software Process Stages | 预计时间(分钟) | 实际时间(分钟) |
Planning | 计划 | 10 | 40 |
· Estimate | 估计这个任务需要多少时间 | 180 | 200 |
Development | 开发 | 120 | 130 |
· Analysis | 需求分析 (包括学习新技术) | 20 | 15 |
· Design Spec | 生成设计文档 | 0 | 0 |
· Design Review | 设计复审 | 10 | 5 |
· Coding Standard | 代码规范 | 10 | 30 |
· Design | 具体设计 | 20 | 40 |
· Coding | 具体编码 | 130 | 150 |
· Code Review | 代码复审 | 30 | 30 |
· Test | 测试(自我测试,修改代码,提交修改) | 60 | 60 |
Reporting | 报告 | 30 | 30 |
· | 测试报告 | 10 | 10 |
· | 计算工作量 | 10 | 5 |
· | 并提出过程改进计划 | 10 | 10 |