Sample functions below achieves in a c program following requirements :
1- convert a given character from lower case to upper case character
2- convert a given character from upper case to lower case character
3- convert a given whole string from lower case to upper case string
4- convert a given whole string from upper case to lower case string
with the following constraints :
1- All letters are English alphabet letters
2- There is no space in the input
3- Only character input is assumed
Main rule to remember when converting case for letters is :
Upper case character = Lower case character - ('a'-'A');
Lower case character = Upper case character + ('a'-'A');
Here the difference ('a'-'A') corresponds to 32.
#include <stdio.h> char charToLower(const char& cUpper) { if(cUpper>='A' && cUpper<='Z') return cUpper+('a'-'A'); else return cUpper; } char charToUpper(const char& cLower) { if(cLower>='a' && cLower<='z') return cLower-('a'-'A'); else return cLower; } char* strToLower( char strUpper[] ) { int i = 0; while(strUpper[i] != '\0') i++; char* strLower = new char[i]; i=0; while( strUpper[i] != '\0' ) { if(strUpper[i]>='A' && strUpper[i]<='Z') strLower[i] = strUpper[i]+('a'-'A'); i++; } return strLower; } char* strToUpper( char strLower[] ) { int i=0; while(strLower[i] != '\0') i++; char* strUpper = new char[i]; i=0; while( strLower[i] != '\0' ) { if( strLower[i]>='a' && strLower[i]<='z') strUpper[i] = strLower[i]-('a'-'A'); i++; } return strUpper; } int main() { char upperCaseChar = 'C'; char lowerCaseChar = charToLower(upperCaseChar); printf("Upper Case Character : %c \n", upperCaseChar); printf("Lower Case Character : %c \n\n", lowerCaseChar); char lowerTestChar = 'f'; char upperTestChar = charToUpper(lowerTestChar); printf("Lower Case Character : %c \n", lowerTestChar); printf("Upper Case Character : %c \n\n", upperTestChar); char upperCaseString[] = "TRKSH"; char* lowerCaseString = strToLower(upperCaseString); printf("Upper Case String : %s \n", upperCaseString); printf("Lower Case String : %s \n\n", lowerCaseString); delete[] lowerCaseString; char lowerCaseTestString[] = "trksh"; char* upperCaseTestString = strToUpper(lowerCaseTestString); printf("Lower Case String : %s \n", lowerCaseTestString); printf("Upper Case String : %s \n\n", upperCaseTestString); delete[] upperCaseTestString; return 0; }After running the program following terminal output displayed.
No comments:
Post a Comment