个人项目作业

1.github代码地址:https://github.com/1018985954/wc

2.评估表

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

 30

 45

· Estimate

· 估计这个任务需要多少时间

20

45

Development

开发

 30  

40

· Analysis

· 需求分析 (包括学习新技术)

 60

 120

· Design Spec

· 生成设计文档

 30  

 45

· Design Review

· 设计复审 (和同事审核设计文档)

 20

 30

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

 10

 30

· Design

· 具体设计

 30

 40

· Coding

· 具体编码

 500

 720+

· Code Review

· 代码复审

 20

 30

· Test

· 测试(自我测试,修改代码,提交修改)

 60

 70

Reporting

报告

 20  

 30

· Test Report

· 测试报告

 30

 50

· Size Measurement

· 计算工作量

 10

 15

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

 30

 45

合计

 

 

 

3.解题思路描述:

拿到题目后,我首先看的是题目需求。但是发现看不懂题目需求,比如说支持-c,支持-w是什么意思。然后去问了一下同学,同学给我解释了这些题目有解释,扩展功能的那些需求又是什么。但是我发现我C语言文件之间的读写还不会,于是我就上CSDN,博客园里面找相应的代码分析,然后看了几下,并且自己去写。

4.代码设计过程:

首先按题目所需的功能,按功能划分函数,比如读取文件中的字符,则划为countw函数,划分好函数,再写主函数。在主函数中用scanf读入用户输入的字符以选择用哪个功能去查找哪个文件,并将结果反馈出来。

5.代码说明:

int countw(char *file)//返回文件词的数目
{ FILE *f;     //创建一个文件指针
f=fopen(file,"r");  //打开指定的测试文件
char ch;
if(NULL==(f=fopen(file,"r"))) 
{
printf("file is NULL");  //没有找到指定的文件
}
else
while(!feof(f))                  //直到文件结束,执行计数操作
{
ch=fgetc(f);      //从文件中读取一个字符
if((ch >= 'a'&&ch <= 'z')||(ch>='A'&&ch<='Z'))   //检测读取的字符是否是单词
aword=1;
else if (aword)           //遇到非英文字母就让单词总数加1,开始判断新的单词开始
{
cword++;
aword=0;
}
}
fclose(f); printf("wordnum:%d ",cword);
}

int countc(char *file) //返回文件的字符数
{ FILE *f;
f = fopen(file, "r");
char a;
if(NULL==(f=fopen(file,"r")))
{
printf("file is NULL");
}
else
while (!feof(f))
{
a=fgetc(f);
if (a != ' '&&a != '\n'&&a != '\t')   //判断从文件中读出的字符是否为“字符”
cchar++;          //是则字符数加1
}
fclose(f);printf("charnum:%d ",cchar);//返回字符数
}

int countl(char *file) //返回文件的行数
{ FILE *f;
f = fopen(file, "r");
int cline = 0;
char a;
if(NULL==(f=fopen(file,"r")))
{printf("file is NULL");}
else while(!feof(f))
{
a=fgetc(f);
if(a=='\n'||a=='\t')       //检测文件读出的下一个字符是否为换行字符

cline++;                    //如果是,则行数加1
}

fclose(f);printf("Linenum:%d ",cline);  //返回行数的数目
return 1;
}

7.评估表

 

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

 30

 45

· Estimate

· 估计这个任务需要多少时间

20

45

Development

开发

 30  

40

· Analysis

· 需求分析 (包括学习新技术)

 60

 120

· Design Spec

· 生成设计文档

 30  

 45

· Design Review

· 设计复审 (和同事审核设计文档)

 20

 30

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

 10

 30

· Design

· 具体设计

 30

 40

· Coding

· 具体编码

 500

 720+

· Code Review

· 代码复审

 20

 30

· Test

· 测试(自我测试,修改代码,提交修改)

 60

 70

Reporting

报告

 20  

 30

· Test Report

· 测试报告

 30

 50

· Size Measurement

· 计算工作量

 10

 15

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

 30

 45

合计

 

 

 

 

8.项目小结:

1、总的来说,还是太懒了,没有多投入一点时间去学习编写代码

2、我实际用的时间比我预计的时间要多很多,确实是编程中出现了问题,比如说走神啊,磨洋工,还有半途而废这些原因。

3、代码能力不强,学习能力不足,要多加努力!

 

posted @ 2020-03-16 03:00  腊肠菌  阅读(144)  评论(0)    收藏  举报