zoukankan      html  css  js  c++  java
  • 个人项目作业

    一、Github项目地址

     https://github.com/005088/Aries/tree/master

    二、.在程序的各个模块的预计开发时间

    PSP2.1

    Personal Software Process Stages

    预估耗时(分钟)

    实际耗时(分钟)

    Planning

    计划

       

    · Estimate

    · 估计这个任务需要多少时间

    10

     

    Development

    开发

       

    · Analysis

    · 需求分析 (包括学习新技术)

    30

     

    · Design Spec

    · 生成设计文档

    10

     

    · Design Review

    · 设计复审 (和同事审核设计文档)

    10

     

    · Coding Standard

    · 代码规范 (为目前的开发制定合适的规范)

    10

     

    · Design

    · 具体设计

    60

     

    · Coding

    · 具体编码

    60

     

    · Code Review

    · 代码复审

    10

     

    · Test

    · 测试(自我测试,修改代码,提交修改)

    30

     

    Reporting

    报告

       

    · Test Report

    · 测试报告

    60

     

    · Size Measurement

    · 计算工作量

    10

     

    · Postmortem & Process Improvement Plan

    · 事后总结, 并提出过程改进计划

    20

     

     

    合计

    320

     

    三、解题思路 
     
    设计语言:C语言 

     题目中的需求进行分析:该题目是对wc.exe 功能中各项功能的模拟,采用命令形式输出各模块结果。

    四、设计实现过程

     通过main函数连接3个不同功能的接口,并给出相应命令得出的结果。

    五、代码说明

      (1)头文件:

    #include "stdio.h"
    #include "stdlib.h"

      (2)功能函数:

       获取字符数:

    int CountcCharacter(FILE* fp)  //文件中字符数 
    {
        char c; 
        int count = 0;
        while ((c = fgetc(fp)) != EOF)
            count++;
        return count;  //返回字符数 
    }

        获取词数:

    int CountWord(FILE* fp) { //文件中词数 
        char c;
        int count = 0, mark = 0;    //标记:mark为0不是词,mark为1是词
        while ((c = fgetc(fp)) != EOF) {
            if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
                if (mark == 0) {
                    mark = 1;
                    count++;
                }
            }
            else {
                if (mark == 1)
                    mark = 0;
            }
        }
        return count;
    }

        获取行数:

    int CountLine(FILE* fp) //文件中行数 
    {
        char c;
        int count = 0;
        if (fp == NULL)return 0;    //判断文件内是否为空
        count = 1;        //不为空,首行为1
        while ((c = fgetc(fp)) != EOF)
            if (c == '
    ')  //用数换行符的方式计算文件中的行数 
                count++;
        return count; //返回行数
    }

     (3)主函数:

    int main() {
        while (1) {
            FILE* fp;
            errno_t err = 0;
            int count, order;    //count:计数,order:控制命令 
            err = fopen_s(&fp, "D:\test.txt", "r");    // 测试文件位置
            if (err) {             
                printf("文件读取失败!
    ");
                exit(0);
            }
            printf("wc.exe模仿功能: 1.-c(获取字符数)2.-w(获取词数)3.-l(获取行数)0.exit
    请选择您要进行的操作: ");
            scanf_s("%d", &order);    //命令输入
            do {
                switch (order) {
                case 1: count = CountcCharacter(fp); printf("该文件字符数为%d。
    ", count); break;
                case 2: count = CountWord(fp); printf("该文件词数为%d。
    ", count); break;
                case 3: count = CountLine(fp); printf("该文件行数为%d。
    ", count); break;
                default:if (order == 0)exit(0); printf("输入错误,请重新选择您要进行的操作: "); scanf_s("%d", &order); break;
                }
            } while (order != 1 && order != 2 && order != 3 && order != 0);
            printf("
    ");
            fclose(fp);
        }
    }

     六、测试运行

     测试文件:

    #include<stdio.h>
    int main() {
        printf("Hello World!");
        return 0;
    }

     运行结果:

    七、PSP表

    PSP2.1

    Personal Software Process Stages

    预估耗时(分钟)

    实际耗时(分钟)

    Planning

    计划

       

    · Estimate

    · 估计这个任务需要多少时间

    10

    10

    Development

    开发

       

    · Analysis

    · 需求分析 (包括学习新技术)

    30

    50

    · Design Spec

    · 生成设计文档

    10

    10

    · Design Review

    · 设计复审 (和同事审核设计文档)

    10

    10

    · Coding Standard

    · 代码规范 (为目前的开发制定合适的规范)

    10

    5

    · Design

    · 具体设计

    60

    40

    · Coding

    · 具体编码

    60

    120

    · Code Review

    · 代码复审

    10

    5

    · Test

    · 测试(自我测试,修改代码,提交修改)

    30

    15

    Reporting

    报告

       

    · Test Report

    · 测试报告

    60

    60

    · Size Measurement

    · 计算工作量

    10

    5

    · Postmortem & Process Improvement Plan

    · 事后总结, 并提出过程改进计划

    20

    20

     

    合计

    320

    350

    八、项目小结 

    本次项目中,编写了wc.exe的模仿功能,结合PSP表,我意识到了:

    1.编写代码能力不足,效率低下

    2.知识的漏洞会在开发过程中明显的显示出来

    3.开发编程需要有耐心

  • 相关阅读:
    检测当前浏览器及版本
    js 实现两个小数的相乘、相除功能
    echarts图表初始大小问题及echarts随窗口变化自适应
    element-ui走马灯如何实现图片自适应 长度和高度 自适应屏幕大小
    vue中淡入淡出示例
    CSS3------box-shadow,即单边阴影效果设置
    webpack4 自学笔记五(tree-shaking)
    webpack4 自学笔记四(style-loader)
    webpack4 自学笔记三(提取公用代码)
    webpack4 自学笔记二(typescript的配置)
  • 原文地址:https://www.cnblogs.com/arietischl/p/12501421.html
Copyright © 2011-2022 走看看