欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用C++實(shí)現(xiàn)計(jì)算機(jī)輔助教學(xué)系統(tǒng)

 更新時(shí)間:2023年05月08日 15:04:14   作者:牧童深巷.  
我們都知道計(jì)算機(jī)在教育中起的作用越來越大。這篇文章主要為大家詳細(xì)介紹了如何利用C++編寫一個(gè)計(jì)算機(jī)輔助教學(xué)系統(tǒng),感興趣的可以了解一下

我們都知道計(jì)算機(jī)在教育中起的作用越來越大。

下面編寫一個(gè)程序,幫助小學(xué)生學(xué)習(xí)乘法。利用rand函數(shù)產(chǎn)生兩個(gè)一位的正整數(shù)。接著應(yīng)該顯示諸如6乘7等于多少的問題?學(xué)生然后輸入答案。

程序會(huì)檢查學(xué)生的答案。

計(jì)算機(jī)助教學(xué)環(huán)境中出現(xiàn)的一個(gè)問題是學(xué)生容易疲勞。這是可以消除的,通過變換計(jì)算機(jī)的對(duì)話來保持學(xué)生的注意力。要求對(duì)于每個(gè)正確的答案和不正確的答案,應(yīng)該打印出不同的評(píng)語,如下所示:正確答案的評(píng)語:

Very good!
Excellent!
Nice work!
Keep up the good work!
錯(cuò)誤答案的評(píng)語:
No. Please try again.
Wrong.
Try once more.
Don't give up!
No. Keep trying.

利用隨機(jī)數(shù)生成器在1~4之間選擇一個(gè)數(shù),用它為每個(gè)答案選擇相應(yīng)的評(píng)語。使用switch語句發(fā)出響應(yīng)。

先復(fù)習(xí)一下rand()函數(shù)的用法:

rand()函數(shù)用法:(轉(zhuǎn)載) 

1、rand()不需要參數(shù),它會(huì)返回一個(gè)從0到最大隨機(jī)數(shù)的任意整數(shù),最大隨機(jī)數(shù)的大小通常是固定的一個(gè)大整數(shù)。

2、如果你要產(chǎn)生0~99這100個(gè)整數(shù)中的一個(gè)隨機(jī)整數(shù),可以表達(dá)為:int num = rand() % 100; 

這樣,num的值就是一個(gè)0~99中的一個(gè)隨機(jī)數(shù)了。

3、如果要產(chǎn)生1~100,則是這樣:int num = rand() % 100 + 1;

4、總結(jié)來說,可以表示為:int num = rand() % n +a;

其中的a是起始值,n-1+a是終止值,n是整數(shù)的范圍。

5、一般性:rand() % (b-a+1)+ a ; 就表示 a~b 之間的一個(gè)隨機(jī)整數(shù)。

6、若要產(chǎn)生0-1之間的小數(shù),則可以先取得0-10的整數(shù),然后均除以10即可得到“隨機(jī)到十分位”的10個(gè)隨機(jī)小數(shù)。

若要得到“隨機(jī)到百分位”的隨機(jī)小數(shù),則需要先得到0~100的10個(gè)整數(shù),然后均除以100,其它情況依 此類推。

/*
rand()函數(shù)用法:(轉(zhuǎn)載) 
1、rand()不需要參數(shù),它會(huì)返回一個(gè)從0到最大隨機(jī)數(shù)的任意整數(shù),最大隨機(jī)數(shù)的大小通常是固定的一個(gè)大整數(shù)。
2、如果你要產(chǎn)生0~99這100個(gè)整數(shù)中的一個(gè)隨機(jī)整數(shù),可以表達(dá)為:int num = rand() % 100; 
這樣,num的值就是一個(gè)0~99中的一個(gè)隨機(jī)數(shù)了。
3、如果要產(chǎn)生1~100,則是這樣:int num = rand() % 100 + 1;
4、總結(jié)來說,可以表示為:int num = rand() % n +a;
其中的a是起始值,n-1+a是終止值,n是整數(shù)的范圍。
5、一般性:rand() % (b-a+1)+ a ; 就表示 a~b 之間的一個(gè)隨機(jī)整數(shù)。
6、若要產(chǎn)生0-1之間的小數(shù),則可以先取得0-10的整數(shù),然后均除以10即可得到“隨機(jī)到十分位”的10個(gè)隨機(jī)小數(shù)。
若要得到“隨機(jī)到百分位”的隨機(jī)小數(shù),則需要先得到0~100的10個(gè)整數(shù),然后均除以100,其它情況依 此類推。
*/
#include<iostream>
#include<cmath>
#include <stdlib.h>
using namespace std;
int main()
{
	int x,y,a;  //x和y是兩個(gè)隨機(jī)生成的數(shù),a為學(xué)生輸入的答案 
	int sum=0;  //sum是兩個(gè)數(shù)相乘的結(jié)果
	int count=0;//count為計(jì)數(shù)器 
	int right=0;//記錄對(duì)的題數(shù)
	float s;    //計(jì)算正確率 
	do
	{
		count++;
		x=rand()%10;//隨機(jī)數(shù) 
		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;//計(jì)算正確率 
	if(s<0.75)
	{
		cout <<"Please ask your instructor foe extra help" << endl;
	}
	return 0;
}

上面的程序還是不夠完善,下面增強(qiáng)前面的程序功能。

a)修改程序,允許用戶輸入能力等級(jí)。等級(jí)1表示在問題中只能使用一位數(shù),等級(jí)2表示最大只能使用2位數(shù),等等。

