四则运算2 程序代码,执行结果

  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 yu,int neg,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;
 26     int repeat;      //控制是否重复   
 27     for(int i=0;i<num;i++)
 28     {
 29         n=rand()%range;
 30         a[i]=n; 
 31         o=rand()%range;
 32         b[i]=o;
 33         p=rand()%cc;
 34         c[i]=p;
 35         q=rand()%2;
 36         m=rand()%2;
 37         while(neg)
 38         {
 39             switch(q)
 40             {
 41             case(0):
 42                 a[i]=-a[i];
 43                 break;
 44             case(1):
 45                 break;
 46             }
 47             break;
 48         }
 49         while(neg)
 50         {
 51             switch(m)
 52             {
 53             case(0):
 54                 b[i]=-b[i];
 55                 break;
 56             case(1):
 57                 break;
 58             }
 59             break;
 60         }
 61         repeat=1;
 62         for(int j=0;j<i;j++)
 63         {
 64             if(a[i]==a[j]&&b[i]==b[j]&&c[i]==c[j])    //判断是否有重复
 65             {
 66                 i=i-1;
 67                 repeat=0;
 68             }
 69             else
 70             {
 71                 repeat=1;
 72             }
 73         }
 74         while(repeat)
 75         {
 76             if(i%mhs==0)
 77             {
 78                 cout<<endl;
 79             }
 80             switch(c[i])
 81             {
 82             case(0):
 83                 cout<<"("<<i+1<<") "<<a[i]<<"+ "<<b[i]<<"=";
 84                 break;
 85             case(1):
 86                 cout<<"("<<i+1<<") "<<a[i]<<"- "<<b[i]<<"=";
 87                 break;
 88             case(2):
 89                 cout<<"("<<i+1<<") "<<a[i]<<"* "<<b[i]<<"=";
 90                 break;
 91             case(3):
 92                 {
 93                     while(yu)
 94                     {
 95                         if(a[i]%b[i]!=0)
 96                             i=i-1;
 97                         repeat=0;
 98                     }
 99                     if(b[i]==0)       //判断被除数是否为0,是0则不输出
100                     {
101                         i=i-1;
102                         break;
103                     }
104                     else
105                     {
106                         cout<<"("<<i+1<<") "<<a[i]<<"/ "<<b[i]<<"=";
107                         break;
108                     }
109                 //    break;
110                 }
111             }
112             for(int k=0;k<kgs;k++)
113             {
114                 cout<<"\t";
115             }
116             break;
117         }
118     }
119     cout<<endl;
120 }
121 
122 
123 void main()
124 {
125     int option,op1,op2,op3,op4,op5,op6,op7,op8,op9,n;
126     int cc;
127     menu();
128    
129     while(n)
130     {
131         cout<<"请输入选择:";
132         cin>>option;
133         switch(option)
134         {
135         case 1:
136             {
137                 cout<<"请输入题目数量:";
138                 cin>>op1;
139                 menu();
140             //    cin>>option;
141                 break;
142             }
143         case 2:
144             {
145                 cout<<"有乘除法请输入0,没有乘除法请输入1(程序默认有乘除法):";
146                 cin>>op2;
147                 if(op2==0)
148                 {
149                     cc=4;
150                 }
151                 else if(op2==1)
152                 {
153                     cc=2;
154                 }
155                 else 
156                     cout<<"输入有误,请重新输入(有乘除法请输入0,没有乘除法请输入1):";
157                 menu();
158             //    cin>>option;
159                 break;
160             }
161         case 3:
162             {
163                 cout<<"请输入数值范围";
164                 cin>>op3;
165                 menu();
166             //    cin>>option;
167                 break;
168             }
169         case 4:
170             {
171                 cout<<"无负数请输入0,有负数请输入1:";
172                 cin>>op4;
173                 menu();
174             //    cin>>option;
175                 break;
176             }
177         case 5:
178             {
179                 cout<<"有余数请输入0,无余数请输入1:";
180                 cin>>op5;
181                 menu();
182             //    cin>>option;
183                 break;
184             }
185         case 6:
186             {
187                 cout<<"请输入每行题目的数量:";
188                 cin>>op6;
189                 menu();
190             //    cin>>option;
191                 break;
192             }
193         case 7:
194             {
195                 cout<<"请输入每题之间的间距:";
196                 cin>>op7;
197                 menu();
198             //    cin>>option;
199                 break;
200             }
201         case 8:
202             {
203                 yunsuan(op1,cc,op3,op4,op5,op6,op7);
204                 cout<<endl;
205                 break;
206             }
207         case 9:
208             cout<<"是否退出(0代表退出,1代表继续)";
209             cin>>n;///
210             break;
211          
212         }
213     }    
214 }

执行结果:

一、项目计划总结:

 

周活动总结表

姓名:徐擎天                                 日期:2015.3.15

日期       任务

听课

编写程序

阅读课本

准备考试

 

 

日总计

周日

 

 

 

 

 

 

 

周一

 

 

 

 

 

 

 

周二

 100

 20

 20

 

 

 

 140

周三

 

 40

 20

 

 

 

 60

周四

 

 

 

 

 

 

 

周五

 100

 120

 

 

 

 

 220

周六

 

 120

 40

 

 

 

 160

周总结

 200

 300

 80

 

 

 

 580

阶段时间和效率                                            周数(上一次周活动表的周数+1):

不包括上一周在内的累计时间                                                                         

总计

 

 

 

 

 

 

 

平均

 

 

 

 

 

 

 

最大

 

 

 

 

 

 

 

最小

 

 

 

 

 

 

 

以前各周的累计时间                                                                                    

总计

 

 

 

 

 

 

 

平均

 

 

 

 

 

 

 

最大

 

 

 

 

 

 

 

最小

 

 

 

 

 

 

 

二、时间记录表:

学生        徐擎天                                             日期       2014.3.15  

教师        王建民                                             课程           PSP       

日期

开始时间

结束时间

中断时间

净时间

活动

备注

 3.10

 8.00

 9.50

 10

 100

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

 

 3.11

 14.00

 15.00

 0

 60

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

将总体框架初步设定

 

 3.13

 8.00

 9.50

 10

 100

 听课

 

 

 15.00

 17.00

 0

 

 编写程序

 

 3.14

 8.00

 9.00

 0

 

 编写程序

 

 

 19.00

 20.00

 0

 

 进行最后调试,提交代码

 

三、缺陷记录日志:

学生       徐擎天     

日期      2014.3.15 

教员       王建民   

程序号                

日期

编号

类型

引入阶段

排除阶段

修复时间

修复缺陷

 3.12

 1

 

 编译

 编译阶段

 10min

 

 在调用函数时,由于主函数里的次序和调用函数里的次序没有对应,导致输出结果有误

 3.14

 2

 

 编译

 编译

 10min

 

 主菜单里面属于一个数后,没有继续执行,而是跳出了程序。由于没有循环,导致函数执行完,直接跳出

 

 3

 

 执行

 执行

 30min

 

 最后开始定制时,一直无限重复输出。后来发现是由于在循环前没有控制变量。最后问题得以解决

 

 4

 

 执行

 执行

 

 

 在9退出时,没有退出,而是继续执行。后来加入while里的变量,根据用户输出,控制程序是否退出。

 

转载于:https://www.cnblogs.com/xuqingtian/p/4339687.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值