Advertisement
DmitryPythonDevelop

Untitled

Oct 13th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 14.89 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. struct cult {
  4.     char* name;
  5.     float yield[5];
  6. };
  7.  
  8. int main(){
  9.    
  10.     const char* year[5] = {"1913", "1928", "1940", "1945", "1953"};
  11.    
  12.     // Создание экземпляров структур (строк в таблице)
  13.     struct cult z, s, h, l, o;
  14.    
  15.     // Присвоение имен экземплярам структур
  16.     z.name = "Зерновые"; s.name = "Сахарная свекла";
  17.     h.name = "Хлопок сырец"; l.name = "Льно - волокно";
  18.     o.name = "Овощи";
  19.    
  20. printf("Заполните данную таблицу урожайности культур:\n");
  21. printf("\n---------------------------------------------------------------\n");
  22. printf("\n|     Культуры     |  1913  |  1928  |  1940  |  1945  |  1953  |");
  23. printf("\n|------------------|--------|--------|--------|--------|--------|");
  24. printf("\n|     Зерновые     |        |        |        |        |        |");
  25. printf("\n|------------------|--------|--------|--------|--------|--------|");
  26. printf("\n|  Сахарная свекла |        |        |        |        |        |");
  27. printf("\n|------------------|--------|--------|--------|--------|--------|");
  28. printf("\n|   Хлопок сырец   |        |        |        |        |        |");
  29. printf("\n|------------------|--------|--------|--------|--------|--------|");
  30. printf("\n|  Льно - волокно  |        |        |        |        |        |");
  31. printf("\n|------------------|--------|--------|--------|--------|--------|");
  32. printf("\n|       Овощи      |        |        |        |        |        |");
  33. printf("\n---------------------------------------------------------------\n");
  34.    
  35.     struct cult cult_arr[5] = {z, s, h, l, o};
  36.     const char* cult_name[5] = {"зерновых", "сахарной свеклы", "хлопка", "льна - волокна", "овощей"};
  37.    
  38.     int i, j, q, w;
  39.    
  40.     // Заполнение таблицы
  41.     for( j=0; j<5; j++)
  42.     {
  43.         printf("\nУрожайность %s :", cult_name[j]);
  44.         for( i=0; i<5; i++ )
  45.         {
  46.             printf("%s год:", year[i]);
  47.             q = scanf("%f", &cult_arr[j].yield[i]);
  48.            
  49.             while(q==0){
  50.                 while((w=getchar())!='\n'&&w!=EOF);
  51.                 printf("\nУрожайность %s обозначается ЧИСЛОМ!\n", cult_name[j]);
  52.                 printf("Повторите ввод!/nУрожайность за %s год:", year[i]);
  53.                 q = scanf("%f", &cult_arr[j].yield[i]);
  54.             }
  55.         }
  56.     }
  57.  
  58. printf("\n-----------------------------------------------------------------\n");
  59. printf("\n|     Культуры     |  1913  |  1928  |  1940  |  1945  |  1953  |");
  60. printf("\n|------------------|--------|--------|--------|--------|--------|");
  61. printf("\n|     Зерновые     |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", z.yield[0], z.yield[1], z.yield[2], z.yield[3], z.yield[4]);
  62. printf("\n|------------------|--------|--------|--------|--------|--------|");
  63. printf("\n|  Сахарная свекла |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", s.yield[0], s.yield[1], s.yield[2], s.yield[3], s.yield[4]);
  64. printf("\n|------------------|--------|--------|--------|--------|--------|");
  65. printf("\n|   Хлопок сырец   |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", h.yield[0], h.yield[1], h.yield[2], h.yield[3], h.yield[4]);
  66. printf("\n|------------------|--------|--------|--------|--------|--------|");
  67. printf("\n|  Льно - волокно  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", l.yield[0], l.yield[1], l.yield[2], l.yield[3], l.yield[4]);
  68. printf("\n|------------------|--------|--------|--------|--------|--------|");
  69. printf("\n|       Овощи      |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", o.yield[0], o.yield[1], o.yield[2], o.yield[3], o.yield[4]);
  70. printf("\n-----------------------------------------------------------------\n");
  71.    
  72.     int r1, r2, r3, r4;
  73.    
  74.     printf("\na)\n");
  75.     for (i=0; i<5; i++){
  76.        
  77.         r1 = cult_arr[i].yield[0]-cult_arr[i].yield[1];
  78.         r2 = cult_arr[i].yield[1]-cult_arr[i].yield[2];
  79.         r3 = cult_arr[i].yield[2]-cult_arr[i].yield[3];
  80.         r4 = cult_arr[i].yield[3]-cult_arr[i].yield[4];
  81.        
  82.         if(r3>r1&&r3>r2&&r3>r4){
  83.             printf(" Культура %s ; 1940: %.1f, 1945: %.1f ; спад - %f ц/гт.\n ", cult_name[i], cult_arr[i].yield[2], cult_arr[i].yield[3], r3 );
  84.         }
  85.     }
  86.    
  87.     float y;
  88.    
  89.     printf("\n------------------------------\n\n");
  90.     printf("б)\nВведите значение урожайности, с которым хотите сравнить урожайность культур за 1913 год:");
  91.     q = scanf("%f", &y);
  92.     while (q==0)
  93.     {
  94.         while((w=getchar())!='\n'&&w!=EOF); // Очистка буфера после неудачного ввода
  95.         printf("\nВведенные данные не корректны! Введите ЧИСЛО\n");
  96.         printf("Соответствующее значению урожайности, с которым хотите сравнить урожайность культур за 1913 год:");
  97.         q = scanf("%f", &y);
  98.     }
  99.    
  100.     for (i=0; i<5; i++){
  101.         if(cult_arr[i].yield[0]<y){
  102.             printf("Культура %s ; урожайность за 1913: %.1f;/n", cult_name[i], cult_arr[i].yield[0]);
  103.         }
  104.     }
  105.    
  106. }
  107.  
  108. gcc -Wall -o "lab5" "lab5.c" -lm (в каталоге: /home/dmitry/Рабочий стол/ОП)
  109. lab5.c: In function ‘main’:
  110. lab5.c:83:72: warning: format ‘%f’ expects argument of type ‘double, but argument 5 has type ‘int[-Wformat=]
  111.     printf(" Культура %s ; 1940: %.1f, 1945: %.1f ; спад - %f ц/гт.\n ", cult_name[i], cult_arr[i].yield[2], cult_arr[i].yield[3], r3 );
  112.                                                                        ~^
  113.                                                                        %d
  114. lab5.c:61:142: warning: ‘z.yield[4]’ is used uninitialized in this function [-Wuninitialized]
  115.  printf("\n|     Зерновые     |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", z.yield[0], z.yield[1], z.yield[2], z.yield[3], z.yield[4]);
  116.                                                                                                                                        ~~~~~~~^~~
  117. lab5.c:61:130: warning: ‘z.yield[3]’ is used uninitialized in this function [-Wuninitialized]
  118.  printf("\n|     Зерновые     |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", z.yield[0], z.yield[1], z.yield[2], z.yield[3], z.yield[4]);
  119.                                                                                                                            ~~~~~~~^~~
  120. lab5.c:61:118: warning: ‘z.yield[2]’ is used uninitialized in this function [-Wuninitialized]
  121.  printf("\n|     Зерновые     |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", z.yield[0], z.yield[1], z.yield[2], z.yield[3], z.yield[4]);
  122.                                                                                                                ~~~~~~~^~~
  123. lab5.c:61:106: warning: ‘z.yield[1]’ is used uninitialized in this function [-Wuninitialized]
  124.  printf("\n|     Зерновые     |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", z.yield[0], z.yield[1], z.yield[2], z.yield[3], z.yield[4]);
  125.                                                                                                    ~~~~~~~^~~
  126. lab5.c:61:94: warning: ‘z.yield[0]’ is used uninitialized in this function [-Wuninitialized]
  127.  printf("\n|     Зерновые     |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", z.yield[0], z.yield[1], z.yield[2], z.yield[3], z.yield[4]);
  128.                                                                                        ~~~~~~~^~~
  129. lab5.c:63:148: warning: ‘s.yield[4]’ is used uninitialized in this function [-Wuninitialized]
  130.  printf("\n|  Сахарная свекла |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", s.yield[0], s.yield[1], s.yield[2], s.yield[3], s.yield[4]);
  131.                                                                                                                                              ~~~~~~~^~~
  132. lab5.c:63:136: warning: ‘s.yield[3]’ is used uninitialized in this function [-Wuninitialized]
  133.  printf("\n|  Сахарная свекла |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", s.yield[0], s.yield[1], s.yield[2], s.yield[3], s.yield[4]);
  134.                                                                                                                                  ~~~~~~~^~~
  135. lab5.c:63:124: warning: ‘s.yield[2]’ is used uninitialized in this function [-Wuninitialized]
  136.  printf("\n|  Сахарная свекла |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", s.yield[0], s.yield[1], s.yield[2], s.yield[3], s.yield[4]);
  137.                                                                                                                      ~~~~~~~^~~
  138. lab5.c:63:112: warning: ‘s.yield[1]’ is used uninitialized in this function [-Wuninitialized]
  139.  printf("\n|  Сахарная свекла |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", s.yield[0], s.yield[1], s.yield[2], s.yield[3], s.yield[4]);
  140.                                                                                                          ~~~~~~~^~~
  141. lab5.c:63:100: warning: ‘s.yield[0]’ is used uninitialized in this function [-Wuninitialized]
  142.  printf("\n|  Сахарная свекла |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", s.yield[0], s.yield[1], s.yield[2], s.yield[3], s.yield[4]);
  143.                                                                                              ~~~~~~~^~~
  144. lab5.c:65:145: warning: ‘h.yield[4]’ is used uninitialized in this function [-Wuninitialized]
  145.  printf("\n|   Хлопок сырец   |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", h.yield[0], h.yield[1], h.yield[2], h.yield[3], h.yield[4]);
  146.                                                                                                                                           ~~~~~~~^~~
  147. lab5.c:65:133: warning: ‘h.yield[3]’ is used uninitialized in this function [-Wuninitialized]
  148.  printf("\n|   Хлопок сырец   |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", h.yield[0], h.yield[1], h.yield[2], h.yield[3], h.yield[4]);
  149.                                                                                                                               ~~~~~~~^~~
  150. lab5.c:65:121: warning: ‘h.yield[2]’ is used uninitialized in this function [-Wuninitialized]
  151.  printf("\n|   Хлопок сырец   |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", h.yield[0], h.yield[1], h.yield[2], h.yield[3], h.yield[4]);
  152.                                                                                                                   ~~~~~~~^~~
  153. lab5.c:65:109: warning: ‘h.yield[1]’ is used uninitialized in this function [-Wuninitialized]
  154.  printf("\n|   Хлопок сырец   |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", h.yield[0], h.yield[1], h.yield[2], h.yield[3], h.yield[4]);
  155.                                                                                                       ~~~~~~~^~~
  156. lab5.c:65:97: warning: ‘h.yield[0]’ is used uninitialized in this function [-Wuninitialized]
  157.  printf("\n|   Хлопок сырец   |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", h.yield[0], h.yield[1], h.yield[2], h.yield[3], h.yield[4]);
  158.                                                                                           ~~~~~~~^~~
  159. lab5.c:67:145: warning: ‘l.yield[4]’ is used uninitialized in this function [-Wuninitialized]
  160.  printf("\n|  Льно - волокно  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", l.yield[0], l.yield[1], l.yield[2], l.yield[3], l.yield[4]);
  161.                                                                                                                                           ~~~~~~~^~~
  162. lab5.c:67:133: warning: ‘l.yield[3]’ is used uninitialized in this function [-Wuninitialized]
  163.  printf("\n|  Льно - волокно  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", l.yield[0], l.yield[1], l.yield[2], l.yield[3], l.yield[4]);
  164.                                                                                                                               ~~~~~~~^~~
  165. lab5.c:67:121: warning: ‘l.yield[2]’ is used uninitialized in this function [-Wuninitialized]
  166.  printf("\n|  Льно - волокно  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", l.yield[0], l.yield[1], l.yield[2], l.yield[3], l.yield[4]);
  167.                                                                                                                   ~~~~~~~^~~
  168. lab5.c:67:109: warning: ‘l.yield[1]’ is used uninitialized in this function [-Wuninitialized]
  169.  printf("\n|  Льно - волокно  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", l.yield[0], l.yield[1], l.yield[2], l.yield[3], l.yield[4]);
  170.                                                                                                       ~~~~~~~^~~
  171. lab5.c:67:97: warning: ‘l.yield[0]’ is used uninitialized in this function [-Wuninitialized]
  172.  printf("\n|  Льно - волокно  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", l.yield[0], l.yield[1], l.yield[2], l.yield[3], l.yield[4]);
  173.                                                                                           ~~~~~~~^~~
  174. lab5.c:69:139: warning: ‘o.yield[4]’ is used uninitialized in this function [-Wuninitialized]
  175.  printf("\n|       Овощи      |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", o.yield[0], o.yield[1], o.yield[2], o.yield[3], o.yield[4]);
  176.                                                                                                                                     ~~~~~~~^~~
  177. lab5.c:69:127: warning: ‘o.yield[3]’ is used uninitialized in this function [-Wuninitialized]
  178.  printf("\n|       Овощи      |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", o.yield[0], o.yield[1], o.yield[2], o.yield[3], o.yield[4]);
  179.                                                                                                                         ~~~~~~~^~~
  180. lab5.c:69:115: warning: ‘o.yield[2]’ is used uninitialized in this function [-Wuninitialized]
  181.  printf("\n|       Овощи      |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", o.yield[0], o.yield[1], o.yield[2], o.yield[3], o.yield[4]);
  182.                                                                                                             ~~~~~~~^~~
  183. lab5.c:69:103: warning: ‘o.yield[1]’ is used uninitialized in this function [-Wuninitialized]
  184.  printf("\n|       Овощи      |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", o.yield[0], o.yield[1], o.yield[2], o.yield[3], o.yield[4]);
  185.                                                                                                 ~~~~~~~^~~
  186. lab5.c:69:91: warning: ‘o.yield[0]’ is used uninitialized in this function [-Wuninitialized]
  187.  printf("\n|       Овощи      |  %.1f  |  %.1f  |  %.1f  |  %.1f  |  %.1f  |", o.yield[0], o.yield[1], o.yield[2], o.yield[3], o.yield[4]);
  188.                                                                                     ~~~~~~~^~~
  189. Сборка прошла успешно.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement