Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- struct cult {
- char* name;
- float yield[5];
- };
- int main(){
- const char* year[5] = {"1913", "1928", "1940", "1945", "1953"};
- // Создание экземпляров структур (строк в таблице)
- struct cult z, s, h, l, o;
- // Присвоение имен экземплярам структур
- z.name = "Зерновые"; s.name = "Сахарная свекла";
- h.name = "Хлопок сырец"; l.name = "Льно - волокно";
- o.name = "Овощи";
- printf("Заполните данную таблицу урожайности культур:\n");
- printf("\n---------------------------------------------------------------\n");
- printf("\n| Культуры | 1913 | 1928 | 1940 | 1945 | 1953 |");
- printf("\n|------------------|--------|--------|--------|--------|--------|");
- printf("\n| Зерновые | | | | | |");
- printf("\n|------------------|--------|--------|--------|--------|--------|");
- printf("\n| Сахарная свекла | | | | | |");
- printf("\n|------------------|--------|--------|--------|--------|--------|");
- printf("\n| Хлопок сырец | | | | | |");
- printf("\n|------------------|--------|--------|--------|--------|--------|");
- printf("\n| Льно - волокно | | | | | |");
- printf("\n|------------------|--------|--------|--------|--------|--------|");
- printf("\n| Овощи | | | | | |");
- printf("\n---------------------------------------------------------------\n");
- struct cult cult_arr[5] = {z, s, h, l, o};
- const char* cult_name[5] = {"зерновых", "сахарной свеклы", "хлопка", "льна - волокна", "овощей"};
- int i, j, q, w;
- // Заполнение таблицы
- for( j=0; j<5; j++)
- {
- printf("\nУрожайность %s :", cult_name[j]);
- for( i=0; i<5; i++ )
- {
- printf("%s год:", year[i]);
- q = scanf("%f", &cult_arr[j].yield[i]);
- while(q==0){
- while((w=getchar())!='\n'&&w!=EOF);
- printf("\nУрожайность %s обозначается ЧИСЛОМ!\n", cult_name[j]);
- printf("Повторите ввод!/nУрожайность за %s год:", year[i]);
- q = scanf("%f", &cult_arr[j].yield[i]);
- }
- }
- }
- printf("\n-----------------------------------------------------------------\n");
- printf("\n| Культуры | 1913 | 1928 | 1940 | 1945 | 1953 |");
- printf("\n|------------------|--------|--------|--------|--------|--------|");
- printf("\n| Зерновые | %.1f | %.1f | %.1f | %.1f | %.1f |", z.yield[0], z.yield[1], z.yield[2], z.yield[3], z.yield[4]);
- printf("\n|------------------|--------|--------|--------|--------|--------|");
- printf("\n| Сахарная свекла | %.1f | %.1f | %.1f | %.1f | %.1f |", s.yield[0], s.yield[1], s.yield[2], s.yield[3], s.yield[4]);
- printf("\n|------------------|--------|--------|--------|--------|--------|");
- printf("\n| Хлопок сырец | %.1f | %.1f | %.1f | %.1f | %.1f |", h.yield[0], h.yield[1], h.yield[2], h.yield[3], h.yield[4]);
- printf("\n|------------------|--------|--------|--------|--------|--------|");
- printf("\n| Льно - волокно | %.1f | %.1f | %.1f | %.1f | %.1f |", l.yield[0], l.yield[1], l.yield[2], l.yield[3], l.yield[4]);
- printf("\n|------------------|--------|--------|--------|--------|--------|");
- printf("\n| Овощи | %.1f | %.1f | %.1f | %.1f | %.1f |", o.yield[0], o.yield[1], o.yield[2], o.yield[3], o.yield[4]);
- printf("\n-----------------------------------------------------------------\n");
- int r1, r2, r3, r4;
- printf("\na)\n");
- for (i=0; i<5; i++){
- r1 = cult_arr[i].yield[0]-cult_arr[i].yield[1];
- r2 = cult_arr[i].yield[1]-cult_arr[i].yield[2];
- r3 = cult_arr[i].yield[2]-cult_arr[i].yield[3];
- r4 = cult_arr[i].yield[3]-cult_arr[i].yield[4];
- if(r3>r1&&r3>r2&&r3>r4){
- printf(" Культура %s ; 1940: %.1f, 1945: %.1f ; спад - %f ц/гт.\n ", cult_name[i], cult_arr[i].yield[2], cult_arr[i].yield[3], r3 );
- }
- }
- float y;
- printf("\n------------------------------\n\n");
- printf("б)\nВведите значение урожайности, с которым хотите сравнить урожайность культур за 1913 год:");
- q = scanf("%f", &y);
- while (q==0)
- {
- while((w=getchar())!='\n'&&w!=EOF); // Очистка буфера после неудачного ввода
- printf("\nВведенные данные не корректны! Введите ЧИСЛО\n");
- printf("Соответствующее значению урожайности, с которым хотите сравнить урожайность культур за 1913 год:");
- q = scanf("%f", &y);
- }
- for (i=0; i<5; i++){
- if(cult_arr[i].yield[0]<y){
- printf("Культура %s ; урожайность за 1913: %.1f;/n", cult_name[i], cult_arr[i].yield[0]);
- }
- }
- }
- gcc -Wall -o "lab5" "lab5.c" -lm (в каталоге: /home/dmitry/Рабочий стол/ОП)
- lab5.c: In function ‘main’:
- lab5.c:83:72: warning: format ‘%f’ expects argument of type ‘double’, but argument 5 has type ‘int’ [-Wformat=]
- printf(" Культура %s ; 1940: %.1f, 1945: %.1f ; спад - %f ц/гт.\n ", cult_name[i], cult_arr[i].yield[2], cult_arr[i].yield[3], r3 );
- ~^
- %d
- lab5.c:61:142: warning: ‘z.yield[4]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Зерновые | %.1f | %.1f | %.1f | %.1f | %.1f |", z.yield[0], z.yield[1], z.yield[2], z.yield[3], z.yield[4]);
- ~~~~~~~^~~
- lab5.c:61:130: warning: ‘z.yield[3]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Зерновые | %.1f | %.1f | %.1f | %.1f | %.1f |", z.yield[0], z.yield[1], z.yield[2], z.yield[3], z.yield[4]);
- ~~~~~~~^~~
- lab5.c:61:118: warning: ‘z.yield[2]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Зерновые | %.1f | %.1f | %.1f | %.1f | %.1f |", z.yield[0], z.yield[1], z.yield[2], z.yield[3], z.yield[4]);
- ~~~~~~~^~~
- lab5.c:61:106: warning: ‘z.yield[1]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Зерновые | %.1f | %.1f | %.1f | %.1f | %.1f |", z.yield[0], z.yield[1], z.yield[2], z.yield[3], z.yield[4]);
- ~~~~~~~^~~
- lab5.c:61:94: warning: ‘z.yield[0]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Зерновые | %.1f | %.1f | %.1f | %.1f | %.1f |", z.yield[0], z.yield[1], z.yield[2], z.yield[3], z.yield[4]);
- ~~~~~~~^~~
- lab5.c:63:148: warning: ‘s.yield[4]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Сахарная свекла | %.1f | %.1f | %.1f | %.1f | %.1f |", s.yield[0], s.yield[1], s.yield[2], s.yield[3], s.yield[4]);
- ~~~~~~~^~~
- lab5.c:63:136: warning: ‘s.yield[3]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Сахарная свекла | %.1f | %.1f | %.1f | %.1f | %.1f |", s.yield[0], s.yield[1], s.yield[2], s.yield[3], s.yield[4]);
- ~~~~~~~^~~
- lab5.c:63:124: warning: ‘s.yield[2]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Сахарная свекла | %.1f | %.1f | %.1f | %.1f | %.1f |", s.yield[0], s.yield[1], s.yield[2], s.yield[3], s.yield[4]);
- ~~~~~~~^~~
- lab5.c:63:112: warning: ‘s.yield[1]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Сахарная свекла | %.1f | %.1f | %.1f | %.1f | %.1f |", s.yield[0], s.yield[1], s.yield[2], s.yield[3], s.yield[4]);
- ~~~~~~~^~~
- lab5.c:63:100: warning: ‘s.yield[0]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Сахарная свекла | %.1f | %.1f | %.1f | %.1f | %.1f |", s.yield[0], s.yield[1], s.yield[2], s.yield[3], s.yield[4]);
- ~~~~~~~^~~
- lab5.c:65:145: warning: ‘h.yield[4]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Хлопок сырец | %.1f | %.1f | %.1f | %.1f | %.1f |", h.yield[0], h.yield[1], h.yield[2], h.yield[3], h.yield[4]);
- ~~~~~~~^~~
- lab5.c:65:133: warning: ‘h.yield[3]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Хлопок сырец | %.1f | %.1f | %.1f | %.1f | %.1f |", h.yield[0], h.yield[1], h.yield[2], h.yield[3], h.yield[4]);
- ~~~~~~~^~~
- lab5.c:65:121: warning: ‘h.yield[2]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Хлопок сырец | %.1f | %.1f | %.1f | %.1f | %.1f |", h.yield[0], h.yield[1], h.yield[2], h.yield[3], h.yield[4]);
- ~~~~~~~^~~
- lab5.c:65:109: warning: ‘h.yield[1]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Хлопок сырец | %.1f | %.1f | %.1f | %.1f | %.1f |", h.yield[0], h.yield[1], h.yield[2], h.yield[3], h.yield[4]);
- ~~~~~~~^~~
- lab5.c:65:97: warning: ‘h.yield[0]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Хлопок сырец | %.1f | %.1f | %.1f | %.1f | %.1f |", h.yield[0], h.yield[1], h.yield[2], h.yield[3], h.yield[4]);
- ~~~~~~~^~~
- lab5.c:67:145: warning: ‘l.yield[4]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Льно - волокно | %.1f | %.1f | %.1f | %.1f | %.1f |", l.yield[0], l.yield[1], l.yield[2], l.yield[3], l.yield[4]);
- ~~~~~~~^~~
- lab5.c:67:133: warning: ‘l.yield[3]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Льно - волокно | %.1f | %.1f | %.1f | %.1f | %.1f |", l.yield[0], l.yield[1], l.yield[2], l.yield[3], l.yield[4]);
- ~~~~~~~^~~
- lab5.c:67:121: warning: ‘l.yield[2]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Льно - волокно | %.1f | %.1f | %.1f | %.1f | %.1f |", l.yield[0], l.yield[1], l.yield[2], l.yield[3], l.yield[4]);
- ~~~~~~~^~~
- lab5.c:67:109: warning: ‘l.yield[1]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Льно - волокно | %.1f | %.1f | %.1f | %.1f | %.1f |", l.yield[0], l.yield[1], l.yield[2], l.yield[3], l.yield[4]);
- ~~~~~~~^~~
- lab5.c:67:97: warning: ‘l.yield[0]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Льно - волокно | %.1f | %.1f | %.1f | %.1f | %.1f |", l.yield[0], l.yield[1], l.yield[2], l.yield[3], l.yield[4]);
- ~~~~~~~^~~
- lab5.c:69:139: warning: ‘o.yield[4]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Овощи | %.1f | %.1f | %.1f | %.1f | %.1f |", o.yield[0], o.yield[1], o.yield[2], o.yield[3], o.yield[4]);
- ~~~~~~~^~~
- lab5.c:69:127: warning: ‘o.yield[3]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Овощи | %.1f | %.1f | %.1f | %.1f | %.1f |", o.yield[0], o.yield[1], o.yield[2], o.yield[3], o.yield[4]);
- ~~~~~~~^~~
- lab5.c:69:115: warning: ‘o.yield[2]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Овощи | %.1f | %.1f | %.1f | %.1f | %.1f |", o.yield[0], o.yield[1], o.yield[2], o.yield[3], o.yield[4]);
- ~~~~~~~^~~
- lab5.c:69:103: warning: ‘o.yield[1]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Овощи | %.1f | %.1f | %.1f | %.1f | %.1f |", o.yield[0], o.yield[1], o.yield[2], o.yield[3], o.yield[4]);
- ~~~~~~~^~~
- lab5.c:69:91: warning: ‘o.yield[0]’ is used uninitialized in this function [-Wuninitialized]
- printf("\n| Овощи | %.1f | %.1f | %.1f | %.1f | %.1f |", o.yield[0], o.yield[1], o.yield[2], o.yield[3], o.yield[4]);
- ~~~~~~~^~~
- Сборка прошла успешно.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement