Advertisement
Guest User

flagTest.c

a guest
Jun 20th, 2013
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.56 KB | None | 0 0
  1. int main(int argc, char *argv[]){
  2.     char c;
  3.     int error, kacho, exception, capitalized, printswitch;
  4.     error = kacho = exception = capitalized = printswitch = 0;  
  5.  
  6.     if(argc > 1){
  7.         while(!error && (c = (*++argv)[0]) == '-'){  
  8.             switch((*argv)[1]){
  9.                 case 'c':
  10.                     if((*argv)[2] == '\0')
  11.                         capitalized = 1;
  12.                     else if((*argv)[2] == 'x' && (*argv)[3] == '\0')
  13.                         kacho = 1;
  14.                     else
  15.                         printUsage(&error);  
  16.                     break;
  17.  
  18.                 case 'x':
  19.                     if((*argv)[2] == '\0')
  20.                         exception = 1;
  21.                     else
  22.                         printUsage(&error);
  23.                     break;
  24.                
  25.                 default:
  26.                     printUsage(&error);
  27.                     break;  
  28.             }
  29.         }
  30.  
  31.         if(!error){
  32.             do{
  33.                if(capitalized)
  34.                   capitalize(*argv);
  35.                if(!exception || (printswitch = !printswitch))
  36.                   printf("%s ", *argv);
  37.  
  38.             }while(*++argv);
  39.            
  40.             if(kacho)
  41.                printf("Kacho on!");
  42.             printf("\n");  
  43.         }
  44.     }
  45.     else
  46.         printUsage(&error);
  47.  
  48.    return 0;  
  49. }
  50.  
  51. void capitalize(char *s){
  52.     while(*s != '\0')
  53.         if(islower(*s))
  54.             *(s++) += ('a' - 'A');
  55. }
  56.  
  57. void printUsage(int *n){
  58.     printf("I'll write this part later\n");
  59.     *n = 1;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement