Форум программистов, компьютерный форум CyberForum.ru

Работа с массивами структур - C++

Восстановить пароль Регистрация
 
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
15.12.2010, 19:50     Работа с массивами структур #1
Помогите пожалуйста разработать программу , позволяющую добавлять данные структур с указанными полями в массив, просматривать массивы, а также выполнять дополнительную операцию в соответствии с индивидуальным заданием.
Вот само задание - Поля структуры: код животного, название, количество еды в день (кг). Операция: найти название животного, которое ест больше всего.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2010, 19:50     Работа с массивами структур
Посмотрите здесь:

C++ Работа с массивами
Работа с массивами! C++
Работа с массивами структур C++
Работа с массивами структур C++
C++ Работа с Массивами Структур
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Василий-Робот
TECHNO
 Аватар для Василий-Робот
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
15.12.2010, 20:02     Работа с массивами структур #2
Что значит "добавлять в массив?". Просто сделать еще три массива?
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
15.12.2010, 21:33  [ТС]     Работа с массивами структур #3
скорее всего да, но это всё должно быть в одном коде, а не нескольких...
Василий-Робот
TECHNO
 Аватар для Василий-Робот
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
15.12.2010, 21:50     Работа с массивами структур #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <conio.h>
#include <stdio.h>
#include <string.h>
typedef struct 
    {
            int k;       
            char n[20];
            int e;
    }
    zver; 
int main()
{
    printf("vvedi kolichestvo jivotnih:\n");
    int k,i,j;
    scanf("%d",&k);
    zver z[k];
    int kod[k], eda[i];
    char name[k][20];
    for (i=0;i<k;i++)
    {
        printf("ZVER # %d",i+1);
        printf("\nvvedite kod:\n");
        scanf("%d",&z[i].k);
        printf("vvedite nazvanie:\n");
        scanf("%s",z[i].n);
        printf("vvedite kolichestvo edi (kg):\n");
        scanf("%d",&z[i].e);
    }
    printf("\nINFORMACIYA O JIVOTNIH:\n");
    for (i=0;i<k;i++)
    {
        printf("Jivotnoe #%d\n",i+1);
        printf("kod: %d; imya: %s; kolichestvo edi (kg): %d\n",z[i].k,z[i].n,z[i].e);
    }  
    for (i=0;i<k;i++)
    {
        kod[i]=z[i].k;
        strcpy(name[i],z[i].n);
        eda[i]=z[i].e;
    }
    printf("\nPROSMOTR INFORMACII:\nindividual'niy prosmotr - 1\nprosmotr po kategoriyam - 2\nvihod - 3\n");
    int u,l,m;
    scanf("%d",&u);
    if(u<1 && u>3) printf("nevernoe znachenie!");
    else
    {
        while(u!=3)
        {
        if(u==1) 
        {
                printf("vvedite nomer jivotnogo:\n");
                scanf("%d",&l);
                if(l<0 && l>k) printf("ne verniy nomer!\n");
                else 
                {
                printf("Jivotnoe #%d\n",l);
                printf("kod: %d; imya: %s; kolichestvo edi (kg): %d\n",z[l-1].k,z[l-1].n,z[l-1].e);
                }
        }
        else
        {
               printf("viberite kategoriyu:\n kod - 1; nazvanie - 2; eda - 3;\n");
               scanf("%d",&m);
               if(m<1 && m>3) printf("ne verniy nomer!\n");
               else
               {
                   if(m==1) 
                   {
                           printf("\nKOD:\n");
                           for(i=0;i<k;i++)
                           printf("#%d -> %d\n",i+1,z[i].k);
                   }
                   if(m==2) 
                   {
                           printf("\nNAZVANIE:\n");
                           for(i=0;i<k;i++)
                           printf("#%d - > %s\n",i+1,z[i].n);
                   }
                   if(m==3) 
                   {
                           printf("\nEDA:\n");
                           for(i=0;i<k;i++)
                           printf("#%d -> %d\n",i+1,z[i].e);
                   }
               }
        }
        printf("\nPROSMOTR INFORMACII:\n individual'niy prosmotr - 1\nprosmotr gj kategoriyam - 2\nvihod - 3\n");
        scanf("%d",&u);
        }          
    }
    printf("\nJIVOTNOE S SAMIM BOL'SHIM KOL. EDI:\n");
    int max,imax;
    max=z[0].e;
    imax=1;
    for(i=0;i<k;i++)
    if(z[i].e>max) 
    {
                   max=z[i].e;
                   imax=i+1;
    }
    printf("jivotnoe # %d eda: %d",imax,max);
    getch();
    return 0; 
}
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
15.12.2010, 22:53  [ТС]     Работа с массивами структур #5
выдаёт шибки в строках - zver z[k]; int kod[k], eda[i]; char name[k][20];
Василий-Робот
TECHNO
 Аватар для Василий-Робот
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
15.12.2010, 23:04     Работа с массивами структур #6
SynaptyC, гы-гы) у мну ошибок - нуль и все работает
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
16.12.2010, 00:01  [ТС]     Работа с массивами структур #7
вот на скрине ошибки
Миниатюры
Работа с массивами структур  
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
17.12.2010, 13:25  [ТС]     Работа с массивами структур #8
Можеет кто-то помочь исправить эти ошибки ? )))
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.12.2010, 13:35     Работа с массивами структур #9
Василий-Робот, у вас куча ошыбок. Как у вас может работать вот ето
C
1
2
3
4
5
6
printf("vvedi kolichestvo jivotnih:\n");
    int k,i,j;
    scanf("%d",&k);
    zver z[k];
    int kod[k], eda[i];
    char name[k][20];
