码迷,mamicode.com
首页 > 其他好文 > 详细

题目一小学四则运算

时间:2017-03-05 20:55:08      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:问题   数字   程序   http   ima   sub   wrong   .net   ica   

a.需求分析

从《构建之法》第一章的 “程序” 例子出发,像阿超那样,花二十分钟写一个能自动生成小学四则运算题目的命令行 “软件”,满足以下需求:

  1. 除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24
  2. 运算符为 +, ?, ×, ÷
  3. 并且要求能处理用户的输入,并判断对错,打分统计正确率。
  4. 要求能处理用户输入的真分数, 1/2, 5/12 等
  5. 使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目
    Myapp.exe -n 10

b.功能设计

1.支持整数的四则运算(除法运算是浮点型)

2.可以自主选择答题的数目,即随时可以终止答题

3.答题结束后会统计正确率

 

c.设计实现

c语言进行编程,用Visual c++进行编译生成两个随机数分别进行加减乘除的各个操作,定义rightwrong两个变量来统计正确和错误的题目个数,用正确的个数除于总题目数得到正确率,除法用浮点型是为了让结果更准确。

d.代码说明

这是主函数:

int main()
{
void add();
void subtract();
void multiply();
void divide();

int choise;
int on=0;

srand(time(0));//设置时间种子,否则每次运行生成的随机数都是一样的
printf("\n简易四则运算\n");
while(1)
{
printf("\t\t结束答题(请输入3\n");
if(on==0)
{
choise=rand()%4;
switch(choise)
{
case 0:
add();
break;
case 1:
subtract();
break;
case 2:
multiply();
break;
case 3:
divide();
break;
}
}
printf("\n\t继续运算(请输入1\n");
printf("\n\t查看正确率(请输入2\n");
// printf("\n\t结束(请输入3\n");
scanf("%d",&on);
if(on==1)
{
on=0;
}
else if (on==2)

accuracy=right/(right+wrong); 
printf("正确率为%.2f\n",accuracy);
}
else if(on==3) 
{
break;
}
}

}

e.测试运行

 技术分享

 

 

 

 

评估时间

 技术分享

 

 源代码:

 https://coding.net/u/iloveoatmeal/p/Demo/git/blob/master/one

实验总结:

这次的实验我是计划用周末两天完成的,然而所花的时间完全超过了我的预期,而且完成度也大多没达到,然而就这么一个low的程序都花了我整整一个周末的时间去图书馆做,还是在同学的帮助下,说实话,我对编程真的提不起兴趣(这应该就是我几乎编程课都挂科的原因吧),但有时候又不得不做,请原谅我的坦诚!但每一次的实验我都会自己去做,至于遇到的问题,如每次随机得到的数字都是相同的,加一个#include<time.h>的头文件就解决了,都是一些小问题就不多说了。

 

题目一小学四则运算

标签:问题   数字   程序   http   ima   sub   wrong   .net   ica   

原文地址:http://www.cnblogs.com/wacmp/p/6506465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!