个人项目wordcount

Posted FPX_Bao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了个人项目wordcount相关的知识,希望对你有一定的参考价值。

1.项目GitHub地址:https://github.com/FPXBao/wordcount

2.解题思路:分析程序基本需求,将其功能分为三个函数调用:主函数 int main();功能函数Ccount();Wcount();Lcount();并进行相关知识学习。

3.代码说明:

主函数:

#include <stdio.h>
#include <stdlib.h>//system
#include <string.h>
#include <ctype.h>//c库函数int isspasce(int c)检查所传字符是否是空白字符,标准空白字符:“”“空格\\t水平制表符\\n换行符\\v垂直制表符\\f换页符\\r回车符”

int main()
{
char inp;
char File[50];
while(1)
{
printf("(Enter s for description list.)");
printf("input your instruction:wc.exe-");
scanf(" %c",&inp);
if(inp==\'s\'){
printf("*************\\nc:字符数统计;\\nw:单词数统计;\\nl:行数统计;  \\nq:退出程序;  \\n*************\\n");
break;
}
printf("Enter the address of the file:");
scanf("%s",File);
switch(inp){
case \'c\': Ccount(File);break;
case \'w\': Wcount(File);break;
case \'l\': Lcount(File);break;
case \'q\': return 0; 
default : printf("Error Retry again!\\n");break;
}
}
}

字符数计算函数

void Ccount(char File[])//字符数计算函数
{
int count=0;//计数器
char ch=\' \';//
FILE *f_read=fopen(File,"r");
if(f_read==NULL){printf("Error,Retry again!\\n");return ;}
while((ch=fgetc(f_read))!=EOF)
{if(isspace(ch)==0)count++;}
fclose(f_read);
printf("character=%d\\n",count);
}

单词数计算函数

void Wcount(char File[])//单词数计算函数
{
int count=0;
char ch=\' \';
FILE *f_read=fopen(File,"r");
if(f_read==NULL){
printf("Error,Retry again!\\n");
return ;
}
while((ch=fgetc(f_read))!=EOF)
{
while((ch>=\'a\'&&ch<=\'z\')||(ch>=\'A\'&&ch<=\'Z\'))
ch=fgetc(f_read);
count++;
}
}
fclose(f_read);
printf("word=%d\\n",count);
}

行数计算函数

void Lcount(char File[]){//行数计算函数
int count=0;
char ch[1024];
int status=0;
FILE *f_read=fopen(File,"r");
if(f_read==NULL){
printf("Error,Retry again!\\n");
return ;
}
while(!feof(f_read)){
fgets(ch,1024,f_read);
if(status==0&&ch[0]==\'\\0\')break;
else status=1;
count++;
}
fclose(f_read);
printf("line=%d\\n",count);
}

 实现了基本功能:

-c

-w

-l

 

4.测试

5.项目小结:

语言选择:该程序运用c语言知识设计,因为其他语言学习不深,并未完全掌握。

遇到困难与新知收获:最大的困难就是基础知识不牢固、导致出现了许多bug,修复bug所花费的时间比实际写代码的时间要长很多,收获到的便是学会了耐心地debug。。

 6.PSP

PSP2.1 Personal Software Process Stages 预估耗时(min) 实际耗时(min)
Planning 计划    
Estimate 估计这个任务需要多少时间 6*60 9*60
Development 开发    
Analysis 需求分析(学习新技术) 30 50
Design Spec 生成设计文档 10 10
Design Review 设计复审 10 5
Coding Standard 代码规范 5 5
Design 具体设计 20 10
Coding 具体编码 2*60 4*60
Code Review 代码复审 60 2*60
Test 测试 30 30
Reporting 报告    
Test Report 测试报告 30 40
Size Measurement 计算工作量 10 15
Postmortem&Process Improvement Plan 事后总结,并提出过程改进计划 10 10
total   6*60 9*60

 

以上是关于个人项目wordcount的主要内容,如果未能解决你的问题,请参考以下文章

个人项目wordcount

个人项目wordCount

个人项目 WordCount

WC 个人项目 ( node.js 实现 )

软件测试第二周个人作业--wordcount

个人项目