个人第一次作业

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

以上是关于个人第一次作业的主要内容,如果未能解决你的问题,请参考以下文章

第一次个人编程作业

第一次个人作业(代码编写调试debug相关)

第一次个人编程作业

第一次个人作业(心得经验)

第一次个人编程作业

HTML5期末大作业:餐饮美食网站设计——咖啡(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 咖啡网页设计 美食餐饮网页设计...(代码片段