zoukankan      html  css  js  c++  java
  • 作业

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/computer-science-class4-2018
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-science-class4-2018/homework/11880
    这个作业的目标 完成项目的需求

    二.

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

    三.解题思路
    指针指向文件

    保存每次读取一行数据

    遍历保存的内容

    考虑空格的情况

    设置代码忽略换行

    统计总字符数、总单词数、总行数

    置零,重新统计下一行。

    四.代码规范
    https://gitee.com/liaoTao123/project-c/pulls/7
    五.核心代码
    第一部分

    int main(){
        char filename[30];
        int totalNum[3] = {0, 0, 0};
        printf("Input file name: ");
        scanf("%s", filename);
        if(getCharNum(filename, totalNum)){
            printf("Total: %d lines, %d words, %d chars
    ", totalNum[0], totalNum[2], totalNum[1]);
        }else{
            printf("Error!
    ");
        }
        return 0;
    }
    

    第二部分

    while(fgets(buffer, 1003, fp) != NULL){
            bufferLen = strlen(buffer);
            for(i=0; i<bufferLen; i++){
                c = buffer[i];
                if( c==' ' || c=='	'){
                    !isLastBlank && wordNum++;
                    isLastBlank = 1;
                }else if(c!='
    '&&c!='
    '){
                    charNum++;
                    isLastBlank = 0;
                }
            }
            !isLastBlank && wordNum++;
            isLastBlank = 1; 
    
            totalNum[0]++;
            totalNum[1] += charNum;
            totalNum[2] += wordNum;
            printf("%-7d%-7d%d
    ", totalNum[0], wordNum, charNum);
            charNum = 0;
            wordNum = 0;
        }
    

    六.异常处理
    找不到文件和字符显示错误。

    七.心得
    思路僵化,知识储备不足。要加强学习,巩固知识。

  • 相关阅读:
    1058 A+B in Hogwarts (20)
    1046 Shortest Distance (20)
    1061 Dating (20)
    1041 Be Unique (20)
    1015 Reversible Primes (20)(20 分)
    pat 1027 Colors in Mars (20)
    PAT 1008 Elevator (20)
    操作系统 死锁
    Ajax的get方式传值 避免& 与= 号
    让IE浏览器支持CSS3表现
  • 原文地址:https://www.cnblogs.com/wuguijunniubi/p/14611550.html
Copyright © 2011-2022 走看看