C++ 小学生计算机辅助教学系统

这篇具有很好参考价值的文章主要介绍了C++ 小学生计算机辅助教学系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们都知道计算机在教育中起的作用越来越大。

下面编写一个程序,帮助小学生学习乘法。利用rand函数产生两个一位的正整数。接着应该显示诸如6乘7等于多少的问题?学生然后输入答案。

程序会检查学生的答案。

计算机助教学环境中出现的一个问题是学生容易疲劳。这是可以消除的,通过变换计算机的对话来保持学生的注意力。要求对于每个正确的答案和不正确的答案,应该打印出不同的评语,如下所示:正确答案的评语:
Very good!

Excellent!

Nice work!
Keep up the good work!
错误答案的评语:
No. Please try again.

Wrong.

Try once more.

Don't give up!

No. Keep trying.
利用随机数生成器在1~4之间选择一个数,用它为每个答案选择相应的评语。使用switch语句发出响应。

先复习一下rand()函数的用法:

rand()函数用法:(转载) 

1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。

2、如果你要产生0~99这100个整数中的一个随机整数,可以表达为:int num = rand() % 100; 

这样,num的值就是一个0~99中的一个随机数了。

3、如果要产生1~100,则是这样:int num = rand() % 100 + 1;

4、总结来说,可以表示为:int num = rand() % n +a;

其中的a是起始值,n-1+a是终止值,n是整数的范围。

5、一般性:rand() % (b-a+1)+ a ; 就表示 a~b 之间的一个随机整数。

6、若要产生0-1之间的小数,则可以先取得0-10的整数,然后均除以10即可得到“随机到十分位”的10个随机小数。

若要得到“随机到百分位”的随机小数,则需要先得到0~100的10个整数,然后均除以100,其它情况依 此类推。

/*
rand()函数用法:(转载) 
1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。
2、如果你要产生0~99这100个整数中的一个随机整数,可以表达为:int num = rand() % 100; 
这样,num的值就是一个0~99中的一个随机数了。
3、如果要产生1~100,则是这样:int num = rand() % 100 + 1;
4、总结来说,可以表示为:int num = rand() % n +a;
其中的a是起始值,n-1+a是终止值,n是整数的范围。
5、一般性:rand() % (b-a+1)+ a ; 就表示 a~b 之间的一个随机整数。
6、若要产生0-1之间的小数,则可以先取得0-10的整数,然后均除以10即可得到“随机到十分位”的10个随机小数。
若要得到“随机到百分位”的随机小数,则需要先得到0~100的10个整数,然后均除以100,其它情况依 此类推。
*/
#include<iostream>
#include<cmath>
#include <stdlib.h>

using namespace std;

int main()
{
	int x,y,a;  //x和y是两个随机生成的数,a为学生输入的答案 
	int sum=0;  //sum是两个数相乘的结果
	int count=0;//count为计数器 
	int right=0;//记录对的题数
	float s;    //计算正确率 
	do
	{
		count++;
		x=rand()%10;//随机数 
		y=rand()%10;
		sum=x*y;
		
		cout << x << " * " << y << " = " << endl;
		cout << "Please enter the answer :" << endl;
		cin >> a;
		if(a==sum)
		{
			right++; 
			switch(rand()%4)
			{
				case 0:	cout << "Very good!" << endl << endl;break;
				case 1:	cout << "Excellent!" << endl << endl;break;
				case 2:	cout << "Nice work!" << endl << endl;break;
				case 3:	cout << "Keep up the good work!" << endl << endl;break;
				
			}
		}
		else
		{
			switch(rand()%4)
			{	
				case 0:	cout << "No. Please try again." << endl << endl;break;
				case 1:	cout << "Wrong. Try once more." << endl << endl;break;
				case 2:	cout << "Don't give up!" << endl << endl;break;
				case 3:	cout << "No. Keep trying." << endl << endl;break;
			}
		}
		
	
	}while(count<10);
	
	s=right*1.0/count;//计算正确率 
	if(s<0.75)
	{
		cout <<"Please ask your instructor foe extra help" << endl;
	}
	return 0;
}

