课后作业2
1.在文章开头写出自己目前写过的代码量以及自己的码云项目地址。
答:几千行
没上传到码云
- 给出PSP表格。
|
PSP2.1 |
Psp |
预估耗时(分钟) |
实际耗时(分钟) |
|
Planning |
计划 |
10 |
20 |
|
Estinate |
估计任务需要多少时间并规划大致工作步骤 |
60 |
40 |
|
Development |
开发 |
180 |
360 |
|
Analysis |
需求分析(包括学习新技术) |
60 |
60 |
|
Design Spec |
生成设计文档 |
60 |
30 |
|
Design Review |
设计复审(和同事审核设计文档) |
40 |
10 |
|
Coding Standard |
代码规范(为目前的开发制定合适的规范) |
40 |
50 |
|
Design |
具体设计 |
120 |
150 |
|
Coding |
具体编码 |
120 |
180 |
|
Code Review |
代码复审 |
40 |
60 |
|
Test |
测试(自我测试,修改代码,提交修改) |
20 |
30 |
|
Reporting |
报告 |
20 |
40 |
|
Test Roport |
测试报告 |
20 |
20 |
|
Size Measurement |
计算工作量 |
20 |
10 |
|
Postmorten&Process Inporovement Plan |
事后总结,并提出过程改进计划 |
20 |
40 |
|
Summary |
合计 |
830 |
1100 |
- 解题思路描述。即刚开始拿到题目后,如何思考,如何找资料的过程。
答:(1)先把整个表达式输入进来,
(2)然后判断字符串中的每个字符是不是数字,
(3)如果是数字赋予一个值,不是就赋予另外一个值
(4)然后调用计算函数,求结果
(5)然后百度
(6)再考虑括号分数运算等问题
(7)然后再百度
4.设计实现过程。设计包括代码如何组织,比如会有几个类,几个函数,他们之间关系如何,关键函数是否需要画出流程图?单元测试是怎么设计的?
答:我觉得不需要画流程图
单元测试的设计:先准备数据,然后调用方法,return结果
5.记录在改进程序性能上所花费的时间,描述你改进的思路,并展示一张性能分析图(由VS 2017的性能分析工具自动生成),并展示你程序中消耗最大的函数。
6.代码说明。展示出项目关键代码,并解释思路与注释说明。
while (ch!='\n') {
if (i==0)
scanf("%f",&a[i]);
else
{
scanf("%c",&ch);
if(ch=='\n')
break;
scanf("%f",&a[i]);
}
n=arithmetic(n,ch,a[i]);
i++;
}
7.结合在构建之法中学习到的相关内容与个人项目的实践经历,撰写解决项目的心路历程与收获。
写代码之前思路还挺清晰的,后来发现预想的和现实差距太多了,终于发现自己不会的地方很多;收获还挺多的,最重要的是写代码要有足够的耐心
代码如下:
#include<stdio.h>
float arithmetic(float x,char ch,float y)
{
switch (ch) {
case '+' : return (x+y); break;
case '-' : return (x-y); break;
case '*' : return (x*y); break;
case '/' : return (x/y); break;
}
}
int main()
{
float a[20];
float n=1;
char ch='*';
int i=0;
printf("Enter an expression:");
while (ch!='\n') {
if (i==0)
scanf("%f",&a[i]);
else
{
scanf("%c",&ch);
if(ch=='\n')
break;
scanf("%f",&a[i]);
}
n=arithmetic(n,ch,a[i]);
i++;
}
printf("Value of expression:%.1f",n);
return 0;
}

浙公网安备 33010602011771号