html表单四则运算,四则运算(结对项目) - osc_hb552m85的个人空间 - OSCHINA - 中文开源技术交流社区...

Github地址:https://github.com/wln772777917/wl.sizeyunsuan

成员:08111602_1120161935_王连宁

08111602_1120161917_李家葶

PSP表格

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

5

10

· Estimate

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

5

10

Development

开发

· Analysis

· 需求分析 (包括学习新技术)

120

800

· Design Spec

· 生成设计文档

30

60

· Design Review

· 设计复审 (和同事审核设计文档)

0

0

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

10

30

· Design

· 具体设计

60

120

· Coding

· 具体编码

180

500

· Code Review

· 代码复审

0

0

· Test

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

120

800

Reporting

报告

60

120

· Test Report

· 测试报告

30

30

· Size Measurement

· 计算工作量

10

10

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

30

120

合计

660

2610

核心代码:

1.随机生成四则运算,后来加上^运算。

void aftersz(ZX number[100])

{

int i=rand()%10;

if(i<=2)

{

int j=rand()%5;

if(j==0)

number[t].a='+';

else if(j==1)

number[t].a='-';

else if(j==2)

number[t].a='*';

else if(j==3)

number[t].a='/';

else number[t].a='^';

number[t].b=0;

t++;

afterfh(number);

}

else if(i>=3&&i<=6)

{

if(n1==1)

{

aftersz(number);

}

else

return ;

}

else//右括号

{

if(n>0&&number[t-2].a!='('&&number[t-2].b!=0)

{

number[t].b=0;

number[t].a=')';

n--;

t++;

aftersz(number);

}

else

aftersz(number);

}

}

2.利用堆栈计算正确答案

int convert(ZX number[100])

{

stacks2;

for(int i=0;i

{

if(number[i].b==1)//操作数

s2.push(number[i]);

else

{

if(number[i].a==')')

{

while(s1.top().a!='(')

{

s2.push(s1.top());

s1.pop();

}

s1.pop();

}

else if(s1.empty()||s1.top().a=='('||number[i].a=='(')

s1.push(number[i]);

else

{

if(number[i].b==0&&(number[i].a=='*'||number[i].a=='/'||number[i].a=='^')&&(s1.top().a=='+'||s1.top().a=='-'))

s1.push(number[i]);

else

{

s2.push(s1.top());

s1.pop();

i--;

}

}

}

}

while(!s1.empty())

{

s2.push(s1.top());

s1.pop();

}

while(!s2.empty())

{

ZX s=s2.top();

s2.pop();

s1.push(s);

}

ZX c1;

int c2,c3,c4;

stacks3;

while(!s1.empty())

{

c1=s1.top();

s1.pop();

if(c1.b==1)

s3.push(c1.a);

else

{

c2=s3.top();

s3.pop();

c3=s3.top();

s3.pop();

switch(c1.a)

{

case '+':c4=c3+c2;break;

case '-':c4=c3-c2;break;

case '*':c4=c3*c2;break;

case '/':c4=c3/c2;break;

case '^':c4=pow(c3,c2);break;

}

s3.push(c4);

}

}

return s3.top();

}

3.倒计时功能

printf("Countdown start:\n");

for(int time=20;time>=0;time--)

{

Sleep(1000);

printf("\r%2d",time);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值