php四则运算出题器_四则运算出题器3

一、实验题目

这次我的程序,是对四则运算2的进一步扩展

我选的是第一个方向:程序能够接受用户输入的答案,并能判定对错,最后还可以给出总共对/错的数量。

二、实验扩展思想

1、因为我给每个题目都编了序号,所以再输入答案的时候只需按着题目的顺序输入就可以了。

2、判断对错,我是事先定义了一个数组,来存放正确答案,最后把用户输入的答案和正确答案做比较即可

3、给出对/错的数量,这个比较容易,只需要设计两个变量,一个用来计算正确的个数,一个用来计算错误的个数,最后给出答案即可。

三、实验代码

//作者: 信1201-2班 司新红

#include

#include

#include

void hycc()

{

int f;//定义要测试的是四则运算是几进制

cout<

cin>>f;

int x,y,z,t; //x,y分别表示所产生的两个数,z来控制做加减乘除

int e;//输入每行算数题的个数

srand(time(NULL));

int n;

int b;//表示有无负数

int a;//用来输入行间距

int d;//代表输入的答案

float daan[100];//代表正确答案

int zq=0;//用来表示正确答案的个数

int cw=0;//用来表示错误答案的个数

cout<

cin>>n; //n代表出题的个数

cout<

cin>>b;

cout<

cin>>e;

cout<

cin>>a;

cout<

for(int i=0;i

{

x=rand()%f;

y=rand()%f;

z=rand()%4;

switch(z)

{

case 0:

cout<

daan[i+1]=x+y;

break;

case 1:

if(b==1)

{

if(x

{

t=x;

x=y;

y=t;

}

cout<

}

else if(b==0)

{

cout<

}

daan[i+1]=x-y;

break;

case 2:

cout<

daan[i+1]=x*y;

break;

case 3:

if(y!=0)

{

cout<

}

else

{

i=i-1;

}

daan[i+1]=(float)x/y;

break;

default:

cout<

break;

}

if((i+1)%e==0)

{

for(int c=0;c<=a;c++)

{

cout<

}

}

if((i+1)==n)

{

cout<

}

}

for(i=1;i<=n;i++)

{

cout<

cout<

cin>>d;

if(d==daan[i])

{

cout<

cout<

zq=zq+1;

}

else

{

cout<

cout<

cw=cw+1;

}

}

cout<

cout<

}

void bhycc()

{

int f;

cout<

cin>>f;

int e;//输入每行算数题的个数

int x,y,z,t; //x,y分别表示所产生的两个数,z来控制做加减乘除

srand(time(NULL));

int n;//n代表出题个数

int b;//代表加减有无负数

int a;//用来输入行间距

int d;//代表输入的答案

int daan[100];//代表正确答案

int zq=0;//用来表示正确答案的个数

int cw=0;//用来表示错误答案的个数

cout<

cin>>n; //n代表出题的个

cout<

cin>>b;

cout<

cin>>e;

cout<

cin>>a;

cout<

for(int i=0;i

{

x=rand()%f;

y=rand()%f;

z=rand()%2;

switch(z)

{

case 0:

cout<

daan[i+1]=x+y;

break;

case 1:

if(b==1)

{

if(x

{

t=x;

x=y;

y=t;

}

cout<

}

else if(b==0)

{

cout<

}

daan[i+1]=x-y;

break;

default:

cout<

break;

}

if((i+1)%e==0)

{

for(int c=0;c<=a;c++)

{

cout<

}

}

if((i+1)==n)

{

cout<

}

}

for(i=1;i<=n;i++)

{

cout<

cout<

cin>>d;

if(d==daan[i])

{

cout<

cout<

zq=zq+1;

}

else

{

cout<

cout<

cw=cw+1;

}

}

cout<

cout<

}

int main()

{

int c;//c代表输入是否继续的数字

char ch;

cout<

cin>>ch;

if(ch=='Y'||ch=='y')

{

hycc();

cout<

}

else if(ch=='N'||ch=='n')

{

bhycc();

cout<

}

else

{

cout<

}

cout<

cin>>c;

if(c==0)

{

cout<

main();

}

else

{

cout<

return 0;

}

return 0;

}

四运行结果

五、总结

这次的题目有几个选向,由于我的编程能力不强,所以 我选择了第一个方向,在编写程序时还遇到了一定的困难,比如在做除法的时候,由于定义的正确答案的数组是整形,所以导致除法计算一直不正确,所以我选择了把数组定义为浮点型。我在以后的时间里一定会多加联系,争取再实现另外一个方向

PSP

学生     司新红

日期  2014.3.17

教师  王建民

程序号_______________

项目计划总结

编程

阅读书籍

课后复习

日总计

周日

周一

周二

30

30

90

150

周三

90

30

120

周四

120

30

150

周五

周六

周总计

240

90

90

420

时间记录总结

日期

开始

结束

中断时间

净时间

活动

备注

C

U

3月17日

4:00

5:00

160

编程

8:00

9:30

30

60

复习

写作业

10:00

10:30

30

阅读书籍

3月18日

10:00

11:30

15

75

编程

休息

10:00

10:30

30

阅读书籍

3月19日

7:00

9:00

120

编程

缺陷记录日志

日期

编号

类型

引入阶段

排除阶段

修复时间

修复缺陷

3月17日

01

程序

编码

编译

20min

求几个数中最大值时一直报错,最后我把所求的和放在了一个数组中

3月18日

02

程序

编码

编译

10min

忘记给正确答案的个数和错误答案的个数赋值

03

程序

编码

编译

30min

计算除法的正确答案时,不能是浮点型,然后我就把答案这个数组定义成了浮点型

3月19日

04

程序

编码

编译

10min

在不含有乘除的函数中,忘了给正确答案赋值,导致结果报错

05

程序

编码

编译

10min

变量用错,运行时运行无响应了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值