个人项目:WC

---恢复内容开始---

Github项目地址https://github.com/sumilekaedei/wc.git

 

解题思路:刚开始拿到题目时,因为是第一次做这种项目,只能对已有的代码进行参考,然后理解其中的内容,加上查阅书本来编写自己的代码。首先是要打开文本对文本中的字符进行处理,然后对字符进行统计。

设计实现过程:首先编写主函数,在主函数中输入、读取文本、递归统计和输出,在递归中对输入错误时出现的情况和文本字符的统计。

代码说明:

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<conio.h>
 4 #include<string.h>
 5 int c=0,w=1,l=1;
 6 void count(char *name)
 7 {
 8     FILE *fp=NULL;
 9     char a;
10     fp=fopen(name,"r");//打开文本
11     if(fp==NULL)
12     {
13         printf("输入错误");
14         _getch();
15         exit(0);
16     }
17     while(!feof(fp))//文本字符统计
18     {
19         a=fgetc(fp);
20         if(a!=' '&&a!='\n'&&a!='\t'&&a!=','&&a!='.'&&a!='!'&&a!=';'&&a!='=')
21         {
22             c++;
23         }
24         else if(a==' '||a==','||a=='.'||a=='!'||a=='?'||a==';')
25         {
26             w++;
27         }
28         else if(a=='\n'||a=='\t')
29         {
30             w++;
31             l++;
32         }
33         else if(a=EOF)break;
34     }
35     fclose(fp);//关闭文本
36 }
37 int main(int argc, char* argv[])
38 {
39     FILE *fp;
40     count(argv[2]);//递归调用
41     if(!strcmp(argv[1],"-c")) //判断输入指令
42     printf("字符数:%d\n",c);
43     else if(!strcmp(argv[1],"-w"))
44     printf("词数:%d\n",w);
45     else if(!strcmp(argv[1],"-l"))
46     printf("行数:%d\n",l);
47 }

测试运行:

PSP表格:

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

   

· Estimate

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

 180  300

Development

开发

   

· Analysis

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

 30  30

· Design Spec

· 生成设计文档

 120  130

· Design Review

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

 30  60

· Coding Standard

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

 60  60

· Design

· 具体设计

 60  45

· Coding

· 具体编码

 180  240

· Code Review

· 代码复审

 60  100

· Test

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

 30  30

Reporting

报告

   

· Test Report

· 测试报告

 30  30

· Size Measurement

· 计算工作量

 10  10

· Postmortem & Process Improvement Plan

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

 30  50

合计

   820  1085

项目小结:这个项目的基本功能还是比较简单,主要是一开始不会怎么编写代码来调用文本中的内容,在基本完成的时候修复bug需要的时间比较多。这个项目的不足就是并没有实现扩展功能和高级功能,只实现了基本功能。

 

posted on 2018-09-15 12:16  kaedei丶  阅读(164)  评论(1编辑  收藏  举报