标签:设计文档 主函数 实现 cte class NPU The ace img
1.项目GitHub地址:https://github.com/FPXBao/wordcount
2.解题思路:分析程序基本需求,将其功能分为三个函数调用:主函数 int main();功能函数Ccount();Wcount();Lcount();并进行相关知识学习。
3.代码说明:
主函数:
#include <stdio.h> #include <stdlib.h>//system #include <string.h> #include <ctype.h>//c库函数int isspasce(int c)检查所传字符是否是空白字符,标准空白字符:“”“空格\t水平制表符\n换行符\v垂直制表符\f换页符\r回车符” int main() { char inp; char File[50]; while(1) { printf("(Enter s for description list.)"); printf("input your instruction:wc.exe-"); scanf(" %c",&inp); if(inp==‘s‘){ printf("*************\nc:字符数统计;\nw:单词数统计;\nl:行数统计; \nq:退出程序; \n*************\n"); break; } printf("Enter the address of the file:"); scanf("%s",File); switch(inp){ case ‘c‘: Ccount(File);break; case ‘w‘: Wcount(File);break; case ‘l‘: Lcount(File);break; case ‘q‘: return 0; default : printf("Error Retry again!\n");break; } } }
字符数计算函数
void Ccount(char File[])//字符数计算函数 { int count=0;//计数器 char ch=‘ ‘;//空 FILE *f_read=fopen(File,"r"); if(f_read==NULL){printf("Error,Retry again!\n");return ;} while((ch=fgetc(f_read))!=EOF) {if(isspace(ch)==0)count++;} fclose(f_read); printf("character=%d\n",count); }
单词数计算函数
void Wcount(char File[])//单词数计算函数 { int count=0; char ch=‘ ‘; FILE *f_read=fopen(File,"r"); if(f_read==NULL){ printf("Error,Retry again!\n"); return ; } while((ch=fgetc(f_read))!=EOF) { while((ch>=‘a‘&&ch<=‘z‘)||(ch>=‘A‘&&ch<=‘Z‘)) ch=fgetc(f_read); count++; } } fclose(f_read); printf("word=%d\n",count); }
行数计算函数
void Lcount(char File[]){//行数计算函数 int count=0; char ch[1024]; int status=0; FILE *f_read=fopen(File,"r"); if(f_read==NULL){ printf("Error,Retry again!\n"); return ; } while(!feof(f_read)){ fgets(ch,1024,f_read); if(status==0&&ch[0]==‘\0‘)break; else status=1; count++; } fclose(f_read); printf("line=%d\n",count); }
实现了基本功能:
-c
-w
-l
4.测试
5.项目小结:
语言选择:该程序运用c语言知识设计,因为其他语言学习不深,并未完全掌握。
遇到困难与新知收获:最大的困难就是基础知识不牢固、导致出现了许多bug,修复bug所花费的时间比实际写代码的时间要长很多,收获到的便是学会了耐心地debug。。
6.PSP
PSP2.1 | Personal Software Process Stages | 预估耗时(min) | 实际耗时(min) |
Planning | 计划 | ||
Estimate | 估计这个任务需要多少时间 | 6*60 | 9*60 |
Development | 开发 | ||
Analysis | 需求分析(学习新技术) | 30 | 50 |
Design Spec | 生成设计文档 | 10 | 10 |
Design Review | 设计复审 | 10 | 5 |
Coding Standard | 代码规范 | 5 | 5 |
Design | 具体设计 | 20 | 10 |
Coding | 具体编码 | 2*60 | 4*60 |
Code Review | 代码复审 | 60 | 2*60 |
Test | 测试 | 30 | 30 |
Reporting | 报告 | ||
Test Report | 测试报告 | 30 | 40 |
Size Measurement | 计算工作量 | 10 | 15 |
Postmortem&Process Improvement Plan | 事后总结,并提出过程改进计划 | 10 | 10 |
total | 6*60 | 9*60 |
标签:设计文档 主函数 实现 cte class NPU The ace img
原文地址:https://www.cnblogs.com/FPXBao/p/12499675.html