软件工程基础-组队项目-WordCount

本文介绍了一个WordCount项目,包括统计文本文件的字符、单词和行数,递归处理目录,以及实现GUI界面。文章详细讨论了解题思路、设计实现,特别是文件处理和GUI模块,并分享了在实现过程中遇到的问题及解决方案。
摘要由CSDN通过智能技术生成

github链接 :https://github.com/YYFCY/Word-Count

一、项目要求

1. 统计文本文件的字符数、单词数和行数

2. 递归处理目录下符合条件的文件

3. 返回更复杂的数据(代码行/空行/注释行)

4. 实现GUI界面

二、项目计划PSP表格

PSP2.1 Personal Software Process Stages 预估耗时    (分钟) 实际耗时    (分钟)
Planning 计划    
Estimate 估计这个任务需要多少时间 30  
Development 开发    
Analysis 需求分析(包括学习新技术) 200  
Design Spec 生成设计文档 100  
Design Review 设计复审(和同事审核设计文档) 100  
Coding Standard 代码规范(为目前的开发制定合适的规范) 30  
Design 具体设计 100  
Coding 具体编码 1000  
Code Review 代码复审 100  
Test 测试(自我测试、修改代码、提交修改) 100  
Reporting 报告    
Test Report 测试报告 150  
Size Measurement 计算工作量 30  
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 60  
  合计 2000  

三、解题思路

参数 功能
-c 返回文件file.c的字符数
-w 返回文件file.c的词的数目
-l 返回文件file.c的行数
-s 递归处理目录下符合条件的文件
-a 返回更复杂的数据
-x 打开GUI界面

下面对参数读取部分做详细解释:

根据输入的参数检查文件是否可以存在并可以读取,返回-1表示文件不存在,返回-2表示文件存在但是没有读取权限,返回1表示文件可以正常读取。

//检查文件是否存在且可以读取
int check_file_name(char file_name[])
{
	if (access(file_name, 0))//判断该文件/文件夹是否存在;
		return -1;
	if (access(file_name, 2) != 0)//判断该文件/文件夹是否有读权限;
		return -2;
	return 1;
}

在确定文件可以读取之后,还需要对输入参数的前半部分做一检测,判断其是否符合题目要求,返回为1则表明符合要求,返回为-1表明输入参数错误

//检查命令是否正确,命令正确返回1,错误返回-1.
int check_command(char command[])
{
	int len = strlen(command);
	if (len != 2 || command[0] != '-')
		return -1;
	if (command[1] == 'c' || command[1] == 'w' || command[1] == 'l' || command[1] == 'a') 
		return 1;
	else 
		return -1;
}

 

四、设计实现

总体设计(程序流程图)

 

五、各功能模块

1.  统计文件字符数 count_char()函数

//统计文件的字符数
int c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值