b)修改程序,增加算術(shù)問題的類型,允許用戶選擇他或者她希望學(xué)習(xí)的算術(shù)問題的類型。選項(xiàng)1表示只是加法問題,2表示只是減法問題,3表示只是乘法問題,4表示只是除法問題。

#include<iostream>
#include<cmath>
#include <stdlib.h>
using namespace std;
int main()
{
	int x,y,a;  //x和y是兩個(gè)隨機(jī)生成的數(shù),a為學(xué)生輸入的答案 
	int sum=0;  //sum是兩個(gè)數(shù)相乘的結(jié)果
	int count=0;//count為計(jì)數(shù)器 
	int right=0;//記錄對(duì)的題數(shù)
	float s;    //計(jì)算正確率 
	int note=0;//記錄能力等級(jí) 
	int f=0;//記錄用戶所希望學(xué)的問題 
	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;//隨機(jī)數(shù) 
			y=rand()%10;
		}
		else
		{
			x=rand()%20;//隨機(jī)數(shù) 
			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;//計(jì)算正確率 
	if(s<0.75)
	{
		cout <<"Please ask your instructor foe extra help !!!" << endl;
	}
	return 0;
}

到此這篇關(guān)于利用C++實(shí)現(xiàn)計(jì)算機(jī)輔助教學(xué)系統(tǒng)的文章就介紹到這了,更多相關(guān)C++計(jì)算機(jī)輔助教學(xué)系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C/C++實(shí)現(xiàn)快速排序算法的思路及原理解析

    C/C++實(shí)現(xiàn)快速排序算法的思路及原理解析

    這篇文章主要介紹了C/C++實(shí)現(xiàn)快速排序算法的思路及原理解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • C語言中用棧+隊(duì)列實(shí)現(xiàn)隊(duì)列中的元素逆置

    C語言中用棧+隊(duì)列實(shí)現(xiàn)隊(duì)列中的元素逆置

    這篇文章主要介紹了C語言中用利用棧和隊(duì)列實(shí)現(xiàn)隊(duì)列中的元素逆置的相關(guān)資料,對(duì)正在學(xué)習(xí)的小伙伴有一定的參考價(jià)值,需要的可以參考一下,希望對(duì)你有所幫助
    2022-02-02
  • C語言打印輸出楊輝三角

    C語言打印輸出楊輝三角

    這篇文章主要為大家詳細(xì)介紹了C語言打印輸出楊輝三角,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • C語言異或校驗(yàn)算法的項(xiàng)目實(shí)現(xiàn)

    C語言異或校驗(yàn)算法的項(xiàng)目實(shí)現(xiàn)

    異或校驗(yàn)算法(XOR校驗(yàn))是一種簡(jiǎn)單的校驗(yàn)算法,用于檢測(cè)數(shù)據(jù)在傳輸或存儲(chǔ)過程中是否發(fā)生了錯(cuò)誤,本文主要介紹了C語言異或校驗(yàn)算法的項(xiàng)目實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • C++?qsort函數(shù)排序與冒泡模擬實(shí)現(xiàn)流程詳解

    C++?qsort函數(shù)排序與冒泡模擬實(shí)現(xiàn)流程詳解

    qsort是一個(gè)庫函數(shù),基于快速排序算法實(shí)現(xiàn)的一個(gè)排序的函數(shù),下面這篇文章主要給大家介紹了關(guān)于C語言qsort()函數(shù)使用的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • C語言指針類型與野指針引起的原因

    C語言指針類型與野指針引起的原因

    我們C語言獨(dú)一無二的特色——指針。說起指針,可能很多人都是還沒學(xué)就已經(jīng)聽說過其鼎鼎大名,因?yàn)橛泻芏鄠餮院屯嫘κ裁吹恼f指針很難,其實(shí)大家大可不必有畏難情緒,指針這個(gè)東西雖然確實(shí)有一定難度,但是這是基于其優(yōu)秀的靈活性而衍生的一點(diǎn)小問題
    2023-02-02
  • 使用C語言求N的階乘的方法

    使用C語言求N的階乘的方法

    這篇文章主要介紹了使用C語言求N的階乘的方法,包括一道相關(guān)的ACM題目示例,需要的朋友可以參考下
    2015-08-08
  • Linux C/C++實(shí)現(xiàn)DNS客戶端請(qǐng)求域名IP的示例代碼

    Linux C/C++實(shí)現(xiàn)DNS客戶端請(qǐng)求域名IP的示例代碼

    DNS全稱:Domain Name System,域名解析系統(tǒng),是互聯(lián)網(wǎng)的一項(xiàng)服務(wù),本文主要介紹了C/C++如何實(shí)現(xiàn)DNS客戶端請(qǐng)求域名IP,感興趣的可以了解下
    2024-03-03
  • C++內(nèi)存四區(qū)之代碼區(qū)、全局區(qū)、棧區(qū)和堆區(qū)

    C++內(nèi)存四區(qū)之代碼區(qū)、全局區(qū)、棧區(qū)和堆區(qū)

    C++編譯器會(huì)把代碼直接分為四個(gè)小區(qū),弄懂這四小區(qū)對(duì)我們理解內(nèi)存有所幫助,所以下面這篇文章主要給大家介紹了關(guān)于C++內(nèi)存四區(qū)之代碼區(qū)、全局區(qū)、棧區(qū)和堆區(qū)的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • 詳解C++編程中用數(shù)組名作函數(shù)參數(shù)的方法

    詳解C++編程中用數(shù)組名作函數(shù)參數(shù)的方法

    這篇文章主要介紹了詳解C++編程中用數(shù)組名作函數(shù)參數(shù)的方法,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09

最新評(píng)論