Ladies_Man

1_17 Frame -drawing

Dec 15th, 2013
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.24 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. void top_bot_frame (int width)
  6. {
  7.     int i;
  8.     for (i = 0; i < width; i++) printf("*");
  9.     printf("\n");
  10. }
  11.  
  12. void free_space (int height, int width, char *str)
  13. {
  14.     int i, j, l = height/2 - 1;
  15.     for (i = 0; i < l; i++) {
  16.         printf("*");
  17.         for (j = 0; j < width - 2; j++) printf(" ");
  18.         printf("*");
  19.         printf("\n");
  20.     }
  21. }
  22.  
  23. int main(int argc, char **argv)
  24. {
  25.     int h, w, k, i;
  26.     char string[100];
  27.  
  28.     //h = argv[1];
  29.     //w = argv[2];
  30.     scanf("%d", &h);
  31.     scanf("%d", &w);
  32.     scanf("%s", string);
  33.  
  34.     /*if ( < 4) {
  35.             printf ("Usage: frame <height> <width> <text>");
  36.             return -1;
  37.     }*/
  38.  
  39.     //char *string = argv[3];
  40.  
  41.     int len = strlen(string);
  42.  
  43.     if (w < len + 2) {
  44.         printf("Error\n");
  45.         return -1;
  46.     }
  47.  
  48.     k = (w - len) / 2 - 1;
  49.  
  50.     top_bot_frame (w);
  51.     free_space (h, w, string);
  52.  
  53.     printf("*");
  54.     for (i = 0; i < k; i++) printf(" ");
  55.     printf("%s", string);
  56.     for (i = 0; i < k; i++) printf(" ");
  57.     if ((w % 2 == 0) && (len % 2 != 0)) printf(" ");
  58.     printf("*");
  59.     printf("\n");
  60.  
  61.     free_space(h, w, string);
  62.     top_bot_frame (w);
  63.  
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment