小学加减法题自动生成器

A±B=?

  1. 写入题目写入word文档
    答案写入txt
  2. equation类中有设置AB数取值范围方法
  3. 取去除掉了结果为小数,如果需要小数,删掉一条判断条件即可
#include<iostream>
#include<fstream>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
#pragma warning(disable:4996)
class equation
{public:int numA;int numAmin = 1;int numAmax = 100;int numB;int numBmin = 1;int numBmax = 10;bool SubAdd=true;  // 真为减int result;equation* next=NULL;//************// 只计算结果//************equation(int a,int b,bool Symbol){numA = a;numB = b;SubAdd = Symbol;if (Symbol){result = numA - numB;}else{result = numA + numB;}}
public :equation(){}// 设置AB取值范围void SetNumaSize(int min,int max){numAmin = min;numBmax = max;}void SetNumbSize(int min, int max){numBmin = min;numBmax = max;}bool judge(equation* head, int a, int b, bool Symbol){// 带头链表equation* temp = head;while (temp->next!=NULL){// 完全重复if (temp->numA == a && temp->numB == b && temp->SubAdd == Symbol){return 1;}temp = temp->next;}return 0;}void AddEquation(equation* head){int numa, numb, symbol;numa = rand() % numAmax;numb = rand() % numBmax;symbol = rand() % 2;// 比最小值要小         ||     a<b,且是a-b      || 完全重复while ((numa<numAmin||numb<numBmin)||(numa<numb&&symbol==1)||judge(head,numa,numb,symbol)){numa = rand() % numAmax;numb = rand() % numBmax;symbol = rand() % 2;}equation* newNode= new equation(numa, numb, symbol);newNode->next = head->next;head->next = newNode;}
};void printEquation(equation* head)
{equation* temp = head->next;while (temp!=NULL){cout << temp->numA;if (temp->SubAdd){cout << " - ";}else{cout << " + ";}cout << temp->numB <<" = " << temp->result << endl;temp = temp->next;}
}int main()
{// 设置AB最大最小数int max;cout << "请输入出题数" << endl;cin >> max;equation* math1 = new equation();for (int i = 0; i < max; i++){math1->AddEquation(math1);}printEquation(math1);//**********************************////       写入word文档////**********************************ofstream outfile("HomeWork.doc");outfile.close();equation*temp = math1;fstream fs;fs.open("HomeWork.doc");for (int i = 0; i < max; i++){fs <<i+1<<". " << temp->next->numA;if (temp->next->SubAdd){fs << " - ";}else{fs << " + ";}fs << temp->next->numB << " =" << endl;temp = temp->next;}fs.close();//*********************************//   将结果写入到txt,批改//*********************************temp = math1->next;outfile.open("result.txt");outfile.close();FILE* fp=NULL;if ((fp = fopen("result.txt", "w+")) != NULL){for (int i = 1; i <= max; i++){fprintf(fp, "%d. %-5d\t", i, temp->result);temp = temp->next;if (i%10==0){fprintf(fp,"\n");}}}fclose(fp);
}

追加一个HTML版本的,我弟肯定爱死我了

