软件技术基础第三次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/21rjjc
这个作业的目标 实现一个统计程序,要求能正确统计文件中的字符数、单词数、句子数,以及具备其他的拓展功能
姓名-学号 马明忠 2016330301019

码云地址码云链接

项目相关要求

  • 这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数、单词数和句子数。使得它是一个可行的统计程序,它能正确统计程序文件中的字符数、单词数、句子数,以及还具备其他扩展功能…

具体功能要求:

  • 程序处理用户需求的模式为:wc.exe [parameter] [file_name]

  • 基本功能列表:wc.exe -c file.txt //返回文件 file.txt 的字符数 … wc.exe -w file.txt //返回文件 file.txt 的词的数目… wc.exe -l file.txt //返回文件 file.txt 的句子数

PSP

psp2.1 personal saftware process stages 预估耗时(分钟) 实际耗时(分钟)
plannibg 计划 40 50
Estimots 估计用时 90 100
Development 开发
Analysis 需求分析 100 160
Desingnspec 生成设计文档 110 100
Design Review 设计复审 40 40
Coding Standeard 代码规范 20 15
Fest 测试 70 20
Reporting 报告
Test Report 测试报告 120 155
Size Measurement 计算工作量 15 15
Postomortem 事后总结 60 20
ALL 合计 625 625

解题思路

实现部分:

  • 首先统计字符等的功能,需要用fopen打开并读取文件,这个函数能实现绝对路径和相对路径,注意需要遍历文件。

  • -c 统计文件中的字符数
    对目标文件的每读入一个字符,若其不是‘\r’,均增加统计的字符数。

  • -w 统计文件中的词的数量
    词的定义多种多样,这里的定义采用一系列连续的字母或数字或下划线,为一个词。我们可以把所有键盘上打出的符号视作一个栏杆,栏杆两边的有字符数部分视作是两个独立的词,以此来统计词的数量。

  • -l 统计文件中的句子数量
    行数的判定十分明朗,如此来统计行数。

  • 要通过命令行运行,输入指令而不是通过“用户交互”来进行程序,所以程序用使用命令行参数的main函数。

测试部分:

  • 需要考虑到各种文件字符、各种输入的情况…

  • 要创建空字符文件、只有一个字符、空行、只有一行等的文件来进行测试。

设计实现过程

  • 只要DOS命令行运行了wc.exe命令,就进入一个while(1)死循环里,不断检测判断匹配那几个命令,若匹配不到,就break退出死循环同时退出wc.exe程序,返回dos操作系统。

遇到的困难及解决方法

  • 编程能力太弱,基本为0。解决办法:多打代码。

  • 关于计划,实际花费用时和计划有较大差距。解决办法:经验

  • 目前只完成基本功能。解决办法:很认真地完成,也是严格按照基本功能的描述来做。

关键代码or设计说明

  • 所有操作都在dos命令行下操作即可,用命令行编译运行即可。

  • 在命令行使用wc.exe指令完成对当前目录的任意文件进行统计。

posted @ 2021-10-21 16:53  马明忠  阅读(43)  评论(0编辑  收藏  举报