个人项目3

Posted way任毫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了个人项目3相关的知识,希望对你有一定的参考价值。

二柱子将做好的项目交给了老师,几天后又得到新的需求:

1、实现在线答题;

2、答题结束后,可以判断对错;

3、并将错题的结果保存起来。

设计思路:

    题目数量:单独赋值到Q1,用srand(time(NULL));来进行循环,用来选择公式。

    数据范围:将Q3放在rand后面来控制范围大小。

   乘除法与加减法:当为s时,则为加减乘除,为b时则为加减法。

   负数:分为case1和case2进行分析,z1和z2进行加减。Y则直接加减,N则进行调换。

   判断正错:则由right++和Q01-right分别进行判断。

源代码:

  1 #include<iostream>
  2 #include<stdarg.h>
  3 #include<stdlib.h>
  4 #include<time.h>
  5 #include<math.h>
  6 using namespace std;
  7 int main()
  8 {
  9 cout<<endl;
 10 cout<<"四则运算在线答题"<<endl;
 11 cout<<endl;
 12 cout<<endl;
 13 Again:
 14 double Q1=1;
 15 int Q01;
 16 int Q2=1;
 17 int Q3=100;
 18 char Q4=\'y\';
 19 int Q5=1;
 20 char Q6=\'n\';
 21 char Q7=\'n\';
 22 double ans=0;
 23 int right=0;
 24 cout<<" 输入题目数量:";
 25 cin>>Q1;
 26 Q01=floor(Q1);
 27 // cout<<"输入每行打印题目数(1-5):";
 28 // cin>>Q2;
 29 cout<<" 每行间距(正整数):";
 30 cin>>Q5;
 31 cout<<" 请输入算式中数值的最大值:";
 32 cin>>Q3;
 33 while(1)
 34 {
 35 cout<<" 运算中需要乘除法吗?需要:s;不需要:b";
 36 cin>>Q4;
 37 cout<<" 减法中需要有负数吗?需要:s;不需要:b";
 38 cin>>Q7;
 39 cout<<"-------------------------------------------------------------------------"<<endl;
 40 cout<<"开始进行答题:"<<endl;
 41 srand(time(NULL));
 42 if(Q4==\'s\')
 43 {
 44 while(1)
 45 {
 46 if(Q1<1)
 47 {
 48 cout<<"有误,请重新输入题目数量:";
 49 cin>>Q1;
 50 Q01=floor(Q1);
 51 }
 52 else
 53 {
 54 for(int j=0;j<Q01;j++)
 55 {
 56 if(j!=0&&j%Q2==0)
 57 {
 58 for(int i=0;i<Q5;i++)
 59 {
 60 cout<<endl;
 61 } 
 62 }
 63 int z1=rand()%Q3;
 64 int z2=rand()%Q3;
 65 int sign=rand()%4;
 66 switch(sign)
 67 {
 68 case 0:
 69 cout<<j+1<<":"<<" "<<z1<<"+"<<z2<<"="<<"\\t";
 70 cin>>ans;
 71 if(ans==z1+z2)
 72 {
 73 cout<<"正确"<<endl;
 74 right++;
 75 }
 76 else
 77 {
 78 cout<<"答错了!"<<endl;
 79 cout<<"正确答案是:"<<z1+z2<<endl;
 80 }
 81 break;
 82 case 1:
 83 if(Q7==\'y\')
 84 {
 85 cout<<j+1<<":"<<" "<<z1<<"-"<<z2<<"="<<"\\t";
 86 cin>>ans;
 87 if(ans==z1-z2)
 88 {
 89 cout<<"正确"<<endl;
 90 right++;
 91 }
 92 else
 93 {
 94 cout<<"答错了!"<<endl;
 95 cout<<"正确答案是:"<<z1-z2<<endl;
 96 }
 97 }
 98 else
 99 {
100 if(z1>z2)
101 {
102 cout<<j+1<<":"<<" "<<z1<<"-"<<z2<<"="<<"\\t";
103 cin>>ans;
104 if(ans==z1-z2)
105 {
106 cout<<"正确"<<endl;
107 right++;
108 }
109 else
110 {
111 cout<<"答错了!"<<endl;
112 cout<<"正确答案是:"<<z1-z2<<endl;
113 }
114 }
115 else
116 {
117 cout<<j+1<<":"<<" "<<z2<<"-"<<z1<<"="<<"\\t";
118 cin>>ans;
119 if(ans==z2-z1)
120 {
121 cout<<"正确"<<endl;
122 right++;
123 }
124 else
125 {
126 cout<<"答错了!"<<endl;
127 cout<<"正确答案是:"<<z2-z1<<endl;
128 }
129 }
130 }
131 break;
132 case 2:
133 cout<<j+1<<":"<<" "<<z1<<"*"<<z2<<"="<<"\\t";
134 cin>>ans;
135 if(ans==z1*z2)
136 {
137 cout<<"正确"<<endl;
138 right++;
139 }
140 else
141 {
142 cout<<"答错了!"<<endl;
143 cout<<"正确答案是:"<<z1*z2<<endl;
144 }
145 break;
146 case 3:
147 if(z2!=0)
148 {
149 cout<<j+1<<":"<<" "<<z1<<"/"<<z2<<"="<<"\\t";
150 cin>>ans;
151 if(ans==z1/z2)
152 {
153 cout<<"正确"<<endl;
154 right++;
155 }
156 else
157 {
158 cout<<"答错了!"<<endl;
159 cout<<"正确答案是:"<<z1/z2<<endl;
160 }
161 }
162 else
163 {
164 j--;
165 }
166 break;
167 }
168 }
169 break;
170 }
171 }
172 cout<<"共答对"<<right<<"道题;"<<"答错"<<Q01-right<<"道题。";
173 cout<<"继续努力!"<<endl;
174 break;
175 }
176 if(Q4==\'n\')
177 {
178 while(1)
179 {
180 if(Q01<1)
181 {
182 cout<<"输入有误,重新输入题目数量:";
183 cin>>Q1;
184 Q01=floor(Q1);
185 }
186 else
187 {
188 for(int j=0;j<Q01;j++)
189 {
190 if(j!=0&&j%Q2==0)
191 {
192 for(int i=0;i<=Q5;i++)
193 {
194 cout<<endl;
195 }
196 }
197 int z1=rand()%Q3;
198 int z2=rand()%Q3;
199 int sign=rand()%2;
200 switch(sign)
201 {
202 case 0:
203 cout<<j+1<<":"<<" "<<z1<<"+"<<z2<<"="<<"\\t";
204 cin>>ans;
205 if(ans==z1+z2)
206 {
207 cout<<"正确"<<endl;
208 right++;
209 }
210 else
211 {
212 cout<<"答错了!"<<endl;
213 cout<<"正确答案是:"<<z1+z2<<endl;
214 }
215 break;
216 case 1:
217 if(Q7==\'y\')
218 {
219 cout<<j+1<<":"<<" "<<z1<<"-"<<z2<<"="<<"\\t";
220 cin>>ans;
221 if(ans==z1-z2)
222 {
223 cout<<"正确"<<endl;
224 right++;
225 }
226 else
227 {
228 cout<<"答错了!"<<endl;
229 cout<<"正确答案是:"<<z1-z2<<endl;
230 }
231 break;
232 }
233 else
234 {
235 if(z1>z2)
236 {
237 cout<<j+1<<":"<<" "<<z1<<"-"<<z2<<"="<<"\\t";
238 cin>>ans;
239 if(ans==z1-z2)
240 {
241 cout<<"正确"<<endl;
242 right++;
243 }
244 else
245 {
246 cout<<"答错了!"<<endl;
247 cout<<"正确答案是:"<<z1-z2<<endl;
248 }
249 break;
250 }
251 else
252 {
253 cout<<j+1<<":"<<" "<<z2<<"-"<<z1<<"="<<"\\t";
254 cin>>ans;
255 if(ans==z2-z1)
256 {
257 cout<<"正确";
258 }
259 else
260 {
261 cout<<"答错了!"<<endl;
262 cout<<"正确答案是:"<<z2-z1<<endl;
263 }
264 break;
265 }
266 }
267 break;
268 }
269 }
270 }
271 break;
272 }
273 cout<<"共答对"<<right<<"道题;"<<"答错"<<Q01-right<<"道题。"<<endl;
274 cout<<"继续努力!"<<endl;
275 break;
276 }
277 else
278 {
279 cout<<"输入有误,请按要求输入!"<<endl;
280 }
281 }
282 cout<<endl;
283 while(1)
284 {
285 cout<<"还需要继续出题还是退出?(s:继续出题;b:退出)";
286 cin>>Q6;
287 if(Q6==\'s\')
288 {
289 goto Again;
290 }
291 if(Q6==\'b\')
292 {
293 goto Exit;
294 }
295 else
296 {
297 cout<<"输入有误,请重新输入:";
298 }
299 }
300 Exit:
301 return 0;
302 }

结果截屏:

心得体会:

这次个人项目的设计让我认识到了有些事情只有做了才有体会,对代码的编写更加的了解。

以上是关于个人项目3的主要内容,如果未能解决你的问题,请参考以下文章

创建片段而不从 java 代码实例化它

导航抽屉片段 Sqlite

刷新标签片段和 viewpager

显示/隐藏片段而不是替换

微信小程序代码片段

《java精品毕设》基于javaweb宠物领养平台管理系统(源码+毕设论文+sql):主要实现:个人中心,信息修改,填写领养信息,交流论坛,新闻,寄养信息,公告,宠物领养信息,我的寄养信息等(代码片段