2.解題思路:分析這個程式的基本需求,將其功能分為多個函式來呼叫,找到功能的邏輯關係和計算方式,找資料學習檔案呼叫函式等技術。
3.設計分為主函式和6個功能實現函式,分別為主函式main(),功能函式ccount()、wcount()、lcount()、blankcount()、codecount()、notecount(),主函式檢測輸入選擇呼叫功能函式。
4.**說明:
標頭檔案:
#include #include主函式main():
void main(int a,char **fname)字元數目計算函式ccount():else
if(!strcmp(fname[1],"
-c")) ccount(fname[2
]);
else
if(!strcmp(fname[1],"
-w")) wcount(fname[2
]);
else
if(!strcmp(fname[1],"
-l")) lcount(fname[2
]);
else
if(!strcmp(fname[1],"-a"
)) printf("\n
");scanf(
"%s%s%s
",fname[0],fname[1],fname[2
]); }
}
void ccount(char *file)單詞數目計算函式wcount():fclose(f);
if(f!=null) printf("
the char number is:%d\n
",num);
}
void wcount(char *file)行數計算函式lcount():}fclose(f);
if(f!=null) printf("
the word number is:%d\n
",num);
}
void lcount(char *file)空行數計算函式blankcount():num++;//
由於檔案結束時無換行符,但當前行也算一行,故要加一
fclose(f);
if(f!=null) printf("
the line number is:%d\n
",num);
}
void blankcount(char *file)**行數計算函式codecount():else
if(a=='
\n'&&tag==1)
}if(tag==0) num++;
fclose(f);
if(f!=null) printf("
the blankline number is:%d\n
",num);
}
void codecount(char *file)注釋行數計算函式notecount():else
if(a=='
\n'&&tag==1
) }
num1++;
if(tag==0) num2++;
num=num1-num2;//
**行等於行數減空行數
fclose(f);
if(f!=null) printf("
the codeline number is:%d\n
",num);
}
void notecount(char *file)5.測試執行:}fclose(f);
if(f!=null) printf("
the noteline number is:%d\n
",num);
}
測試檔案:
測試結果:
6.專案小結:
psp2.1
personal software process stages
預估耗時(分鐘)
實際耗時(分鐘)
planning
計畫20
10·estimate
·估計這個任務需要多少時間
240development
開發150
150·analysis
·需求分析(包括學習新技術)
3030
·design spec
·生成設計文件
1020
·design review
·設計複審(和同事審核設計文件)
2010
·coding standard
·**規範(為目前的開發制定合適的規範)
1010
·design
·具體設計
2015
·coding
·具體編碼
6090
·coding review
·**複審
2020
·test
·測試(自我測試,修改**,提交修改)
6040
reporting
報告30
30·test report
·測試報告
1515
·size measurement
·計算工程量
1010
·postmortem & process improvement plan
·事後總結,並提交過程改進計畫
1010
合計335
310
結隊專案小結 WordCount
隊友 201631062101 位址 作業連線 1.psp 見隊友部落格 2.互審 由於各自寫 的習慣不同,所以在一起做專案之前先制定了 規範,再修改各自 確認命名方式及各類名變數名統一。在此之前我們各自都做過了基本功能,所以在 互審時選擇出了較好處理方法用到我們新的專案中。3.設計過程及 說明 詳...
結對專案 WordCount 持續更新
一 各個模組的預計消耗及實際消耗 psp2.1 personal software process stages 預估耗時 min 實際耗時 min planning 計畫 estimate 估計這個任務所需的時間 1020 development 開發 analysis 需求分析 3030 des...
軟體工程結對專案 WordCount
二 小組成員及分工 1120161754 毛碩 1120161747 林宇翔 我負責基礎功能,林宇翔負責介面實現。三.預估時間 psp2.1 personai software process stage 預估耗時 分鐘 實際耗時 分鐘 planning 計畫30 50estimate 估計這個任務...