1. 程式人生 > >C語言程式設計(第三版) 第六章 實驗題 2 任務6

C語言程式設計(第三版) 第六章 實驗題 2 任務6

#include <iostream> #include<iomanip> #include<time.h> using namespace std; int main() {     int flag,n1,n2;     char m;     double i=0,l,a=0,x,z,x1,x2,b;     do     { CXW:         srand(int (time(0)));         x1=rand()%10+1;         x2=rand()%10+1;         n1=rand()%4;         n2=rand()%4;         if (n1==1)             m='+';         else if (n1==2)             m='-';         else if (n1==3)             m='*';         else if (n1==0)             m='/';         switch (m)         {         case '+':             cout << x1<<"+"<<x2<<"="<<"?";             z=x1 + x2;             cin >>x;             i++;             if (x==z)             {                 switch (n2)                 {                 case 1:                     cout <<"Very good!"<<endl;                     break;                 case 2:                     cout <<"Excellent!"<<endl;                     break;                 case 3:                     cout <<"Nice work!"<<endl;                     break;                 case 0:                     cout <<"Keep up the goof work!"<<endl;                     break;                 }                 flag=0;                 a++;             }             else             {                 switch (n2)                 {                 case 1:                     cout <<"No. Please try again."<<endl;                     break;                 case 2:                     cout <<"Wrong. Try once more."<<endl;                     break;                 case 3:                     cout <<"Don't give up"<<endl;                     break;                 case 0:                     cout <<"Not correct.Keep trying."<<endl;                     break;                 }                 flag=0;             }             break;         case '-':             cout << x1<<"-"<<x2<<"="<<"?";             z=x1 - x2;             cin >>x;             i++;             if (x==z)             {                 switch (n2)                 {                 case 1:                     cout <<"Very good!"<<endl;                     break;                 case 2:                     cout <<"Excellent!"<<endl;                     break;                 case 3:                     cout <<"Nice work!"<<endl;                     break;                 case 0:                     cout <<"Keep up the goof work!"<<endl;                     break;                 }                 flag=0;                 a++;             }             else             {                 switch (n2)                 {                 case 1:                     cout <<"No. Please try again."<<endl;                     break;                 case 2:                     cout <<"Wrong. Try once more."<<endl;                     break;                 case 3:                     cout <<"Don't give up"<<endl;                     break;                 case 0:                     cout <<"Not correct.Keep trying."<<endl;                     break;                 }                 flag=0;             }             break;         case '*':             cout << x1<<"*"<<x2<<"="<<"?";             z=x1 * x2;             cin >>x;             i++;             if (x==z)             {                 switch (n2)                 {                 case 1:                     cout <<"Very good!"<<endl;                     break;                 case 2:                     cout <<"Excellent!"<<endl;                     break;                 case 3:                     cout <<"Nice work!"<<endl;                     break;                 case 0:                     cout <<"Keep up the goof work!"<<endl;                     break;                 }                 flag=0;                 a++;             }             else             {                 switch (n2)                 {                 case 1:                     cout <<"No. Please try again."<<endl;                     break;                 case 2:                     cout <<"Wrong. Try once more."<<endl;                     break;                 case 3:                     cout <<"Don't give up"<<endl;                     break;                 case 0:                     cout <<"Not correct.Keep trying."<<endl;                     break;                 }                 flag=0;             }             break;         case '/':             cout << x1<<"/"<<x2<<"="<<"?";             z=x1 / x2;             cin >>x;             i++;             if (x==z)             {                 switch (n2)                 {                 case 1:                     cout <<"Very good!"<<endl;                     break;                 case 2:                     cout <<"Excellent!"<<endl;                     break;                 case 3:                     cout <<"Nice work!"<<endl;                     break;                 case 0:                     cout <<"Keep up the goof work!"<<endl;                     break;                 }                 flag=0;                 a++;             }             else             {                 switch (n2)                 {                 case 1:                     cout <<"No. Please try again."<<endl;                     break;                 case 2:                     cout <<"Wrong. Try once more."<<endl;                     break;                 case 3:                     cout <<"Don't give up"<<endl;                     break;                 case 0:                     cout <<"Not correct.Keep trying."<<endl;                     break;                 }                 flag=0;             }             break;         }         if (flag==0&&i<10)             goto CXW;         else         {             l=i;             i=0;             b=a;             a=0;             cout <<b<<"   "<<b/l*100<<"%"<<endl;         }     }     while (b/l*100<75);     return 0; }