第四次作业

作业要求来源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186

我的github地址:https://github.com/065lihaochun/lihaochun

 

一、需求分析

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

二、功能设计

   1、根据用户输入的数字自动产生相应数目的三项式四则运算式;

   2、根据用户输入的答案,判断用户输入的答案是否正确;

   3、程序所产生的符号和数字均为随机数字。

三、详细设计

  1、数据处理

  随机数和随机符号的产生代码:

num1 = rand() % 100+1;
num2 = rand() % 100+1;
num3 = rand() % 100+1;
switch (num1 % 4)
{
case 0:
op1 = '+';
break;
case 1:
op1 = '-';
break;
case 2:
op1 = '*';
break;
case 3:
op1 = '/';
break;
default:
break;
}

switch (num2 % 4)
{
case 0:
op2 = '+';
flag = 0;
break;
case 1:
op2 = '-';
flag = 0;
break;
case 2:
op2 = '*';
if((op1=='*')||(op1=='/')) flag = 0;
else flag = 1;
break;
case 3:
op2 = '/';
if((op1=='*')||(op1=='/')) flag = 0;
else flag = 1;
break;
default:
break;
}

 

输出一个式子:

printf("%d %c %d %c %d = ",num1,op1,num2,op2,num3);

判断式子的优先级:

if(flag==0)
{
resultTrue = 0;
switch (op1)
{
case '+':
resultTrue = num1+num2;
break;
case '-':
resultTrue = num1-num2;
break;
case '*':
resultTrue = num1*num2;
break;
case '/':
resultTrue = num1/num2;
break;
default:
break;
}
switch (op2)
{
case '+':
resultTrue += num3;
break;
case '-':
resultTrue -= num3;
break;
case '*':
resultTrue *= num3;
break;
case '/':
resultTrue /= num3;
break;
default:
break;
}
}
else
{
resultTrue = 0;
switch (op2)
{
case '+':
resultTrue = num2+num3;
break;
case '-':
resultTrue = num2-num3;
break;
case '*':
resultTrue = num2*num3;
break;
case '/':
resultTrue = num2/num3;
break;
default:
break;
}
switch (op1)
{
case '+':
resultTrue = num1 + resultTrue;
break;
case '-':
resultTrue = num1 - resultTrue;
break;
case '*':
resultTrue = num1 * resultTrue;
break;
case '/':
resultTrue = num1 / resultTrue;
break;
default:
break;
}

显示用户输入的答案:

if (result == resultTrue)
{
printf("结果正确!\n");
score++;
}
else
printf("结果错误!\n");
} while(count<N);
printf("你的得分是%d",score);
return 0;
}

四、运行结果

五、过程耗时估计统计表

PSP2.1

Personal Software Process Stages

Time Senior Studenh

Timeh

Planning

计划

0.5

0.5

Estimate

估计这个任务需要多少时间

5

3

Development

开发

4

5

Analysis

需求分析

0.5

0.5

Design Spec

生成设计文档

0

0

Design Review

设计复审

0.5

0.5

Coding Standard

代码规范

0.5

0.5

Design

具体设计

0.5

1

Coding

具体编码

4

4

Code Review

代码复审

1

0.3

Test

测试(自我测试,修改代码,提交修改)

0.5

0.5

Reporting

报告

1

1

 

测试报告

0

0

 

计算工作量

5

4

 

并提出过程修改计划

0

0

 

posted on 2018-10-15 00:33  免疫  阅读(205)  评论(2编辑  收藏  举报