-
大小: 3KB文件類型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-06-05
- 語(yǔ)言: C/C++
- 標(biāo)簽: C++??統(tǒng)計(jì)字母??
資源簡(jiǎn)介
練習(xí)一:
編寫一個(gè)程序統(tǒng)計(jì)文本文件英文字母?jìng)€(gè)數(shù),不區(qū)分大小寫,屏幕輸出每個(gè)字母出現(xiàn)的次數(shù)。
參考:文件操作函數(shù),fopen, fclose, fread, fgetc;使用MSDN查找相關(guān)幫助;
要求:代碼的編寫、變量定義等應(yīng)以《Coding Standard》為依據(jù),完成題目功能。
例如:
SumLetter.exe sample.txt
output:
A:25 B:3 C:0 D:10 E...
代碼片段和文件信息
//?exer1a.cpp?:?main?project?file.
#include?“iostream“
#include?“string“
#include?“fstream“
#include?“stdio.h“
#include?
const?int?CS_MAXNUM_OF_LETTERS?=?26;??//代表26個(gè)字母
const?long?CS_BUFSIZE?=?5000;?//限制緩存區(qū)大小
const?int?CS_CHANGE_SMALL_LETTER_CAPITAL_LETTER?=?32;??//將小寫字母變成大寫字母
using?namespace?std;
int?main(int?argc?char?*argv[])
{
FILE?*fpStream;
long?szLetterCount[CS_MAXNUM_OF_LETTERS];?//對(duì)字母出現(xiàn)次數(shù)計(jì)數(shù)
char?szLetter[CS_MAXNUM_OF_LETTERS];??//每個(gè)元素代表一個(gè)字母
char?szBuffer[CS_BUFSIZE];??//存放文本內(nèi)容的緩存區(qū)
char?szCloseProgram;??//用于用戶關(guān)閉程序
int?iReadFromText;??//從文本讀取的內(nèi)容
int?i?=?0?k?=?0;??//循環(huán)使用的變量
int?iFileSize;??//實(shí)際文件大小
int?iLetterASCIIDif;??//兩個(gè)字符的ASCII碼的差值
int?iLastPartSize?=?0;??//最后一部分?jǐn)?shù)據(jù)的大小
ifstream?inFile;
if(argc?2)
{
cout<<“please?input?two?parameter“< ????????return?3;
}
//顯示用戶輸入的信息
????for(i?=?0;?i? {
????????cout?< }
//當(dāng)輸入幫助命令時(shí)顯示幫助信息
if(_stricmp(argv[1]?“?“)?==?0)
{
cout?<“SumLetter?v1.0.0?Briwave?Software?Co.Ltd.All?rights?reserved“?< cout?<“Usage:“?< cout?<“SumLetter.exe?FileName?[/notable]“?< cout?<“FileName:?the?file?to?open.“?< cout?<“/notable:?not?change?the?partition?table???eg.SumLetter.exe?
評(píng)論
共有 條評(píng)論