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

      1 #include<iostream>
      2 #include<time.h>
      3 using namespace std;
      4 void menu()
      5 {
      6 //    system("cls");
      7     cout<<"---------------菜单---------------"<<endl;
      8     cout<<"         1.定制题目数量           "<<endl;
      9     cout<<"         2.是否有乘除法           "<<endl;
     10     cout<<"         3.数值范围               "<<endl;
     11     cout<<"         4.加减有无负数           "<<endl;
     12     cout<<"         5.除法有无余数           "<<endl;
     13     cout<<"         6.定制每行题的个数       "<<endl;
     14     cout<<"         7.定制间距               "<<endl;
     15     cout<<"         8.开始定制               "<<endl;
     16     cout<<"         9.退出                   "<<endl;
     17     cout<<"----------------------------------"<<endl;
     18 }
     19 void yunsuan(int num,int cc,int range,int neg,int yu,int mhs,int kgs)       //四则运算函数
     20 {
     21     srand(time(NULL));
     22     int a[100];     //存放第一个操作数的数组
     23     int b[100];     //存放第二个操作数的数组
     24     int c[100];     //存放运算符的数组
     25     int n,o,p,q,m,x=1;
     26     int repeat;      //控制是否重复   
     27     int d,e,f,g,sum=0;
     28     for(int i=0;i<num;i++)
     29     {
     30         n=rand()%range;
     31         a[i]=n; 
     32         o=rand()%range;
     33         b[i]=o;
     34         p=rand()%cc;
     35         c[i]=p;
     36         q=rand()%2;
     37         m=rand()%2;
     38         while(neg)      //有无负数
     39         {
     40             switch(q)
     41             {
     42             case(0):
     43                 a[i]=-a[i];
     44                 break;
     45             case(1):
     46                 break;
     47             }
     48             break;
     49         }
     50         while(neg)
     51         {
     52             switch(m)
     53             {
     54             case(0):
     55                 b[i]=-b[i];
     56                 break;
     57             case(1):
     58                 break;
     59             }
     60             break;
     61         }
     62         repeat=1;
     63         for(int j=0;j<i;j++)
     64         {
     65             if(a[i]==a[j]&&b[i]==b[j]&&c[i]==c[j])    //判断是否有重复
     66             {
     67                 i=i-1;
     68                 repeat=0;
     69             }
     70         }
     71         while(repeat)
     72         {
     73             if(i%mhs==0)
     74             {
     75                 cout<<endl;
     76             }
     77             switch(c[i])
     78             {
     79             case(0):
     80                 {
     81                     cout<<"("<<i+1<<") "<<a[i]<<"+ "<<b[i]<<"=";
     82                     cin>>d;
     83                     if(d==a[i]+b[i])
     84                         sum++;
     85                 }
     86                 break;
     87             case(1):
     88                 {
     89                     cout<<"("<<i+1<<") "<<a[i]<<"- "<<b[i]<<"=";
     90                     cin>>e;
     91                     if(e==a[i]-b[i])
     92                         sum++;
     93                 }
     94                 break;
     95             case(2):
     96                 {
     97                     cout<<"("<<i+1<<") "<<a[i]<<"* "<<b[i]<<"=";
     98                     cin>>f;
     99                     if(f==a[i]*b[i])
    100                         sum++;
    101                 }
    102                 break;
    103             case(3):
    104                 {   
    105                      
    106                     if(b[i]==0)       //判断被除数是否为0,是0则不输出
    107                     {
    108                         i=i-1;
    109                         break;
    110                     }
    111                     else
    112                     {
    113                         while(yu)
    114                         {
    115                             if(a[i]%b[i]!=0)
    116                             {
    117                                 i=i-1;
    118                                 x=0;
    119                                 break;
    120                             }
    121                         }
    122                         while(x)
    123                         {
    124                             cout<<"("<<i+1<<") "<<a[i]<<"/ "<<b[i]<<"=";
    125                             cin>>g;
    126                             if(g==a[i]/b[i])
    127                                 sum++;
    128                         }
    129                         break;
    130                     }   
    131                 }   
    132             }
    133             for(int k=0;k<kgs;k++)
    134             {
    135                 cout<<"	";
    136             }
    137             break;
    138         }
    139     }
    140     cout<<endl;
    141     cout<<"共答对"<<sum<<"道题目"<< endl;
    142 }
    143 
    144 
    145 void main()
    146 {
    147     int option,op1,op2,op3,op4,op5,op6,op7,n;
    148     int cc;
    149     menu();
    150    
    151     while(n)
    152     {
    153         cout<<"请输入选择:";
    154         cin>>option;
    155         switch(option)
    156         {
    157         case 1:
    158             {
    159                 cout<<"请输入题目数量:";
    160                 cin>>op1;
    161                 menu();
    162             //    cin>>option;
    163                 break;
    164             }
    165         case 2:
    166             {
    167                 cout<<"有乘除法请输入0,没有乘除法请输入1(程序默认有乘除法):";
    168                 cin>>op2;
    169                 if(op2==0)
    170                 {
    171                     cc=4;
    172                 }
    173                 else if(op2==1)
    174                 {
    175                     cc=2;
    176                 }
    177                 else 
    178                     cout<<"输入有误,请重新输入(有乘除法请输入0,没有乘除法请输入1):";
    179                 menu();
    180             //    cin>>option;
    181                 break;
    182             }
    183         case 3:
    184             {
    185                 cout<<"请输入数值范围";
    186                 cin>>op3;
    187                 menu();
    188             //    cin>>option;
    189                 break;
    190             }
    191         case 4:
    192             {
    193                 cout<<"无负数请输入0,有负数请输入1:";
    194                 cin>>op4;
    195                 menu();
    196             //    cin>>option;
    197                 break;
    198             }
    199         case 5:
    200             {
    201                 cout<<"有余数请输入0,无余数请输入1:";
    202                 cin>>op5;
    203                 menu();
    204             //    cin>>option;
    205                 break;
    206             }
    207         case 6:
    208             {
    209                 cout<<"请输入每行题目的数量:";
    210                 cin>>op6;
    211                 menu();
    212             //    cin>>option;
    213                 break;
    214             }
    215         case 7:
    216             {
    217                 cout<<"请输入每题之间的间距:";
    218                 cin>>op7;
    219                 menu();
    220             //    cin>>option;
    221                 break;
    222             }
    223         case 8:
    224             {
    225                 yunsuan(op1,cc,op3,op4,op5,op6,op7);
    226                 cout<<endl;
    227                 break;
    228             }
    229         case 9:
    230             cout<<"是否退出(0代表退出,1代表继续)";
    231             cin>>n;///
    232             break;
    233          
    234         }
    235     }    
    236 }

    结果:

    实验心得:这次的个人项目,在上次的基础之上,加以改进,虽然还有一些问题,相信在查阅书籍和询问老师以后,可以更好的实现查错。

    一、项目计划总结:

     

    周活动总结表

    姓名:徐擎天                                 日期:2015.3.22

    日期       任务

    听课

    编写程序

    阅读课本

    准备考试

     

     

    日总计

    周日

     

     

     

     

     

     

     

    周一

     

     

     

     

     

     

     

    周二

     100

     20

     20

     

     

     

     140

    周三

     

     40

     20

     

     

     

     60

    周四

     

     

     

     

     

     

     

    周五

     100

     120

     

     

     

     

     220

    周六

     

     120

     40

     

     

     

     160

    周总结

     200

     300

     80

     

     

     

     580

    二、时间记录表:

    学生        徐擎天                                             日期       2014.3.22

    教师        王建民                                             课程           PSP       

    日期

    开始时间

    结束时间

    中断时间

    净时间

    活动

    备注

     3.17

     8.00

     9.50

     10

     100

     听课,根据题目想设计思路

     

     3.18

     14.00

     15.00

     0

     60

     根据所遇到的问题,查阅资料

    将总体框架初步设定

     

     3.20

     8.00

     9.50

     10

     100

     听课

     

     

     15.00

     17.00

     0

     

     编写程序

     

     3.21

     8.00

     9.00

     0

     

     编写程序

     

     

     19.00

     20.00

     0

     

     进行最后调试,提交代码

     

    三、缺陷记录日志:

    学生       徐擎天     

    日期      2014.3.22

    教员       王建民   

    程序号                

    日期

    编号

    类型

    引入阶段

    排除阶段

    修复时间

    修复缺陷

     3.20

     1

     

     执行

     执行

     

     

    再输入错误的情况下,仍显示正确,后来得以改正

     

     

     

     

     

     1

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

      

  • 相关阅读:
    通过C#代码调用Dynamics 365 Web API执行批量操作
    Dynamics 365 CE Update消息PostOperation阶段Image的尝试
    sql注入100种姿势过waf(二):过安全狗
    sql注入100种姿势过waf(一):waf 了解
    双文件上传突破利用
    渗透实例(一):点后缀突破上传文件
    IIS6.0使用冒号上传漏洞利用
    利用3389端口监视管理员登录
    Windows突破远程连接最大数去掉限制登录
    MIME格式解析
  • 原文地址:https://www.cnblogs.com/xuqingtian/p/4357751.html
Copyright © 2011-2022 走看看