首页 > 其他 > 详细

第四次作业

时间:2018-10-15 01:03:59      阅读:212      评论:0      收藏:0      [点我收藏+]

作业要求来源于: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

 

第四次作业

原文:https://www.cnblogs.com/rglhc/p/9788965.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!