这个作业属于哪个课程 | https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11377 |
这个作业的目标 | 学会工程化方法变成及markdown使用方法 |
学号 | 3180701329 |
二.题目要求 |
写一个能自动生成小学四则运算题目的程序,然后在此基础上扩展:
1)除了整数以外,还要支持真分数的四则运算,例如:1/6+1/8=7/24
2)程序要求能处理用户的输入,判断对错,累积分数
3)程序支持可以由用户自行选择加、减、乘、除运算
4)使用-n参数控制生成题目的个数,例如Myapp.exe -n 10,将生成10个题目
三.代码提交
- 源程序
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void main()
{
int c,e,f;
int x,right=0,wrong=0,score=0;
while(1)
{
printf("请输入你要选择的操作:0.加法 1.减法 2.乘法 3.除法
");
scanf("%d",&x);
srand((int)time(0));
c=rand()%100;
e=rand()%100;
switch(x)
{
case 0:
printf("%d + %d =",c,e);
break;
case 1:
printf("%d - %d =",c,e);
break;
case 2:
printf("%d * %d =",c,e);
break;
case 3:
printf("%d ÷ %d =",c,e);
break;
}
printf("请输入你的答案:
");
scanf("%d",&f);
switch(x)
{
case 0:
if(f==c+e)
{
printf("计算正确!
");right++;score++;
}
else
{
printf("计算错误!正确答案是 %d
",c+e);wrong++;
}
break;
case 1:
if(f==c-e)
{
printf("计算正确!
");right++;score++;
}
else
{
printf("计算错误!正确答案是 %d
",c-e);wrong++;
}
break;
case 2:
if(f==c*e)
{
printf("计算正确!
");right++;score++;
}
else
{
printf("计算错误!正确答案是 %d
",c*e);wrong++;
}
break;
case 3:
if(f==c/e)
{
printf("计算正确!
");right++;score++;
}
else
{
printf("计算错误!正确答案是 %d
",c/e);wrong++;
}
break;
}
printf("按任意键继续,q则退出!
");
fflush(stdin);
if(getchar()=='q')
break;
}
printf("共答对%d道题,共答错%d道题,得分为%d
",right,wrong,score);
}
- 运行截图
四.个人小结
1)psp表:
psp2.1 | 任务内容 | 计划完成所需的时间(min) | 实际完成所需的时间(min) |
---|---|---|---|
Planning | 计划 | 30 | 30 |
Estmate | 估计这个任务需要多少时间,并规划大致工作步骤 | 120 | 200 |
Development | 开发 | 20 | 20 |
Analysis | 需求分析(包括学习新技术) | 15 | 15 |
Design Spec | 生成设计文档 | 20 | 20 |
Design review | 设计审查 | 5 | 10 |
Coding Standard | 代码规范 | 15 | 5 |
Design | 具体设计 | 20 | 20 |
Coding | 具体代码 | 30 | 25 |
Code Review | 代码复查 | 10 | 15 |
Test | 测试(自我测试,修改代码,提交修改) | 5 | 5 |
Reporting | 报告 | 10 | 10 |
Test Report | 测试报告 | 10 | 10 |
Size Measurement | 计算工作量 | 5 | 5 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 10 | 10 |
2)心得体会:
通过这次作业学会了工程化方法变成及markdown使用方法。
在这次作业中整数的四则运算较简单,真分数的四则运算则较难,由于此次任务时间较短,因此此次作业我并没有完成真分数的四则运算部分,后面我会继续完成这部分任务。