上面的程序还是不够完善,下面增强前面的程序功能。

a)修改程序,允许用户输入能力等级。等级1表示在问题中只能使用一位数,等级2表示最大只能使用2位数,等等。
b)修改程序,增加算术问题的类型,允许用户选择他或者她希望学习的算术问题的类型。选项1表示只是加法问题,2表示只是减法问题,3表示只是乘法问题,4表示只是除法问题。

#include<iostream>
#include<cmath>
#include <stdlib.h>
using namespace std;

int main()
{
	int x,y,a;  //x和y是两个随机生成的数,a为学生输入的答案 
	int sum=0;  //sum是两个数相乘的结果
	int count=0;//count为计数器 
	int right=0;//记录对的题数
	float s;    //计算正确率 
	int note=0;//记录能力等级 
	int f=0;//记录用户所希望学的问题 
	cout << "Please enter your ability level, 1 or 2" << endl;
	cin >> note; 
	cout << endl;
	cout << "************" << endl;
	cout << "*1:加法问题*" << endl; 
	cout << "*2:减法问题*" << endl; 
	cout << "*3:乘法问题*" << endl;
	cout << "*4:除法问题*" << endl;
	cout << "************" << endl;
	cout << "Please enter the type of arithmetic problem you want to learn" << endl;
	cin >> f;
	do
	{
	        count++;
		if(note==1)
		{			
			x=rand()%10;//随机数 
			y=rand()%10;
		}
		else
		{
			x=rand()%20;//随机数 
			y=rand()%20;
		}
			
		if(f==1)
		{
			sum=x+y;
			cout << x << " + " << y << " = " << endl;
		}
		else if(f==2)
		{
			sum=x-y;
			cout << x << " - " << y << " = " << endl;
		}
		else if(f==3)
		{
			sum=x*y;
			cout << x << " * " << y << " = " << endl;
		}
		else if(f==4)
		{
			sum=x/y;
			cout << x << " / " << y << " = " << endl;
		}
			cout << "Please enter the answer :" << endl;
			cin >> a;
			if(a==sum)
			{
				right++; 
				switch(rand()%4)
				{
					case 0:	cout << "Very good!            " << endl << endl;break;
					case 1:	cout << "Excellent!            " << endl << endl;break;
					case 2:	cout << "Nice work!            " << endl << endl;break;
					case 3:	cout << "Keep up the good work!" << endl << endl;break;
					
				}
			}
			else
			{
				switch(rand()%4)
				{	
					case 0:	cout << "No. Please try again." << endl << endl;break;
					case 1:	cout << "Wrong. Try once more." << endl << endl;break;
					case 2:	cout << "Don't give up!       " << endl << endl;break;
					case 3:	cout << "No. Keep trying.     " << endl << endl;break;
				}
			}
					
	}while(count<10);
	
	s=right*1.0/count;//计算正确率 
	if(s<0.75)
	{
		cout <<"Please ask your instructor foe extra help !!!" << endl;
	}
	return 0;
}

 如有疑问,欢迎在评论区留言。

 文章来源地址https://www.toymoban.com/news/detail-446556.html

 

