1. 程式人生 > >對二柱子的專案完成更新

對二柱子的專案完成更新

題目要求:1,實現線上答題;

                   2,答題結束後,可以判斷對錯;

                   3,並將錯題的結果儲存起來。

 

實驗過程:

                                         #include<iostream.h>
                                         #include<stdlib.h>
                                         #include<time.h>
                                               void boom()
                                                        {
                                                                float x,y;
                                                                int z,t; 
                                                               int first_num,second_num,third_num,fourth_num;
                                                                       srand(time(NULL));
                                                                int n;
                                                                float k;
                                                                float d;
                                                                float daan[100];
                                                               int zq=0;
                                                               int cw=0;
                                         cout<<"需要列出多少到數學題?"<<endl;
                                                   cin>>n; 
                                          cout<<"********************************"<<endl;
                                                        for(int i=0;i<n;i++)
                                                                            {
                                                                                    z=rand()%4;
                                                                                           first_num=rand()%10;
                                                                                     second_num=rand()%10;
                                                                                                third_num=rand()%10;
                                                                                            fourth_num=rand()%10;
                                                                                   if (second_num==1)
                                                                                                  {
                                                                                                              x=(float)first_num;
                                                                                                   }
                                                                                  else if(first_num>second_num)
                                                                                                  {
                                                                                                          t=first_num;
                                                                                                         first_num=second_num;
                                                                                                         second_num=t; 
                                                                                                     }
                                                                             x=(float)first_num/second_num;
                                                                                     if (fourth_num==1)
                                                                                                  {
                                                                                                        y=(float)third_num;
                                                                                                   }
                                                                                    else if(third_num>fourth_num)
                                                                                                  {
                                                                                                        t=third_num;
                                                                                                           third_num=fourth_num;
                                                                                                          fourth_num=t; 
                                                                                                    }
                                                                                                     y=(float)third_num/fourth_num;
                                                                                                 z=rand()%4;
                                                                                                 switch(z)
                                                                                                 {
                                                                                                     case 0:
                                                                                                                  cout<<i+1<<"、 "<<first_num<<"/"<<second_num<<"+"<<third_num<<"/"<<fourth_num<<"="<<" ";
                                                                                                               daan[i+1]=x+y;
                                                                                                      break;

                                                                                                      case 1:
                                                                                                                    cout<<i+1<<"、 "<<first_num<<"/"<<second_num<<"-"<<third_num<<"/"<<fourth_num<<"="<<" "; 
                                                                                                                    daan[i+1]=x-y;
                                                                                                       break;                                                                                                          case 2:
                                                                                                                   cout<<i+1<<"、 "<<first_num<<"/"<<second_num<<"*"<<third_num<<"/"<<fourth_num<<"="<<" ";
                                                                                                                    daan[i+1]=x*y;
                                                                                                        break;
                                                                                                         case 3:

                                                                                                 if(y!=0)
                                                                                                     {
                                                                                                            cout<<i+1<<"、 "<<first_num<<"/"<<second_num<<"÷"<<third_num<<"/"<<fourth_num<<"="<<" ";
                                                                                                     }
                                                                                                 else
                                                                                                    {
                                                                                                 i=i-1;
                                                                                                    }
                                                                                                            daan[i+1]=(float)x/y;
                                                                                                 break;
                                                                                                    }  
                                                                                                         if((i+1)%3==0)
                                                                                                 {
                                                                                                    for(int c=0;c<=1;c++)
                                                                                                 {
                                                                                                 cout<<endl;
                                                                                                 }
                                                                                                 }
                                                                                                       if((i+1)==n)
                                                                                                            {
                                                                                                                 cout<<endl;
                                                                                                }
                                                                                                             }
                                                                                                        for(i=1;i<=n;i++)
                                                                                                              {
                                                                                                                  cout<<"請作答:"<<endl;
                                                                                                                  cout<<i<<"、";
                                                                                                                      cin>>d;
                                                                                                                if(d==daan[i])
                                                                                                            {
                                                                                                                 cout<<"恭喜您,回答正確!"<<endl;
                                                                                                                cout<<endl;
                                                                                                                     zq=zq+1;
                                                                                                              }
                                                                                                                else
                                                                                                                     {
                                                                                                                        cout<<"回答錯誤,正確答案為:"<<" "<<daan[i]<<endl;
                                                                                                                      cout<<endl;
                                                                                                                       cw=cw+1;
                                                                                                                        }
                                                                                                                     }
                                                                                                                            k=(float)zq/n;
                                                                                                                  cout<<"回答正確的數量為:"<<" "<<zq<<"個"<<endl;
                                                                                                 cout<<"回答錯誤的數量為:"<<" "<<cw<<"個"<<endl;
                                                                                                    cout<<"正確率為:"<<" "<<k<<endl;
                                                                                                                             }

                                                                                                   int main()
                                                                                                  {
                                                                                                             boom(); 
                                                                                                                    int c;
                                                                                                                  cout<<"要繼續答題嗎?(0:繼續 1:退出)"<<endl;
                                                                                                                   cin>>c;
                                                                                                                        if(c==0)
                                                                                                                              {
                                                                                                                                    cout<<endl;
                                                                                                                                    main();
                                                                                                                               }
                                                                                                                    else
                                                                                                                           {
                                                                                                                                   cout<<endl;
                                                                                                                                      return 0;
                                                                                                                             }

                                                                                                                                           return 0;
                                                                }

實驗結果: