四则运算
一、作业信息
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11377 |
这个作业的目标 | 能对需求进行分析并实现;编码格式规范;学习博客撰写 |
学号 | 3180701315 |
二、作业要求
写一个能自动生成小学四则运算题目的程序,然后在此基础上扩展:
1)除了整数以外,还要支持真分数的四则运算,例如:1/6+1/8=7/24
2)程序要求能处理用户的输入,判断对错,累积分数
3)程序支持可以由用户自行选择加、减、乘、除运算
4)使用-n参数控制生成题目的个数,例如Myapp.exe -n 10,将生成10个题目
三、代码部分
3.1整数的四则运算
3.1.1整数加法
void z_add()
{
int a,b;
int result,result1;
a=rand1(0);
b=rand1(0);
result=a+b;
printf("%d+%d= ",a,b);
printf("请输入你的正确答案:");
scanf("%d",&result1);
if(result==result1)
{
printf("结果比较正确!总得分+1");
zongdefen++;
}
else
{
printf("结果比较错误!总得分-1 ");
zongdefen--;
}
}
3.1.2整数减法
void z_sub()
{
int a,b;
int result,result1;
a=rand1(0);
b=rand1(0);
result=a-b;
printf("%d-%d= ",a,b);
printf("请输入你的正确答案:");
scanf("%d",&result1);
if(result==result1)
{
printf("结果比较正确!总得分+1");
zongdefen++;
}
else
{
printf("结果比较错误!总得分-1 ");
zongdefen--;
}
}
3.1.3整数乘法
void z_mul()
{
int a,b;
int result,result1;
a=rand1(0);
b=rand1(0);
result=a*b;
printf("%d*%d= ",a,b);
printf("请输入你的正确答案:");
scanf("%d",&result1);
if(result==result1)
{
printf("结果比较正确!总得分+1");
zongdefen++;
}
else
{
printf("结果比较错误!总得分-1 ");
zongdefen--;
}
}
3.1.4整数除法
void z_div()
{
int a,b;
int result,result1;
a=rand1(0);
b=rand1(2);
result=a/b;
printf("%d / %d= ",a,b);
printf("请输入你的正确答案:");
scanf("%d",&result1);
if(result==result1)
{
printf("结果比较正确!总得分+1");
zongdefen++;
}
else
{
printf("结果比较错误!总得分-1 ");
zongdefen--;
}
}
3.2真分数四则运算
3.2.1分数加法
void F_add()
{
int a,b,c,d;
int result,result1;
a=rand1(0);
b=rand1(1);
c=rand1(0);
d=rand1(1);
result=a/b+c/d;
printf("%d/%d + %d/%d= ",a,b,c,d);
printf("请输入你的正确答案:");
scanf("%d",&result1);
if(result==result1)
{
printf("结果比较正确!总得分+1");
zongdefen++;
}
else
{
printf("结果比较错误!总得分-1 ");
zongdefen--;
}
}
3.2.2分数减法
void F_sub()
{
int a,b,c,d;
int result,result1;
a=rand1(0);
b=rand1(1);
c=rand1(0);
d=rand1(1);
result=(a*d-b*c)/(b*d);
printf("%d/%d - %d/%d= ",a,b,c,d);
printf("请输入你的正确答案:");
scanf("%d",&result1);
if(result==result1)
{
printf("结果比较正确!总得分+1");
zongdefen++;
}
else
{
printf("结果比较错误!总得分-1 ");
zongdefen--;
}
}
3.2.3分数乘法
void F_mul()
{
int a,b,c,d;
int result,result1;
a=rand1(0);
b=rand1(1);
c=rand1(0);
d=rand1(1);
result=(a*c)/(b*d);
printf("%d/%d * %d/%d= ",a,b,c,d);
printf("请输入你的正确答案:");
scanf("%d",&result1);
if(result==result1)
{
printf("结果比较正确!总得分+1\n");
zongdefen++;
}
else
{
printf("结果比较错误!总得分-1\n ");
zongdefen--;
}
}
3.2.4分数除法
void F_div()
{
int a,b,c,d,n,m;
float result,result1;
a=rand1(1);
b=rand1(1);
c=rand1(1);
d=rand1(1);
n=a*d;
m=b*c;
result=n/m;
printf("%d/%d / %d/%d= ",a,b,c,d);
printf("请输入你的正确答案:");
scanf("%d",&result1);
if(result==result1)
{
printf("结果比较正确!总得分+1 \n");
zongdefen++;
}
else
{
printf("结果比较错误!总得分-1 \n");
zongdefen--;
}
}
3.3其他函数
3.3.1主函数
void main()
{
int y;
printf("生成题数:");
scanf("%d",&N);
while(N!=0)
{
printf("1.整数运算 2.分数运算\n");
printf("请按1--2键选择运算");
scanf("%d",&y);
switch(y)
{
case 1:
z_count();
break;
case 2:
f_count();
break;
}
N--;
}
printf("\n您的最终得分为%d\n",zongdefen);
}
3.3.2随机取值函数
iint rand1(int b)
{
int a;
a=rand()%100+b;
return a;
}
四、运行截图
4.1加法
整数加法
真分数加法
4.2减法
整数减法
真分数减法
4.3乘法
整数乘法
真分数乘法
4.4除法
整数除法
真分数除法
五、个人小结
psp表格
psp2.1 | 任务内容 | 计划完成需要的时间(min) | 实际完成需要的时间(min) |
---|---|---|---|
Planning | 计划 | 30 | 25 |
Estimate | 估计这个任务需要多少时间,并规划大致工作步骤 | 10 | 5 |
Development | 开发 | 120 | 148 |
Analysis | 需求分析(包括学习新技术) | 20 | 15 |
Design Spec | 生成设计文档 | 20 | 20 |
Design Review | 设计复审 | 15 | 10 |
Coding Standard | 代码规范 | 10 | 10 |
Design | 具体设计 | 20 | 20 |
Coding | 具体编码 | 40 | 45 |
Code Review | 代码复审 | 9 | 10 |
Test | 测试(自我测试,修改代码,提交修改) | 40 | 45 |
Reporting | 报告 | 10 | 20 |
Test Report | 测试报告 | 5 | 5 |
Size Measurement | 计算工作量 | 10 | 10 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 10 | 10 |