php四則運算出題器 四則運算出題器3

2021-10-12 13:47:45 字數 4261 閱讀 8403

一、實驗題目

這次我的程式,是對四則運算2的進一步擴充套件

我選的是第乙個方向:程式能夠接受使用者輸入的答案,並能判定對錯,最後還可以給出總共對/錯的數量。

二、實驗擴充套件思想

1、因為我給每個題目都編了序號,所以再輸入答案的時候只需按著題目的順序輸入就可以了。

2、判斷對錯,我是事先定義了乙個陣列,來存放正確答案,最後把使用者輸入的答案和正確答案做比較即可

3、給出對/錯的數量,這個比較容易,只需要設計兩個變數,乙個用來計算正確的個數,乙個用來計算錯誤的個數,最後給出答案即可。

三、實驗**

#include

#include

#include

void hycc()

int f;//定義要測試的是四則運算是幾進製

cout<

cin>>f;

int x,y,z,t; //x,y分別表示所產生的兩個數,z來控制做加減乘除

int e;//輸入每行算數題的個數

srand(time(null));

int n;

int b;//表示有無負數

int a;//用來輸入行間距

int d;//代表輸入的答案

float daan[100];//代表正確答案

int zq=0;//用來表示正確答案的個數

int cw=0;//用來表示錯誤答案的個數

cout<

cin>>n; //n代表出題的個數

cout<

cin>>b;

cout<

cin>>e;

cout<

cin>>a;

cout<

for(int i=0;i

x=rand()%f;

y=rand()%f;

z=rand()%4;

switch(z)

case 0:

cout<

daan[i+1]=x+y;

break;

case 1:

if(b==1)

if(x

t=x;

x=y;

y=t;

cout<

else if(b==0)

cout<

daan[i+1]=x-y;

break;

case 2:

cout<

daan[i+1]=x*y;

break;

case 3:

if(y!=0)

cout<

else

i=i-1;

daan[i+1]=(float)x/y;

break;

default:

cout<

break;

if((i+1)%e==0)

for(int c=0;c<=a;c++)

cout<

if((i+1)==n)

cout<

for(i=1;i<=n;i++)

cout<

cout<

cin>>d;

if(d==daan[i])

cout<

cout<

zq=zq+1;

else

cout<

cout<

cw=cw+1;

cout<

cout<

void bhycc()

int f;

cout<

cin>>f;

int e;//輸入每行算數題的個數

int x,y,z,t; //x,y分別表示所產生的兩個數,z來控制做加減乘除

srand(time(null));

int n;//n代表出題個數

int b;//代表加減有無負數

int a;//用來輸入行間距

int d;//代表輸入的答案

int daan[100];//代表正確答案

int zq=0;//用來表示正確答案的個數

int cw=0;//用來表示錯誤答案的個數

cout<

cin>>n; //n代表出題的個

cout<

cin>>b;

cout<

cin>>e;

cout<

cin>>a;

cout<

for(int i=0;i

x=rand()%f;

y=rand()%f;

z=rand()%2;

switch(z)

case 0:

cout<

daan[i+1]=x+y;

break;

case 1:

if(b==1)

if(x

t=x;

x=y;

y=t;

cout<

else if(b==0)

cout<

daan[i+1]=x-y;

break;

default:

cout<

break;

if((i+1)%e==0)

for(int c=0;c<=a;c++)

cout<

if((i+1)==n)

cout<

for(i=1;i<=n;i++)

cout<

cout<

cin>>d;

if(d==daan[i])

cout<

cout<

zq=zq+1;

else

cout<

cout<

cw=cw+1;

cout<

cout<

int main()

int c;//c代表輸入是否繼續的數字

char ch;

cout<

cin>>ch;

if(ch=='y'||ch=='y')

hycc();

cout<

else if(ch=='n'||ch=='n')

bhycc();

cout<

else

cout<

cout<

cin>>c;

if(c==0)

cout<

main();

else

cout<

return 0;

return 0;

四執行結果

五、總結

這次的題目有幾個選向,由於我的程式設計能力不強,所以 我選擇了第乙個方向,在編寫程式時還遇到了一定的困難,比如在做除法的時候,由於定義的正確答案的陣列是整形,所以導致除法計算一直不正確,所以我選擇了把陣列定義為浮點型。我在以後的時間裡一定會多加聯絡,爭取再實現另外乙個方向

psp學生     司新紅

日期  2014.3.17

教師  王建民

程式號_______________

專案計畫總結

程式設計閱讀書籍

課後複習

日總計週日

周一周二

週三周四

周五週六

周總計時間記錄總結

日期開始

結束中斷時間

淨時間活動備註c

u3月17日

4:00

5:00無程式設計

8:00

9:30

複習寫作業

10:00

10:30

無閱讀書籍

3月18日

10:00

11:30

程式設計休息

10:00

10:30

無閱讀書籍

3月19日

7:00

9:00無程式設計

缺陷記錄日誌

日期編號

型別引入階段

排除階段

修復時間

修復缺陷

3月17日

程式編碼

編譯20min

求幾個數中最大值時一直報錯,最後我把所求的和放在了乙個陣列中

3月18日

程式編碼

編譯10min

忘記給正確答案的個數和錯誤答案的個數賦值

程式編碼

編譯30min

計算除法的正確答案時,不能是浮點型,然後我就把答案這個陣列定義成了浮點型

3月19日

程式編碼

編譯10min

在不含有乘除的函式中,忘了給正確答案賦值,導致結果報錯

程式編碼

編譯10min

變數用錯,執行時執行無響應了。

四則運算出題1

1 題目要求 完成乙個程式,自動出30道題,範圍在100以內,包括加減乘除,整數和真分數 2 實現思路 程式自動出30道題,運算數和運算符號都是隨機。1 先自動出一道題,重複過程30次即可 2 出一道題,要分為三個部分 第乙個數 運算符號 第二個數 3 兩個數可以直接用隨機數產生,四個運算子可以用產...

多功能四則運算出題器

1.為了保證題目避免重複,我採用了 srand 函式來實現 2.可定製 數量 列印方式 定製數量 手動輸入乙個數n,然後把原來迴圈中的固定的數 30,改成 n,然後自動出題。列印方式 可以自己選擇每行可以列印幾個 3.可以控制下列引數 1 是否有乘除法 通過編寫兩個函式來實現,乙個函式帶乘除,另乙個...

php四則運算出題器 四則運算題目生成器

github位址 專案成員 許梓瑩3218005083,梁小燕3218005081 1.專案要求 實現乙個自動生成小學四則運算題目的命令列程式 2.需求 a.使用 n 引數控制生成題目的個數 b.使用 r 引數控制題目中數值 自然數 真分數和真分數分母 的範圍 c.生成的題目中計算過程不能產生負數,...