<html><head><title>数学计算生成</title></head><body><script>var result=0;var count=-1;var erro=0;var correct=-1;var numA=0;var numB=0;var c='+';function addErro(){var tbody=document.getElementById("tbmain")   tr=tbody.insertRow();var f;if(c==0){f='-';}else{f='+';}tr.innerHTML= numA+" "+" "+f+" "+""+numB+"= ";}function getsum(){count++;if(document.getElementById("result").value==result){correct++;}else{erro++;addErro();alert("算错了噢!");}// 清空输入框document.getElementById("result").value="";numA=Math.floor(Math.random()*100)+1;numB=Math.floor(Math.random()*10+1);c=Math.floor(Math.random()*2);while((numA<numB&&c==0)||(numA+numB>100)){numA=Math.floor(Math.random()*100)+1;numB=Math.floor(Math.random()*10)+1;c=Math.floor(Math.random()*2);}document.getElementById("NUMA").innerHTML=numA;document.getElementById("NUMB").innerHTML=numB;if(c==0){document.getElementById("c").innerHTML="-";result=numA-numB;}else{document.getElementById("c").innerHTML="+";result=numA+numB;}document.getElementById("count").innerHTML="总题数:"+count;document.getElementById("erro").innerHTML="算错数:"+erro;document.getElementById("correct").innerHTML="算对数:"+correct;}</script><center><br><br><br><br><br><br><label style ="font-size:26px;" id="NUMA">0</label><label style ="font-size:26px;" id="c">+</label><label style ="font-size:26px;" id="NUMB">0</label><font style ="font-size:26px;"> =</font> <input type="text" style ="font-size:26px;" name="结果" id="result"><br><br><input type="button" style ="font-size:26px;" value="提交结果" onclick="getsum()"/></center> <br><br><br><center> <label  id="count">总题数: 0</label></center><center> <label  id="erro">算错数:0</label></center><center> <label  id="correct">算对数:0</label></center><br><br><br><br><center><table width="500" border="1"><thead><tr><th>错题列表</th></tr></thead><tbody id="tbmain"></tbody></table>
</center></body>
</html>

小学加减法数学题自动生成相关推荐

  1. 利用EXCEL自动生成20以内加减法

    小学开始学计算题的时候,经常需要练习10以内加减法,20以内加减法等等,每天找题目让人比较头疼,自己写又比较耗时间,于是想着利用表格中的随机函数能不能自动生成习题.在网上找了几个方法试着弄了一下成功了 ...

  2. 【019】淡墨水字帖-帮家长自动生成字帖和小学算术题

    家长可能经常愁孩子字写的不好看,愁孩子生字记的不好,愁老师留的计算题作业怎么出题.在"淡墨水字帖",这些问题都可以解决!一站式提供汉字和英文的自定义字帖,并提供小学计算题自动生成功 ...

  3. 用java做小学数学系统_自动生成中小学数学题目的控制台小程序

    正版现货scratch+小学数学编程教材 106.5元 包邮 (需用券) 去购买 > 前段时间写了一个自动生成中小学数学题目的控制台小程序 下面简要介绍一下我这次的一个开发过程 需求: 1.命令 ...

  4. 自动生成中小学数学题目的控制台小程序

    前段时间写了一个自动生成中小学数学题目的控制台小程序 下面简要介绍一下我这次的一个开发过程 需求 1.命令行输入用户名和密码,如果用户名和密码都正确,提示输入小学.初中和高中三个选项中的一个,否则提示 ...

  5. 用java做小学数学系统_小学生数学练习题目自动生成系统——java课程设计

    <小学生数学练习题目自动生成系统--java课程设计>由会员分享,可在线阅读,更多相关<小学生数学练习题目自动生成系统--java课程设计(37页珍藏版)>请在金锄头文库上搜索 ...

  6. 自动生成小学四则运算题目的程序.心得体会

    http://t.cn/RAS67B0 源代码 #include<stdio.h> #include<stdlib.h> #include<time.h> main ...

  7. myapp——自动生成小学四则运算题目的命令行程序(侯国鑫 谢嘉帆)

    1.Github项目地址 https://github.com/baiyexing/myapp.git 2.功能要求 题目:实现一个自动生成小学四则运算题目的命令行程序 功能(已全部实现) 使用 -n ...

  8. 结对项目:自动生成小学四则运算题目程序

    ================= 这个作业属于哪个课程 软件工程 作业要求 作业要求 Github Github链接 小队成员 这个作业的目标 熟悉结对编程,实现自动生成小学四则运算题目程序,对给定 ...

  9. 结对项目——自动生成小学四则运算题目的命令行程序(基于Python)

    这个作业属于课程 软件工程 这个作业的要求在哪里 结对项目 这个作业的目标是 实现一个自动生成小学四则运算题目的命令行程序 成员 3118005408 方俊涛 .3118005409 冯宇航 GitH ...

最新文章

  1. @excel注解_惊了!如何通过阿里 EasyExcel 7 行代码, 优雅地实现 Excel 文件导出功能?...
  2. lenovo vantage工具栏无反应 电池图标单击无法显示状态栏
  3. maven排除依赖冲突问题
  4. java 修饰_Java 修饰符
  5. QT 015 【数据库】 QSqlTableModel Class
  6. java解决XSS攻击常用方法总结
  7. 吴恩达深度学习5.3笔记_Sequence Models_序列模型和注意力机制
  8. Android 返回键的处理
  9. 会c语言如何快速入门python,初学者如何从C语言到Python的转化(北大陈斌老师的举例 )...
  10. paip.盘古汉字转拼音组件库使用总结
  11. uniapp好用项目和插件总结
  12. matlab中如何去掉多行注释_MATLAB中多行注释的三种方法
  13. FPGA那些事(黑金动力社区)-笔记
  14. react在部分安卓手机浏览器无法加载页面或页面空白
  15. 用什么材料作电磁屏蔽呢?
  16. dtu MySQL_DTU-DATACENTER
  17. winform 显示分隔控件_Winform分页控件之纯分页显示处理
  18. win7磁盘管理分区,改变页面文件卷,删除卷就由灰变黑了!
  19. androidstudio上传自己的lib到Jcenter
  20. 亲测有效,最简单的Win10系统下的IDEA Ultimate2019.1.3安装和破解秘籍

热门文章

  1. IM即时通讯H信 Android
  2. centos7更换内核后出现 pstore: unknown compression: deflate 问题解决
  3. python黑色星期五_使用Python进行黑色星期五的相关性分析
  4. 进入四强的球队Java
  5. 1069 微博转发抽奖——c++实现
  6. PAT乙级1069微博转发抽奖 20(分)
  7. 去哪儿霸面题目——泪
  8. 游戏设计 MMORPG类九宫格视野
  9. Windows 系统45个小技巧(建议收藏)
  10. windows 下 安装python以及scrapy 环境