任务要求:使用C或Java语言完成一个自动生成四则运算试题的程序。软件基本功能如下。

(1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内

(2)剔除重复算式。  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式

(3)题目数量可定制

(4)相关参数可控制

是否包含乘法和除法

操作数数值范围可控(如操作数 在100以内   还是1000以内)

操作数是否含负数

(5)生成的运算题存储到外部文件result.txt中

一. 需求分析

为应对小学生对于四则运算熟悉练习的掌握度,减轻出题员的负担,故设计一款程序能自动编写四则运算里的题目。

二. 功能设计

基本功能

能自动生成算数式

算数式符号随机生成

扩展功能

对生成的算数式能够自动计算并且给出算数答案

算数式可以控制是否存在负数

算数式可以控制是否存在乘除表达式

生成的最后结果会保存在result.txt文件中方便查看

算数式可以控制其操作范围

三. 设计实现

C语言

引用库

引用库

引用库

计算负数时乘以2然后减去自身得出值

fopen函数来储存输出值

四. 测试运行

测试运行结果在控制台里面与在文本输出里面的表现

五. 代码片段

rand()用来生成随机值,使用它来获取n的值,就可以对下面的op赋值并计算相对应的算式。

for(a=0;a)

{

i=rand()%z+1;

j=rand()%z+1;

n=rand()%4;if(n==0){op='+'; q=i+j;}if(n==1){op='-'; q=i-j;}if(n==2){op='*'; q=i*j;}if(n==3){op='/'; q=i/j;}

printf("%d%c%d=%d\n",i,op,j,q);

fprintf(fp,"%d%c%d=%d\n",i,op,j,q);

}

如果想生成负数那么就对其上限乘以2然后在减去自身就是想要的答案。

i=rand()%(2*z)-z+1;

j=rand()%(2*z)-z+1;

n=rand()%2;if(n==0){op='+'; q=i+j;}if(n==1){op='-'; q=i-j;}

六. 总结

自己写的if判断语句有点多,而且我写注释的习惯不好造成我自己有时候都看不明白自己写的东西,不过经过这一次的经验与训练,相信下一次我定能在原有基础上做到更好。

七. PSP

PSP

任务内容

计划共完成需要的时间(min)

实际完成需要的时间(min)

Planning

计划

8

6

Estimate

估计这个任务需要多少时间,并规划大致工作步骤

8

6

Development

开发

66

64

Analysis

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

6

10

Design

具体设计

10

12

Coding

具体编码

40

30

Test

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

10

12

Reporting

报告

3

3

Postmortem & Process Improvement Plan

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

3

3

c语言随机生成算式的对错判断,蔡奇宏软件工程第二次作业--四则运算相关推荐

  1. 易语言随机生成MAC源码

    这里推荐一个生成随机模拟MAC的源码,非常简洁实用,比如我们在hook物理网卡地址时,需要生成这样的效果. 易语言api hook GetAdaptersAddresses 劫持网卡物理地址 测试输入 ...

  2. java实现加减乘除运算符随机生成十道题并判断对错_简单小程序——产生三十道小学四则运算题目...

    题目要求程序可以生成三十道小学四则运算题目. 因为要随机生成题目,则需要产生随机数,因此我上网搜索了生成随机数的方法,选择了使用Random类得到规定范围内的随机数.因为一个运算需要三个元素,两个参与 ...

  3. C语言 - 随机生成数字 和 汉字

    目录 0 写在前面 1 随机生成数字(整数 和 浮点数) 1.1 rand() 简析 本质 使用注意 rand()取值范围: 1.2 在 [ m, n ] 中随机取数(整 + 浮) 1.2.1 注意: ...

  4. 用R语言随机生成30个自然数, 然后把3的倍数的储存到一个向量,3k+1形式的数储存到另外一向量, 3k+2形式储存到第三个向量。写出R代码。

    此篇博客主要讲述R语言的应用,随机生成30个自然数(范围0-100),存入向量x, 然后把3的倍数的储存到一个向量x1,3k+1形式的数储存到另外一向量x2, 3k+2形式储存到第三个向量x3.写出R ...

  5. c语言随机生成1到100随机数_VB之生成随机数

    VB6.0制作的一个生成随机数的程序,点击开始后,每个标签框不停转动,随机生成1~10以内的一位数字,点击停止,则转动停止,这个程序主要应用于活动时抽奖需要,下面是整个程序功能的实现. 程序界面主要如 ...

  6. c语言随机生成n个数求最小值,C语言程序:从N个数中随机取出100个不同的数

    /**你题目中的N个数至少得大于100吧.下面的程序N个数是随机生成 你的N个数是?同时这个程序有错误的话请告诉我. */ /* *从N个数中随机取出100个不同的数 *@author:banxi19 ...

  7. C语言随机生成连连看地图,MFC实现连连看游戏之地图显示

    MFC实现连连看游戏前期过程中遇到的一大问题是如何将地图显示出来,最后还是看了其他人的源码才搞定. 首先是地图数组的生成,这个网上找有很多,我用的是随机生成地图的种类,然后将其放在两个连续的位置,最后 ...

  8. C语言随机生成成绩排序,如何实现以下功能给出1000个通过随机数生成的数据,分别用直接插入排序法、冒泡排序法、快速排序法进行排序...

    已结贴√ 问题点数:20 回复次数:2 如何实现以下功能给出1000个通过随机数生成的数据,分别用直接插入排序法.冒泡排序法.快速排序法进行排序 #include #include #include ...

  9. java实现加减乘除运算符随机生成十道题并判断对错_2020年Java面试题(3年的工作总结),最全的知识点总结...

    这份Java面试题整整花了三个月的时间来整理,都是自己再工作中总结出来,记住多少就写多少,希望这份资料可以帮助你们,文末有其余部分资料的领取方式. Redis12道面试题 1.什么是Redis? 答: ...

  10. c语言随机生成整数存放一维数组_文科生学 Python 系列 7: Numpy 数组/索引和切片...

    第四课:本课内容: • 0. 导入 NumPy 包 • 1. 创建 NumPy 数组 • 2. 索引和切片 • 3. 读取文件 • 4. 布尔型索引 • 5. 数组的运算 • 6. 常用函数举例 Nu ...

最新文章

  1. 云服务器磁盘挂载_云小课 | 磁盘容量不够用?小课教你来扩容!
  2. 想自己造无人机吗?Intel推出基于 Linux x86的自助无人机开发板
  3. POST方式发起下载请求
  4. 简单实用的js调试logger组件
  5. [Shell] swoole_timer_tick 与 crontab 实现定时任务和监控
  6. python全栈开发内容_Python全栈开发之Day02
  7. Projection投影
  8. c语言利用天气api,天气预报API_01
  9. oracle 11g的audit导致system表空间快速增长的问题
  10. koa使用koa-passport实现路由进入前登录验证
  11. 潍坊学院c语言上机题库,参编学校_C语言程序设计上机指导与同步训练(刘迎春、张艳霞)_pdf_大学课件预览_高等教育资讯网...
  12. 自动生成_橙瓜码字小说自动生成器,对话描写,景物描写,外貌描写自动生成...
  13. k8s节点假死排查记录
  14. python adf检验_ADF检验结果怎么看?
  15. BeautyGAN图片的高精度美颜
  16. 《铸梦之路》帧同步卡牌放置手游(斗罗大陆武魂觉醒、上古王冠)
  17. 记录几个免费质量高的图库视频库
  18. ROS routeros mikrotik路由器CVE-2018-14847漏洞
  19. 使用fsck命令检查并修复linux文件系统
  20. C语言实现3个数的最小公倍数和最大公约数

热门文章

  1. System Center Operations Manager 简介 [SCOM中文系列之一]
  2. 利用百度搜索结果爬取邮箱
  3. 《云阅》一个仿网易云音乐UI,使用Gank.Io及豆瓣Api开发的开源项目
  4. LA 3027 并查集
  5. selinux --chcon命令
  6. IronJS与CSScript
  7. 在ASP.NET 中实现单点登录(利用Cache, 将用户信息保存在服务器缓存中)
  8. PX4避障和轨迹规划(3DVFH*)
  9. Cocos2d-x中常用的类
  10. leetcode 13 13. 罗马数字转整数 (python)