个人第一次作业
Posted 哇哦i
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了个人第一次作业相关的知识,希望对你有一定的参考价值。
需求分析:
根据键盘输入数字显示对应的表达式,答完题后给出正确错误题目的个数和题号。
功能设计:
系统内部自主生成表达式,并能对结果进行评判。
设计实现:
先做出一个简单的四则运算,然后在其基础上把答案进行比较并记录此时的题号,最后输出答题结果。
代码说明:
1 #include "stdafx.h" 2 #include<stdlib.h> 3 #include <time.h> 4 #include <string> 5 #include <iostream> 6 using std::string; 7 using namespace std; 8 9 int _tmain(int argc, _TCHAR* argv[]) 10 { 11 int a1,a2,b1,b2,c1,c2,d,e,i,n,z; 12 char op1,op2; 13 string s,r,w; 14 string h1,h2; 15 char g[] = " "; 16 int right = 0; 17 int wrong = 0; 18 char r1[] = " "; 19 char w1[] = " "; 20 srand(unsigned(time(0))); 21 cout << "输入题数:"; 22 cin >> n; 23 for(i=0;i<n;i++) 24 { 25 a1 = rand()%10; 26 b1 = rand()%10; 27 c1 = rand()%10; 28 d = rand()%4; 29 e = rand()%4; 30 switch(d) 31 { 32 case 0:op1=\'+\';break; 33 case 1:op1=\'-\';break; 34 case 2:op1=\'*\';break; 35 case 3:op1=\'/\';break; 36 } 37 switch(e) 38 { 39 case 0:op2=\'+\';break; 40 case 1:op2=\'-\';break; 41 case 2:op2=\'*\';break; 42 case 3:op2=\'/\';break; 43 } 44 while(op1==\'/\'&&b1==0)b1 = rand()%10; 45 while(op2==\'/\'&&c1==0)c1 = rand()%10; 46 if(op1==\'+\'&&op2==\'+\')z = a1 + b1 + c1; 47 if(op1==\'+\'&&op2==\'-\')z = a1 + b1 - c1; 48 if(op1==\'+\'&&op2==\'*\')z = a1 + (b1 * c1); 49 if(op1==\'+\'&&op2==\'/\')z = a1 + (b1 / c1); 50 if(op1==\'-\'&&op2==\'+\')z = a1 - b1 + c1; 51 if(op1==\'-\'&&op2==\'-\')z = a1 - b1 - c1; 52 if(op1==\'-\'&&op2==\'*\')z = a1 - (b1 * c1); 53 if(op1==\'-\'&&op2==\'/\')z = a1 - (b1 / c1); 54 if(op1==\'*\'&&op2==\'+\')z = a1 * b1 + c1; 55 if(op1==\'*\'&&op2==\'-\')z = a1 * b1 - c1; 56 if(op1==\'*\'&&op2==\'*\')z = a1 * b1 * c1; 57 if(op1==\'*\'&&op2==\'/\')z = a1 * b1 / c1; 58 if(op1==\'/\'&&op2==\'+\')z = a1 / b1 + c1; 59 if(op1==\'/\'&&op2==\'-\')z = a1 / b1 - c1; 60 if(op1==\'/\'&&op2==\'*\')z = a1 / b1 * c1; 61 if(op1==\'/\'&&op2==\'/\')z = a1 / b1 / c1; 62 cout << i+1 << "." << " "; 63 cout <<a1 << op1 << b1 << op2 << c1 << "="; 64 cin >> s; 65 sprintf(g,"%d",z); 66 h1 += g; 67 h2 += s; 68 if(g == s){ 69 right++; 70 sprintf(r1,"%d",i+1); 71 r +=r1; 72 } 73 else{ 74 wrong++; 75 sprintf(w1,"%d",i+1); 76 w +=w1; 77 } 78 } 79 cout << "\\n正确解答:" << right << endl; 80 cout << "正确题号:"; 81 for(i=0;i<right;i++){ 82 cout << r[i] << " "; 83 } 84 cout << "\\n错误解答:" << wrong << endl; 85 cout << "错误题号:"; 86 for(i=0;i<wrong;i++){ 87 cout << w[i] << " "; 88 } 89 system("pause"); 90 return 0; 91 92 }
测试运行:
PSP:
PSP2.1 |
Personal Software Process Stages |
Time Senior Student |
Time |
Planning |
计划 |
0.5h |
1h |
· Estimate |
估计这个任务需要多少时间 |
2d |
2d |
Development |
开发 |
1d |
1.5d |
· Analysis |
需求分析 (包括学习新技术) |
1h |
2h |
· Design Spec |
生成设计文档 |
0 |
0 |
· Design Review |
设计复审 |
0 |
0 |
· Coding Standard |
代码规范 |
1h |
0.5h |
· Design |
具体设计 |
1h |
1h |
· Coding |
具体编码 |
2d |
1.5d |
· Code Review |
代码复审 |
2h |
1h |
· Test |
测试(自我测试,修改代码,提交修改) |
1h |
2h |
Reporting |
报告 |
1h |
0.5h |
· |
测试报告 |
0 |
0 |
· |
计算工作量 |
0 |
0 |
· |
并提出过程改进计划 |
0 |
0 |
小结:
班级大佬代码强多了,功能做的也比较完善。个人基础比较差,做不到所有功能,这个四则运算在除法上面也做的不够完整。再接下来的日子要好好锻炼自己,争取赶上班级同学的步伐。
https://coding.net/u/thh514024191/p/a-simple-arithmetic-device/git
以上是关于个人第一次作业的主要内容,如果未能解决你的问题,请参考以下文章
HTML5期末大作业:餐饮美食网站设计——咖啡(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 咖啡网页设计 美食餐饮网页设计...(代码片段