到了这里,关于C++ 小学生计算机辅助教学系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • c++小学生入门教程(三)

    1、辗转相除法 两个正整数m,n的最大公约数  因为m与n和r都相关,所以求m和n的最大公约数等价于n和r的最大公约数      辗转相除法:欧几里得      ①求 m除以n的余数r r=m%n     ②当r!=0时,执行第③步,当r=0时,n就是最大公约数     ③让m=n,n=r,再求m除以n的余数r (新的m

    2024年02月06日
    浏览(43)
  • 强烈安利小学生C++创意编程(视频微课版)

    目录 写在前面 推荐图书 推荐理由 写在最后   一起来学C++吧!本期博主给大家推荐一本适合小学生阅读的C++类书籍,一起来看看吧~   小学生C++创意编程(视频教学版) 直达链接 :https://item.jd.com/14359170.html 编辑推荐 《小xue生Python创意编程(视频教学版)》《Python编程入门

    2024年04月13日
    浏览(43)
  • 《小学生C++趣味编程》第2课 春晓 动动脑 第1题-2018-12-12

          第2课 春晓 动动脑 第1题 1、计算机系统由()组成的。 A、主板、显示器、键盘、鼠标 B、操作系统和应用软件 C、主机、输出设备、输入设备 D、硬件系统和软件系统  操作系统:WIN7 10 linux 应用软件:办公软件  财务软件  微信  硬件是载体,软件是灵魂 答案:D 

    2023年04月08日
    浏览(44)
  • 小学生python游戏编程4----拼图游戏

    主要内容是设计开发一个趣味拼图游戏,其功能是对加载的图片进行分割(如分割5×5矩阵或其他类型矩阵),上篇文章讲了,具体可看小学生python游戏编程3----拼图游戏-准备(https://blog.csdn.net/fqfq123456/article/details/127173684),把分隔的图片加载到游戏界面,随机打乱顺序,用户

    2023年04月10日
    浏览(38)
  • 小学生四则运算考试系统Java

    作为大一的新生,突然出现一个实训课程,让原本平静的生活变得很充实,学校要求写一个小学生四则运算考试系统的项目,包括自动出题、自动判断对错并给出得分、自动给出正确答案,同时还有倒计时,在经过几天的努力之后,我也是马马虎虎的完成了一个较为简单的考试系统 一

    2024年02月04日
    浏览(59)
  • Sora的原理,中国小学生游戏在践行

    大家龙年好呀,春节假期和家人出去浪了,旅行期间,几乎没刷社交媒体信息。等我17号回到家仔细看手机,Sora的消息铺面而来,什么“新革命”、“划时代”、“新纪元”······说的挺神呼。 任何新事物出现,讨论热烈是好事,但仁者见仁、智者见智。真实情况如何,还

    2024年02月21日
    浏览(38)
  • 小学生开“卷”AIGC,绝不能输在起跑线上

    图片来源:由无界AI生成 OpenAI的研究报告称,未来,大量工作岗位将受到AI冲击,首当其冲的岗位是作家、数学家、网页设计师、记者、律师…… 自从ChatGPT问世以来,人类会被AI替代的讨论甚嚣尘上,焦虑情绪无处不在。但更多人认为, AI替代的不是人类,而是没有掌握AI的

    2024年02月13日
    浏览(46)
  • java+springboot+vue开发的小学生(家长)考勤请假打卡小程序

    演示视频 小程序 https://www.bilibili.com/video/BV1RN4y167Xu/?share_source=copy_webvd_source=11344bb73ef9b33550b8202d07ae139b 管理员 https://www.bilibili.com/video/BV18H4y1z7xH/?share_source=copy_webvd_source=11344bb73ef9b33550b8202d07ae139b 主要功能:家长代替小学生注册登录,可向班主任请假销假考勤打卡,查看班主任信

    2024年02月06日
    浏览(57)
  • 三分钟搞懂git patch 补丁的使用,小学生也能看懂

    Git中的Patch(补丁)功能允许用户将不同分支或提交之间的更改保存为一种可重用的文件格式。通过使用Patch,您可以将您的更改发送给其他人进行审核或协作,以及在不同的Git仓库或版本控制系统之间导出或导入更改。 在Git中,使用以下命令来创建和应用Patch: 1、创建Pat

    2024年02月14日
    浏览(39)
  • 机器学习——python训练CNN模型实战(傻瓜式教学,小学生都可以学会)代码开源

    ​ 第一章 python训练线性模型实战 第二章 python训练决策树模型实战 第三章 python训练神经网络模型实战 第四章 python训练支持向量机模型实战 第五章 python训练贝叶斯分类器模型实战 第六章 python训练集成学习模型实战 第七章 python训练聚类模型实战 第八章 python训练KNN模

    2024年02月04日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包