0. 结对对象: 1120161946, 1120161892, 1820161065
1. 项目要求:
- 实现统计文件的字符数、单词数、行数;
- 实现递归处理目录下符合条件的文件,返回更加复杂的数据;
- 实现图形界面功能。
2. GitHub 项目地址:
https://github.com/lydconsed/WordCount
3. PSP表格预计时间:
4. 编程思路描述:
先根据需求明确需要哪些函数:
//Basic function
void Method_statistics_character(char *s);
void Method_statistics_word(char *s);
void Method_statistics_line(char *s);
//Extend function
void Method_recursive_process_file(char *s);
void Method_statistics_more_data(char *s);
//Advanced function
void Method_graphic_interface();
//Extra function
void Judge_methond(char *s1, char *s2);
int Judge_character(char s1, char s2);
void print_help_list();
void filesearch(string path,string reg);
这些函数之间的关系如下:
5. 设计实现过程与代码说明:
第一步自然是处理传来的参数,
int main(int argc, char **argv)
因为可以一次传入多个命令, 分别用c_c、c_w、 c_l...等标记接下来要实现哪些功能, 所以在main()函数当中如此处理参数:
for (int i = 1; i < argc-1; i++) { string arc = argv[i]; if (arc == "-c") { c_c = 1; } else if (arc == "-w") { c_w = 1; } else if (arc == "-l") { c_l = 1; } else if (arc == "-a") { c_a = 1; } else if (arc == "-s") { c_s = 1; } else if (arc == "-x") { c_x = 1; } }
如果用户没有传入正确的参数, 将显示帮助列表:
<