四则运算 石亚佩
四则运算代码
#include <stdio.h>
#include <stdlib.h>
double get_oprand()
{
double value;
scanf("%lf", &value);
return value;
}
char get_operator()
{
char op;
do
{
scanf("%c", &op);
} while (op == ' ');
return op;
}
int prior(char op1, char op2)
{
int flag;
if (op1 == '*' || op1 == '/')
if (op2 == '+' || op2 == '-')
flag = 1;
else flag = 0;
else if (op2 == '*' || op2 == '/')
flag = -1;
else flag = 0;
return flag;
}
double evaluates(double left, char op, double right)
{
{
switch (op)
{
case '+':return left + right; break;
case '-':return left - right; break;
case '*':return left * right; break;
case '/':
if (right != 0)
return left / right;
else
{ //除数为零
printf("除数不合法,检查是否为零\n");
exit(1); //强制结束程序
}
default:return 0.0;
}
}
}
int main()
{
double value1, value2, value3, result;
char op1, op2;
value1 = get_oprand();
op1 = get_operator();
value2 = get_oprand();
op2 = get_operator();
while (op2 != '\n')
{
value3 = get_oprand();
if (prior(op2, op1))
value2 = evaluates(value2, op2, value3);
else
{
value1 = evaluates(value1, op1, value2);
op1 = op2;
value2 = value3;
}
op2 = get_operator();
}
result = evaluates(value1, op1, value2);
printf("结果为%lf\n", result);
return 0;
}
| 任务内容 | 计划共完成需要的时间(h) | 实际完成需要的时间(h) |
|---|---|---|
| 计划 | 9 | 12 |
| 开发 | 9 | 13 |
| 需求分析 (包括学习新技术) | 0.5 | 0.5 |
| · 生成设计文档 | 1 | 2 |
| · 设计复审 (和同事审核设计文档) | 1 | 0.5 |
| 代码规范 (为目前的开发制定合适的规范) | 1.5 | 1.5 |
| 具体设计 | 1 | 1.5 |
| 具体编码 | 2.5 | 2.5 |
| · 代码复审 | 1 | 1.5 |
| · 测试(自我测试,修改代码,提交修改) | 1 | 1.5 |
| 报告 | 1.5 | 3.5 |
| · 测试报告 | 1 | 1.5 |
| 计算工作量 | 1 | 2 |
| · 事后总结 ,并提出过程改进计划 | 1 | 0.5 |
个人总结:
这次个人项目的完成让我深刻认识到了自身的不足,所学的专业知识还远远不够,需要更多努力!从编写代码到测试代码中间碰到了很多问题,一步步的修改错误,改进代码,最终完成。
通过这次编写代码我决定要继续学习更多知识,充实自己,写好代码!
计应191西 石亚佩

浙公网安备 33010602011771号