博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
个人项目:WC
阅读量:4316 次
发布时间:2019-06-06

本文共 2009 字,大约阅读时间需要 6 分钟。

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

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

 

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

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

代码说明:

1 #include
2 #include
3 #include
4 #include
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需要的时间比较多。这个项目的不足就是并没有实现扩展功能和高级功能,只实现了基本功能。

 

转载于:https://www.cnblogs.com/sumilekaedei/p/9650608.html

你可能感兴趣的文章
ng-深度学习-课程笔记-2: 神经网络中的逻辑回归(Week2)
查看>>
正则表达式的搜索和替换
查看>>
个人项目:WC
查看>>
地鼠的困境SSL1333 最大匹配
查看>>
flume+elasticsearch+kibana遇到的坑
查看>>
【MM系列】在SAP里查看数据的方法
查看>>
C#——winform
查看>>
CSS3 transform制作的漂亮的滚动式导航
查看>>
《小强升职记——时间管理故事书》读书笔记
查看>>
Alpha 冲刺(3/10)
查看>>
Kaldi中的Chain模型
查看>>
spring中的ResourceBundleMessageSource使用和测试示例
查看>>
css规范 - bem
查看>>
UVALive 6145 Version Controlled IDE(可持久化treap、rope)
查看>>
mysql 将两个有主键的表合并到一起
查看>>
底部导航栏-----FragmentTabHost
查看>>
在linux中安装jdk以及tomcat并shell脚本关闭启动的进程
查看>>
网络字节顺序
查看>>
飞扬的小鸟
查看>>
程序猿崛起3——这一次,我用行动说话
查看>>