此次程式是對上次程式的再次開發,我将自己視作另一個在開發者,在對自己前面程式進行再次審視時,有了别樣的感受,自己寫的程式,一定要為别人(也有可能是自己)留一條活路。閑話不多說,進入大家最喜歡的**環節。
要求:每個同學選一個方向,把程式擴充一下讓程式能接受使用者輸入答案,并判定對錯。最後給出總共對/錯 的數量。
設計思想:由于我把當初産生的操作數存儲在了連結清單中,并且實作過對連結清單題目的顯示,在此基礎上實作對使用者的答案驗證,顯得不那麼困難,隻需要讓使用者看到他應該做的題目,讓他輸入答案,程式為其進行驗證。函數之間設計的參數傳遞細節不在贅述。
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道題,這顯的很是别扭,便做了一些調整。判斷了一下是否有答錯的題目,再進行輸出。還有一個方面就是剛開始想設計兩個值一個表示回答正确的題目,另一個記錄回答錯誤的題目數,但這樣與隻記錄一個資料,另一個通過總數減去你記錄的資料,代碼的複雜度會降低。