小学加减法数学题自动生成
小学加减法题自动生成器
A±B=?
- 写入题目写入word文档
答案写入txt - equation类中有设置AB数取值范围方法
- 取去除掉了结果为小数,如果需要小数,删掉一条判断条件即可
#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>
小学加减法数学题自动生成相关推荐
- 利用EXCEL自动生成20以内加减法
小学开始学计算题的时候,经常需要练习10以内加减法,20以内加减法等等,每天找题目让人比较头疼,自己写又比较耗时间,于是想着利用表格中的随机函数能不能自动生成习题.在网上找了几个方法试着弄了一下成功了 ...
- 【019】淡墨水字帖-帮家长自动生成字帖和小学算术题
家长可能经常愁孩子字写的不好看,愁孩子生字记的不好,愁老师留的计算题作业怎么出题.在"淡墨水字帖",这些问题都可以解决!一站式提供汉字和英文的自定义字帖,并提供小学计算题自动生成功 ...
- 用java做小学数学系统_自动生成中小学数学题目的控制台小程序
正版现货scratch+小学数学编程教材 106.5元 包邮 (需用券) 去购买 > 前段时间写了一个自动生成中小学数学题目的控制台小程序 下面简要介绍一下我这次的一个开发过程 需求: 1.命令 ...
- 自动生成中小学数学题目的控制台小程序
前段时间写了一个自动生成中小学数学题目的控制台小程序 下面简要介绍一下我这次的一个开发过程 需求 1.命令行输入用户名和密码,如果用户名和密码都正确,提示输入小学.初中和高中三个选项中的一个,否则提示 ...
- 用java做小学数学系统_小学生数学练习题目自动生成系统——java课程设计
<小学生数学练习题目自动生成系统--java课程设计>由会员分享,可在线阅读,更多相关<小学生数学练习题目自动生成系统--java课程设计(37页珍藏版)>请在金锄头文库上搜索 ...
- 自动生成小学四则运算题目的程序.心得体会
http://t.cn/RAS67B0 源代码 #include<stdio.h> #include<stdlib.h> #include<time.h> main ...
- myapp——自动生成小学四则运算题目的命令行程序(侯国鑫 谢嘉帆)
1.Github项目地址 https://github.com/baiyexing/myapp.git 2.功能要求 题目:实现一个自动生成小学四则运算题目的命令行程序 功能(已全部实现) 使用 -n ...
- 结对项目:自动生成小学四则运算题目程序
================= 这个作业属于哪个课程 软件工程 作业要求 作业要求 Github Github链接 小队成员 这个作业的目标 熟悉结对编程,实现自动生成小学四则运算题目程序,对给定 ...
- 结对项目——自动生成小学四则运算题目的命令行程序(基于Python)
这个作业属于课程 软件工程 这个作业的要求在哪里 结对项目 这个作业的目标是 实现一个自动生成小学四则运算题目的命令行程序 成员 3118005408 方俊涛 .3118005409 冯宇航 GitH ...
最新文章
- @excel注解_惊了!如何通过阿里 EasyExcel 7 行代码, 优雅地实现 Excel 文件导出功能?...
- lenovo vantage工具栏无反应 电池图标单击无法显示状态栏
- maven排除依赖冲突问题
- java 修饰_Java 修饰符
- QT 015 【数据库】 QSqlTableModel Class
- java解决XSS攻击常用方法总结
- 吴恩达深度学习5.3笔记_Sequence Models_序列模型和注意力机制
- Android 返回键的处理
- 会c语言如何快速入门python,初学者如何从C语言到Python的转化(北大陈斌老师的举例 )...
- paip.盘古汉字转拼音组件库使用总结
- uniapp好用项目和插件总结
- matlab中如何去掉多行注释_MATLAB中多行注释的三种方法
- FPGA那些事(黑金动力社区)-笔记
- react在部分安卓手机浏览器无法加载页面或页面空白
- 用什么材料作电磁屏蔽呢?
- dtu MySQL_DTU-DATACENTER
- winform 显示分隔控件_Winform分页控件之纯分页显示处理
- win7磁盘管理分区,改变页面文件卷,删除卷就由灰变黑了!
- androidstudio上传自己的lib到Jcenter
- 亲测有效,最简单的Win10系统下的IDEA Ultimate2019.1.3安装和破解秘籍