一、實驗題目
這次我的程式,是對四則運算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.生成的題目中計算過程不能產生負數,...