Ведь надо либо к задавать как константу, либо использовать malloc и free!!!
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
17.12.2010, 13:42  [ТС]     Работа с массивами структур #10
как тогда правильно записать это к ?
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.12.2010, 13:44     Работа с массивами структур #11
Цитата Сообщение от SynaptyC Посмотреть сообщение
как тогда правильно записать это к ?
C
1
2
3
4
5
 int i,j;
    const int k=5;
    zver z[k];
    int kod[k], eda[i];
    char name[k][20];
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
17.12.2010, 14:00  [ТС]     Работа с массивами структур #12
выдало 36 ошибок, ещё больше чем было(( Вы бы не могли написать или подправить ?
Василий-Робот
TECHNO
 Аватар для Василий-Робот
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
17.12.2010, 21:11     Работа с массивами структур #13
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include <conio.h>
#include <stdio.h>
#include <string.h>
typedef struct 
    {
            int k;       
            char n[20];
            int e;
    }
    zver; 
int main()
{
    zver z[5];
    int i,kod[5], eda[5];
    char name[5][20];
    for (i=0;i<5;i++)
    {
        printf("ZVER # %d",i+1);
        printf("\nvvedite kod:\n");
        scanf("%d",&z[i].k);
        printf("vvedite nazvanie:\n");
        scanf("%s",z[i].n);
        printf("vvedite kolichestvo edi (kg):\n");
        scanf("%d",&z[i].e);
    }
    printf("\nINFORMACIYA O JIVOTNIH:\n");
    for (i=0;i<5;i++)
    {
        printf("Jivotnoe #%d\n",i+1);
        printf("kod: %d; imya: %s; kolichestvo edi (kg): %d\n",z[i].k,z[i].n,z[i].e);
    }  
    for (i=0;i<5;i++)
    {
        kod[i]=z[i].k;
        strcpy(name[i],z[i].n);
        eda[i]=z[i].e;
    }
    printf("\nPROSMOTR INFORMACII:\nindividual'niy prosmotr - 1\nprosmotr po kategoriyam - 2\nvihod - 3\n");
    int u,l,m;
    scanf("%d",&u);
    if(u<1 && u>3) printf("nevernoe znachenie!");
    else
    {
        while(u!=3)
        {
        if(u==1) 
        {
                printf("vvedite nomer jivotnogo:\n");
                scanf("%d",&l);
                if(l<0 || l>5) printf("ne verniy nomer!\n");
                else 
                {
                printf("Jivotnoe #%d\n",l);
                printf("kod: %d; imya: %s; kolichestvo edi (kg): %d\n",z[l-1].k,z[l-1].n,z[l-1].e);
                }
        }
        else
        {
               printf("viberite kategoriyu:\n kod - 1; nazvanie - 2; eda - 3;\n");
               scanf("%d",&m);
               if(m<1 && m>3) printf("ne verniy nomer!\n");
               else
               {
                   if(m==1) 
                   {
                           printf("\nKOD:\n");
                           for(i=0;i<5;i++)
                           printf("#%d -> %d\n",i+1,z[i].k);
                   }
                   if(m==2) 
                   {
                           printf("\nNAZVANIE:\n");
                           for(i=0;i<5;i++)
                           printf("#%d - > %s\n",i+1,z[i].n);
                   }
                   if(m==3) 
                   {
                           printf("\nEDA:\n");
                           for(i=0;i<5;i++)
                           printf("#%d -> %d\n",i+1,z[i].e);
                   }
               }
        }
        printf("\nPROSMOTR INFORMACII:\n individual'niy prosmotr - 1\nprosmotr gj kategoriyam - 2\nvihod - 3\n");
        scanf("%d",&u);
        }          
    }
    printf("\nJIVOTNOE S SAMIM BOL'SHIM KOL. EDI:\n");
    int max,imax;
    max=z[0].e;
    imax=1;
    for(i=0;i<5;i++)
    if(z[i].e>max) 
    {
                   max=z[i].e;
                   imax=i+1;
    }
    printf("jivotnoe # %d eda: %d",imax,max);
    getch();
    return 0; 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2010, 21:33     Работа с массивами структур
Еще ссылки по теме:

C++ Проблемма при работе с массивами структур
работа с массивами C++
C++ Работа с массивами!

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
SynaptyC
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 31
17.12.2010, 21:33  [ТС]     Работа с массивами структур #14
спасибо большое!
Yandex
Объявления
17.12.2010, 21:33     Работа с массивами структур
Ответ Создать тему
Опции темы

Текущее время: 21:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru