最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用C++實現(xiàn)計算機輔助教學系統(tǒng)

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

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

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

程序會檢查學生的答案。

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

上面的程序還是不夠完善,下面增強前面的程序功能。

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

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

#include<iostream>
#include<cmath>
#include <stdlib.h>
using namespace std;
int main()
{
	int x,y,a;  //x和y是兩個隨機生成的數(shù),a為學生輸入的答案 
	int sum=0;  //sum是兩個數(shù)相乘的結果
	int count=0;//count為計數(shù)器 
	int right=0;//記錄對的題數(shù)
	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;//隨機數(shù) 
			y=rand()%10;
		}
		else
		{
			x=rand()%20;//隨機數(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;//計算正確率 
	if(s<0.75)
	{
		cout <<"Please ask your instructor foe extra help !!!" << endl;
	}
	return 0;
}

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

相關文章

  • C語言實現(xiàn)順序表的基本操作指南(注釋很詳細)

    C語言實現(xiàn)順序表的基本操作指南(注釋很詳細)

    線性表是最簡單的數(shù)據(jù)結構,而順序表又是最簡單的線性表,其基本思想是用一段地址連續(xù)的儲存單元依次存儲線性表的數(shù)據(jù)元素,下面這篇文章主要給大家介紹了關于C語言實現(xiàn)順序表的基本操作,需要的朋友可以參考下
    2021-10-10
  • VSCode配置C語言環(huán)境的方法

    VSCode配置C語言環(huán)境的方法

    這篇文章主要介紹了VSCode配置C語言環(huán)境的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • visual studio 2019工具里添加開發(fā)中命令提示符的方法

    visual studio 2019工具里添加開發(fā)中命令提示符的方法

    這篇文章主要介紹了visual studio 2019工具里添加開發(fā)中命令提示符的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • C++?pthread入門指南

    C++?pthread入門指南

    pthread是C++98接口且只支持Linux,使用時需要包含頭文件#include?<pthread.h>,編譯時需要鏈接pthread庫,其中p是POSIX的縮寫,而POSIX是Portable?Operating?System?Interface的縮寫,這篇文章主要介紹了C++?pthread簡介,需要的朋友可以參考下
    2024-05-05
  • 一篇文章帶你了解C++的KMP算法

    一篇文章帶你了解C++的KMP算法

    這篇文章主要介紹了c++ 實現(xiàn)KMP算法的示例,幫助大家更好的理解和學習c++,感興趣的朋友可以了解下,希望能給你帶來幫助
    2021-08-08
  • C++ OpenCV制作黑客帝國風格的照片

    C++ OpenCV制作黑客帝國風格的照片

    這篇文章主要介紹了如何通過C++ OpenCV制作出黑客帝國風格的照片,文中的示例代碼講解詳細,對我們學習OpenCV有一定幫助,需要的可以參考一下
    2022-01-01
  • C語言實現(xiàn)個人通訊錄管理系統(tǒng)

    C語言實現(xiàn)個人通訊錄管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)個人通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Qt數(shù)據(jù)庫應用之實現(xiàn)csv文件轉xls

    Qt數(shù)據(jù)庫應用之實現(xiàn)csv文件轉xls

    這篇文章主要為大家詳細介紹了如何利用Qt實現(xiàn)csv文件轉xls功能,文中的示例代碼講解詳細,對我們學習或工作有一定參考價值,需要的可以了解一下
    2022-06-06
  • 利用C語言實現(xiàn)簡易版掃雷

    利用C語言實現(xiàn)簡易版掃雷

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡易版掃雷,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • 詳解C語言中sizeof如何在自定義函數(shù)中正常工作

    詳解C語言中sizeof如何在自定義函數(shù)中正常工作

    在main函數(shù)中,sizeof是可以正常工作的,但是在自定義函數(shù)中就不可以了。所以本文將為大家詳細講解一下如何解決這一問題,感興趣的可以了解一下
    2022-05-05

最新評論

江安县| 台江县| 胶南市| 太仆寺旗| 泰来县| 屯留县| 阳高县| 南投县| 论坛| 潞城市| 鲜城| 秦安县| 红河县| 桃源县| 贡觉县| 思茅市| 泰和县| 玛沁县| 永福县| 乐昌市| 双辽市| 天长市| 军事| 东阿县| 晋城| 紫金县| 大冶市| 凌海市| 乌苏市| 德清县| 英超| 济源市| 玛曲县| 樟树市| 桐梓县| 乌拉特前旗| 镇远县| 土默特右旗| 南昌县| 曲阳县| 乐山市|