Advertisement
Guest User

Snake Case vs Camel Case

a guest
Nov 11th, 2013
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.93 KB | None | 0 0
  1.  
  2. int issnakecase(string inputstring)
  3. {
  4.    int i;
  5.    
  6.    for(i=0;inputstring[i]!='\0';i++)
  7.    {
  8.      
  9.      if((inputstring[i]>=97 && inputstring[i]<=122) || inputstring[i]==95)
  10.      {
  11.          if(inputstring[i]==95 && inputstring[i+1]==95)
  12.              return 0;
  13.      }
  14.      else
  15.      { return 0;}
  16.  
  17.    }
  18.    
  19.    if(inputstring[0]=='_' || inputstring[i-1]=='_')
  20.    {
  21.        return 0;
  22.    }
  23.        return 1;
  24. }
  25.  
  26. int iscamelcase(string inputstring)
  27. {
  28.    int i;
  29.    for(i=0;inputstring[i]!='\0';i++)
  30.    {
  31.      if((inputstring[i]>=65 && inputstring[i]<=90) || (inputstring[i]>=97 && inputstring[i]<=122))
  32.      {}
  33.        else
  34.        { return 0;}
  35.  
  36.      }
  37.    
  38.     if(inputstring[0]>=65 && inputstring[0]<=90)
  39.     {
  40.         return 0;
  41.     }
  42.  
  43.   return 1;
  44. }
  45.  
  46. string switchCase(string S) {
  47. string inputstring=S;
  48.   string outputstring;
  49.      
  50.  
  51.   int i,j=0;
  52.   if(issnakecase(inputstring) == 1)
  53.   {
  54.       //cout<<"Snake Case";
  55.     for(i=0;inputstring[i]!='\0';i++)
  56.     {
  57.        
  58.        if(inputstring[i]>=97 && inputstring[i]<=122)
  59.       {
  60.          // outputstring[j]=inputstring[i];
  61.           outputstring.push_back(inputstring[i]);
  62.          //  cout<<"Small letter"<<outputstring[j]<<"----";
  63.        }
  64.         else
  65.        {
  66.           i++;
  67.           outputstring.push_back(inputstring[i]-32);
  68.             //outputstring[j]=inputstring[i]-32;
  69.           // cout<<"underscore"<<outputstring[j]<<"---";
  70.         }
  71.     j++;    
  72.    }
  73.     }
  74.   else if(iscamelcase(inputstring)==1)
  75.  {
  76.       //cout<<"Camel Case";
  77.      for(i=0;inputstring[i]!='\0';i++)
  78.      {
  79.         if(inputstring[i]>=97 && inputstring[i]<=122)
  80.         {
  81.             outputstring.push_back(inputstring[i]);
  82.         }
  83.         else
  84.         {
  85.           outputstring.push_back('_');
  86.           outputstring.push_back(inputstring[i]+32);
  87.         }
  88.       j++;
  89.      }
  90.  
  91. }
  92.  
  93.   else
  94.   {
  95.    outputstring = "ERROR";
  96.   }
  97.   return outputstring;
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement