C++ 소개:
C++는 C 언어의 절차적 프로그래밍을 수행할 수 있을 뿐만 아니라 추상 데이터 유형을 특징으로 하는 객체 기반 프로그래밍도 수행할 수 있습니다. 상속과 다형성을 특징으로 하는 지향 프로그래밍. C++는 객체 지향 프로그래밍에 능숙하지만 프로세스 기반 프로그래밍도 수행할 수 있습니다. 따라서 C++는 적응하는 문제의 크기에 따라 다양한 크기로 적응할 수 있습니다.
C++는 효율적인 컴퓨터 작동이라는 실용적인 기능을 갖추고 있을 뿐만 아니라 대규모 프로그램의 프로그래밍 품질과 프로그래밍 언어의 문제 설명 기능을 향상시키는 데에도 전념하고 있습니다.
C++에는 대문자와 소문자를 변환하기 위한 다음 아이디어가 있습니다.
아이디어 1. ASCII 문자표에 따라 변환합니다.
표에서 볼 수 있듯이 해당 대문자 와 소문자 사이의 차이는 32이며, 여기서 다음 프로그래밍 아이디어가 파생될 수 있습니다.
Program 1.1
#include <iostream> using namespace std; int main() { char a[20]; int i = 0; cout<<"请输入一串字符:\n"; cin>>a; for(;a[i];i++) { if(a[i] >= 'a'&&a[i] <= 'z') a[i] -= 32; else if(a[i] >= 'A'&&a[i] <= 'Z') a[i] += 32; } for(i = 0;a[i];i++) cout<<a[i]; cout<<endl; system("pause"); return 0; }
Program 1. 2
#include <iostream> using namespace std; void main(void) { char i; cout<<"Input,'#'for an end: "<<endl; while(1) { cin >> i; if ((i>=65)&&(i<=90)) { i=i+32; cout << i; } else if((i>=97)&&(i<=122)) { i=i-32; cout << i; } else cout << (int)i; if(i=='#') break; } }
아이디어 2: 대문자와 소문자 변환 기능을 사용하여 다음과 같은 프로그래밍 아이디어를 얻을 수 있습니다. 프로그래밍 아이디어는 다음에서 파생될 수 있습니다.
Program 2.1 Simple version
#include <iostream> using namespace std; int main() { cout<<(char)toupper(97)<<'\n'; cout<<(char)toupper('a')<<'\n'; cout<<(char)tolower(66)<<'\n'; cout<<(char)tolower('B')<<'\n'; return 0; }
Program 2.2 함수 strupr, strlwr
#include<iostream> #include<string> using namespace std; int main() { //声明字符数组 char str[80],*p; int i; //转换字符串中的小写为大写 cout<<"将字符串中的小写字母转换为大写"<<endl; cout<<"请输入原字符串:"<<endl; cin>>str; p=strupr(str); cout<<"p:"<<p<<endl; cout<<"string:"<<str<<endl; cout<<"___________________"<<endl; //转换字符串中的大写为小写 cout<<"将字符串中的大写字母转换为小写"<<endl; cout<<"请输入原字符串:"<<endl; cin>>str; p=strlwr(str); cout<<"p:"<<p<<endl; cout<<"string:"<<str<<endl; cout<<"___________________"<<endl; system("pause"); return 0; }
Program 2.3 함수 toupper 사용, tolower
#include<iostream> #include<cctype> #include<vector> using namespace std; int main() { vector<char> vch; int n; char elem; cout<<"请输入大小写字符的个数:"; cin>>n; cout<<"请输入"<<n<<"个大小写字符:"; for(int i = 0;i<n;++i) { cin>>elem; vch.push_back(elem); } vector<char>::iterator it = vch.begin(); for(it;it != vch.end();++it) { if(*it >= 'a'&&(*it) <='z') *it = toupper(*it); else if(*it >= 'A'&& (*it) <= 'Z') *it = tolower(*it); } cout<<"大小写转化之后的结果:"; vector<char>::iterator itera = vch.begin(); for(itera;itera != vch.end();++itera) cout<<*itera; cout<<endl; return 0; }
Program 2.4 변환을 사용하여 tolower 및 toupper와 결합
#include<iostream> #include<algorithm> #include<string> #include<cctype> using namespace std; int main() { cout<<"请输入一个全部大写的字符串:"; string str; cin>>str; ///转小写 transform(str.begin(),str.end(),str.begin(),tolower); ///transform(wstr.begin(), wstr.end(), wstr.begin(), towlower); cout<<"转化为小写后为:"<<str<<endl; ///转大写 cout<<"请再输入一个全部小写的字符串:"; string s; cin>>s; transform(s.begin(), s.end(), s.begin(), toupper); ///transform(wstr.begin(), wstr.end(), wstr.begin(), towupper); cout<<"转化为大写后为:"<<s; wstring wstr =L"Abc"; transform(wstr.begin(), wstr.end(), wstr.begin(), towupper); cout<<wstr; return 0; }
Program 2.5 변환 함수로 작성, 변환을 위해 |= 및 &= 사용
#include <iostream> #include <cassert> using namespace std; char* convert(char *src) { char *p = src; assert(p != NULL); while(*p) { if ('A' <= *p && *p < 'Z') *p |= 0x20; else if ('a' <= *p && *p < 'z') *p &= ~0x20; p++; } return src; } int main() { char src; cin>>src; convert(&src); cout<<src; return 0; }
추천 튜토리얼: "C 언어 튜토리얼"
위 내용은 C++에서 대문자와 소문자를 변환하는 방법에 대한 아이디어가 얼마나 많이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!