home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / pcmagazi / 1989 / 06 / wc.c < prev   
C/C++ Source or Header  |  1988-07-15  |  1KB  |  39 lines

  1.  * WC.C a wordcount/linecount program
  2.  */
  3.  
  4. #include <stdio.h>  /* header for getchar() */
  5. #include <ctype.h>  /* header for isalpha() */
  6.  
  7. #ifndef    YES
  8. #define    YES 1
  9. #endif
  10.  
  11. #ifndef    NO
  12. #define    NO  0
  13. #endif
  14.  
  15. main()
  16. {
  17.    int character, wordcount, linecount, in_word = NO;
  18.  
  19.    wordcount = linecount = 0;
  20.  
  21.                        /* get characters from standard input */
  22.    while( (character = getchar()) != EOF)
  23.    {
  24.        if (character == '\n')      /* if it's a Newline        */
  25.            ++linecount;            /* increment the line count     */
  26.        if (!isalpha(character))    /* if not an alpha character    */
  27.            in_word = NO;           /* set the in_word flag     */
  28.        else if (in_word == NO)     /* else it's not alpha,     */
  29.        {                           /* and was in a word        */
  30.            in_word = YES;          /* reset in_word flag, and  */
  31.            ++wordcount;            /* increment the wordcount  */
  32.        }
  33.    }
  34.                                    /* print the results */
  35.    printf("     Number of words: %d\n", wordcount);
  36.    printf("     Number of lines: %d\n", linecount);
  37. }
  38.  
  39.