天天看點

使用者可計算型出題程式

      此次程式是對上次程式的再次開發,我将自己視作另一個在開發者,在對自己前面程式進行再次審視時,有了别樣的感受,自己寫的程式,一定要為别人(也有可能是自己)留一條活路。閑話不多說,進入大家最喜歡的**環節。

      要求:每個同學選一個方向,把程式擴充一下讓程式能接受使用者輸入答案,并判定對錯。最後給出總共對/錯 的數量。

      設計思想:由于我把當初産生的操作數存儲在了連結清單中,并且實作過對連結清單題目的顯示,在此基礎上實作對使用者的答案驗證,顯得不那麼困難,隻需要讓使用者看到他應該做的題目,讓他輸入答案,程式為其進行驗證。函數之間設計的參數傳遞細節不在贅述。

1 int Count(int first,int second,char third)
 2 {
 3     switch(third)
 4     {
 5     case '+':
 6         return (first+second);
 7     case '-':
 8         return (first-second);
 9     case '*':
10         return (first*second);
11     case '/':
12         return (first/second);
13     default :
14         return 0;
15     }
16 
17 }
18 
19 int UserUsing(linknode &L)
20 {
21     int right=0;
22     int record;
23     linknode p=L->next;
24     while(p    !=NULL)
25     {
26         cout<<"請輸入計算結果:";
27         cout<<p->num1<<p->ope<<p->num2<<"=";
28         cin>>record;
29         if(record==Count(p->num1,p->num2,p->ope))
30             right++;
31         p=p->next;
32     }
33     return right;
34 }
35 void Show(int zongtishu,int zhengque)
36 {
37     cout<<"恭喜您答對了"<<zhengque<<"道題目"<<endl;
38     if(zongtishu-zhengque!=0)
39     {
40         cout<<"但很遺憾您答錯了"<<(zongtishu-zhengque)<<"道題目"<<endl;
41     }
42 }      
使用者可計算型出題程式

     程式設計時間沒有做詳細記錄,但有一個我感覺有一個學到的點,在程式寫完後一開始沒運作,後來測試了一次,當使用者答題全部正确時,程式仍會提醒答錯了0道題,這顯的很是别扭,便做了一些調整。判斷了一下是否有答錯的題目,再進行輸出。還有一個方面就是剛開始想設計兩個值一個表示回答正确的題目,另一個記錄回答錯誤的題目數,但這樣與隻記錄一個資料,另一個通過總數減去你記錄的資料,代碼的複雜度會降低。