Created
April 30, 2010 13:34
-
-
Save johnhmj/385203 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#define LENGTHCASE 26 | |
#define CHARLOWERCASE 'a' | |
#define CHARUPPERCASE 'A' | |
// Integrated Development Environment | |
// Visual C++ | |
using namespace std; | |
// | |
class CCase | |
{ | |
public: | |
CCase(void); | |
void ToLowerCase(char* _cstring); | |
void ToUpperCase(char* _cstring); | |
private: | |
char m_lowercase[LENGTHCASE + 1]; | |
char m_uppercase[LENGTHCASE + 1]; | |
}; | |
void main(int argc, char** argv) | |
{ | |
CCase cc; | |
char CStr_upper[] = "This is a BOOK."; | |
char CStr_lower[] = "operating system"; | |
// 轉成小寫 | |
cc.ToLowerCase(CStr_upper); | |
// 轉成大寫 | |
cc.ToUpperCase(CStr_lower); | |
// 顯示字串 | |
cout<<CStr_upper<<endl; | |
cout<<CStr_lower<<endl; | |
system("PAUSE"); | |
} | |
CCase::CCase(void) | |
{ | |
// 讓電腦自行建表 | |
for (size_t i = 0; i < LENGTHCASE; i ++) | |
{ | |
this->m_lowercase[i] = CHARLOWERCASE + i; | |
this->m_uppercase[i] = CHARUPPERCASE + i; | |
} | |
// 給個結束字元 | |
// 不一定要給,這只是用來除錯的 | |
this->m_lowercase[LENGTHCASE] = NULL; | |
this->m_uppercase[LENGTHCASE] = NULL; | |
} | |
void CCase::ToLowerCase(char* _cstring) | |
{ | |
for (size_t i = 0; _cstring[i] != NULL; i ++) | |
{ | |
for (size_t j = 0; j < LENGTHCASE; j ++) | |
{ | |
// 只要有字元符合大寫,一律設定為小寫 | |
if ( _cstring[i] == this->m_uppercase[j] ) | |
{ | |
_cstring[i] = this->m_lowercase[j]; | |
} | |
} | |
} | |
} | |
void CCase::ToUpperCase(char* _cstring) | |
{ | |
for (size_t i = 0; _cstring[i] != NULL; i ++) | |
{ | |
for (size_t j = 0; j < LENGTHCASE; j ++) | |
{ | |
// 只要有字元符合小寫,一律設定為大寫 | |
if ( _cstring[i] == this->m_lowercase[j] ) | |
{ | |
_cstring[i] = this->m_uppercase[j]; | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment