作业
2021-04-02 17:02 小小乌龟君 阅读(55) 评论(0) 编辑 收藏 举报一
这个作业属于哪个课程 | 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\n", totalNum[0], totalNum[2], totalNum[1]);
}else{
printf("Error!\n");
}
return 0;
}
第二部分
while(fgets(buffer, 1003, fp) != NULL){
bufferLen = strlen(buffer);
for(i=0; i<bufferLen; i++){
c = buffer[i];
if( c==' ' || c=='\t'){
!isLastBlank && wordNum++;
isLastBlank = 1;
}else if(c!='\n'&&c!='\r'){
charNum++;
isLastBlank = 0;
}
}
!isLastBlank && wordNum++;
isLastBlank = 1;
totalNum[0]++;
totalNum[1] += charNum;
totalNum[2] += wordNum;
printf("%-7d%-7d%d\n", totalNum[0], wordNum, charNum);
charNum = 0;
wordNum = 0;
}
六.异常处理
找不到文件和字符显示错误。
七.心得
思路僵化,知识储备不足。要加强学习,巩固知识。