zoukankan      html  css  js  c++  java
  • 四则运算3

    1.实验题目:

    让程序能接受用户输入答案,并判定对错。最后给出总共对/错 的数量。

    2.设计思路:
    定义两个数组,把计算结果存入其中一个,把用户自己写的答案存入另一个数组,比较是否相等,从而求出正确与错误题目的个数。
    3.源代码:
      1 #include<iostream.h>
      2 #include<stdlib.h>
      3 #include<time.h>
      4 void choice2();
      5 void create(int m,int n){
      6     int a,b,c;
      7     a=rand()%n;
      8     b=rand()%n;
      9     c=rand()%m;
     10     switch(c){
     11     case 0:
     12         cout<<a<<"+"<<b<<"="<<endl;
     13         break;
     14     case 1:
     15         if(a>b)
     16         {
     17             cout<<a<<"-"<<b<<"="<<endl;
     18         }
     19         else
     20         {
     21             cout<<b<<"-"<<a<<"="<<endl;
     22         }
     23         break;
     24     case 2:
     25         cout<<a<<"*"<<b<<"="<<endl;
     26         break;
     27     case 3:
     28         if(b!=0)
     29         {
     30             cout<<a<<"/"<<b<<"="<<endl;
     31         }
     32         else
     33         {
     34             cout<<"这道题有误!"<<endl;
     35         }
     36         break;
     37     }
     38 }
     39 void caidan()
     40 {
     41     cout<<"----四则运算2-----"<<endl;
     42     cout<<"1. 定制出题数量"<<endl;
     43     cout<<"2. 出题打印"<<endl;
     44     cout<<"3. 退出菜单"<<endl;
     45 }
     46 void caidan2()
     47 {
     48     cout<<"----四则运算2----"<<endl;
     49     cout<<"1. 乘除法选择"<<endl;
     50     cout<<"2. 数值范围选择"<<endl;
     51     cout<<"3. 余数有无选择"<<endl;
     52     cout<<"4. 打印间隔选择"<<endl;
     53     cout<<"5. 退出菜单"<<endl;
     54 }
     55 void choice()
     56 {
     57     int xuanze,num;
     58     caidan();
     59     cout<<"输入您的选择:"<<endl;
     60     cin>>xuanze;
     61     while(xuanze!=3)
     62     {
     63         switch(xuanze)
     64         {
     65         case 1:
     66             cout<<"请输入您想定制的数量:"<<endl;
     67             cin>>num;
     68             caidan();
     69             cin>>xuanze;
     70             break;
     71         case 2:
     72             cout<<"出题打印!"<<endl;
     73             choice2();
     74             break;
     75         default:
     76             cout<<"输入有误!请重新输入!"<<endl;
     77             caidan();
     78             cin>>xuanze;
     79             break;
     80         }
     81     }
     82 }
     83 void choice2()
     84 {
     85     int key,k1,k2,k3,k4,num,k,a,b,c;
     86     int count1=0;
     87     int count2=0;
     88     int jg;
     89     int ans;
     90     caidan2();
     91     cout<<"请输入您的选择:"<<endl;
     92     cin>>key;
     93     while(key)
     94     {
     95         switch(key)
     96         {
     97         case 1:
     98             cout<<"请输入0或1(0代表有乘除,1代表无乘除!)"<<endl;
     99             cin>>k1;
    100             if(k1==0)
    101             {
    102                 cout<<"请输入你想定制的数量:"<<endl;
    103                 cin>>num;
    104                 for(int i=0;i<num;i++)
    105                 {
    106                     int n=100;
    107                     int m=4;
    108                     a=rand()%n;
    109                     b=rand()%n;
    110                     c=rand()%m;    
    111                     switch(c){
    112                     case 0:
    113                         {
    114                             cout<<i<<")"<<a<<"+"<<b<<"="<<endl;
    115                             jg=a+b;
    116                             cout<<"输入你想的答案:"<<endl;
    117                         cin>>ans;
    118                         if(ans==jg){
    119                             cout<<"正确!"<<endl;
    120                             count1++;
    121                         }
    122                         else{
    123                             cout<<"错误!"<<endl;
    124                             count2++;
    125                         }
    126                         }
    127                         break;
    128                     case 1:
    129                         if(a>b)
    130                         {
    131                             cout<<i<<")"<<a<<"-"<<b<<"="<<endl;
    132                             jg=a-b;
    133                             cout<<"输入你想的答案:"<<endl;
    134                         cin>>ans;
    135                         if(ans==jg){
    136                             cout<<"正确!"<<endl;
    137                             count1++;
    138                         }
    139                         else{
    140                             cout<<"错误!"<<endl;
    141                             count2++;
    142                         }
    143                         }
    144                         else
    145                         {
    146                             cout<<i<<")"<<b<<"-"<<a<<"="<<endl;
    147                             jg=b-a;
    148                             cout<<"输入你想的答案:"<<endl;
    149                         cin>>ans;
    150                         if(ans==jg){
    151                             cout<<"正确!"<<endl;
    152                             count1++;
    153                         }
    154                         else{
    155                             cout<<"错误!"<<endl;
    156                             count2++;
    157                         }
    158                         }
    159                         break;
    160                     case 2:
    161                         {
    162                             cout<<i<<")"<<a<<"*"<<b<<"="<<endl;
    163                             jg=a*b;
    164                             cout<<"输入你想的答案:"<<endl;
    165                         cin>>ans;
    166                         if(ans==jg){
    167                             cout<<"正确!"<<endl;
    168                             count1++;
    169                         }
    170                         else{
    171                             cout<<"错误!"<<endl;
    172                             count2++;
    173                         }
    174                         }
    175                         break;
    176                     case 3:
    177                         if(b!=0)
    178                         {
    179                             cout<<i<<")"<<a<<"/"<<b<<"="<<endl;
    180                             jg=a/b;
    181                             cout<<"输入你想的答案:"<<endl;
    182                         cin>>ans;
    183                         if(ans==jg){
    184                             cout<<"正确!"<<endl;
    185                             count1++;
    186                         }
    187                         else{
    188                             cout<<"错误!"<<endl;
    189                             count2++;
    190                         }
    191                         }
    192                         else
    193                         {
    194                             cout<<"这道题有误!"<<endl;
    195                         }
    196                         break;
    197 
    198                     
    199                         cout<<"答对共"<<count1<<""<<endl;
    200                         cout<<"答错共"<<count2<<""<<endl;
    201                     }
    202                     }
    203 cout<<"答对共"<<count1<<""<<endl;
    204                         cout<<"答错共"<<count2<<""<<endl;
    205             }
    206         
    207             
    208             else if(k1==1)
    209             {
    210                 cout<<"请输入你想定制的数量:"<<endl;
    211                 cin>>num;
    212                 for(int i=0;i<num;i++){
    213                     create(2,100);
    214                 }
    215             }
    216             else
    217             {
    218                 cout<<"输入有误!请重输:"<<endl;
    219                 cin>>k1;
    220             }
    221             caidan2();
    222             cin>>key;
    223             break;
    224         case 2:
    225             {
    226                 cout<<"请输入出题数值范围(数值范围默认100以内)"<<endl;
    227                 cin>>k2;
    228                 cout<<"请输入你想定制的数量:"<<endl;
    229                 cin>>num;
    230                 for(int i=0;i<num;i++){
    231                     create(4,k2);
    232                 }
    233                 caidan2();
    234                 cin>>key;
    235                 break;
    236             }
    237         case 3:
    238             cout<<"请输入0或1(0代表有余数,1代表无余数!)"<<endl;
    239             cin>>k3;
    240             
    241             if(k3==0)
    242             {
    243                 cout<<"请输入出题数值范围(数值范围默认100以内)"<<endl;
    244                 cin>>k2;
    245                 cout<<"请输入你想定制的数量:"<<endl;
    246                 cin>>num;
    247                 int a=rand()%k2;
    248                 int b=rand()%k2;
    249                 
    250                 if(a%b==0)
    251                 {
    252                     srand(time(NULL));
    253                     a=rand()%k2;
    254                     b=rand()%k2;
    255                     for(int i=0;i<num;i++){
    256                         create(4,k2);}
    257                 }
    258                 else
    259                 {
    260                     for(int i=0;i<num;i++){
    261                         create(4,k2);}
    262                 }
    263             }
    264             else if(k3==1)
    265             {
    266                 cout<<"请输入出题数值范围(数值范围默认100以内)"<<endl;
    267                 cin>>k2;
    268                 cout<<"请输入你想定制的数量:"<<endl;
    269                 cin>>num;
    270                 int a=rand()%k2;
    271                 int b=rand()%k2;
    272                 
    273                 if(a%b==0)
    274                 {
    275                     srand(time(NULL));
    276                     a=rand()%k2;
    277                     b=rand()%k2;
    278                     for(int i=0;i<num;i++){
    279                         create(4,k2);}
    280                 }
    281                 else
    282                 {
    283                     for(int i=0;i<num;i++){
    284                         create(4,k2);}
    285                 }
    286             }
    287             caidan2();
    288             cin>>key;
    289             break;
    290         case 4:
    291             {
    292                 cout<<"请输入您想打印时的间隔:"<<endl;
    293                 cin>>k4;
    294                 cout<<"请输入你想定制的数量:"<<endl;
    295                 cin>>num;
    296                 for(int i=0;i<num;i++)
    297                 {
    298                     create(4,100);
    299                     for(int j=0;j<k4;j++)
    300                     {
    301                         cout<<"	";
    302                     }
    303                 }
    304                 caidan2();
    305                 break;
    306             }
    307         case 5:
    308             exit(1);
    309         default:
    310             cout<<"输入有误!请重新输入!"<<endl;
    311             caidan2();
    312             cin>>key;
    313             break;
    314         }
    315     }
    316 }
    317 void main()
    318 {
    319     int xuanze;
    320     choice();
    321     if(xuanze==2)
    322     {
    323         choice2();
    324     }
    325 }

    4.结果截图:

     
    5.实验总结:
    程序本身存在一些不足,但我相信用户使用起来效果应该不错。对于界面化的实现,日后还应该更加努力吧。
    6.psp:
  • 相关阅读:
    js 函数定义的方式
    JS闭包的理解及常见应用场景
    requireJS的基本使用
    Zepto.js简介
    石川es6课程---1-2、ES6简介
    黑马lavarel教程---8、session
    Git使用操作指南和GitHub
    构建自己的Java并发模型框架
    对象的创建和存在时间(持续更新)
    iOS 通过HEX(十六进制)得到一个UIColor的对象
  • 原文地址:https://www.cnblogs.com/zhengt/p/4357451.html
Copyright © 2011-2022 走看看