Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Мака94
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 31
#1

указатель на структуру - C++

16.09.2013, 07:08. Просмотров 389. Ответов 1
Метки нет (Все метки)

по заданию: Описать структуру заповедник, которая содержит информацию о животных, содержащихся в
заповеднике: название, вид, класс, количество особей, место естественного обитания,
информация о занесении в красную книгу. Создать массив таких структур и заполнить его.
Вывести на экран всех животных, занесенных в красную книгу. Все действия со структурой
производить с помощью указателя на нее, напрямую к полям структуры обращаться нельзя.

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
#include <iostream>
 using namespace std;
 
//название, вид класс, количество особей, место естественного пребывания, информация о занесении в красную книгу. 
struct animal
{
    char name[15];
    char klass[10];
    char vid[15];
    int kol;
    char mesto[15];
    bool redBook;
 
};
 
 
 
int main ()
{
    int n;
    cout<<"Vvedite kolichestvo zhivotnih: ";
    cin>>n;
    cout<<"\n";
 
  animal *irr=new animal[n];
  for(int i=0;i<n;i++)
  {
      cout<<"Nazvanie: ";
      cin>>irr[i].name;
      cout<<"Klass osobi: ";
      cin>>irr[i].klass;
      cout<<"Vid osobi: ";
      cin>>irr[i].vid;
      cout<<"Kolichestvo osobey: ";
      cin>>irr[i].kol;
      cout<<"Mesto obitaniya: ";
      cin>>irr[i].mesto;
      cout<<"Zanesen v krasnuyu knigu? 1 - da, 2 - net ";
      int j;
      cin>>j;
      cout<<"\n";
      switch(j)
      {
      case 1 : irr[i].redBook=true;break;
      case 2 : irr[i].redBook=false;break;
      }
  }
 
  for(int k=0;k<n;k++)
  {
      if(irr[k].redBook==true)
      { 
      cout<<"Nazvanir: ";
      cout<<irr[k].name<<'\n';
      cout<<"Klass osobi: ";
      cout<<irr[k].klass<<'\n';
      cout<<"Vid osobi: ";
      cout<<irr[k].vid<<'\n';
      cout<<"Kolichestvo osobey: ";
      cout<<irr[k].kol<<'\n';
      cout<<"Mesto obitaniya: ";
      cout<<irr[k].mesto<<'\n';
      cout<<"\n";
      }
  }
 
    system("pause");
    return 0;
}
Все действия со структурой
производить с помощью указателя на нее, напрямую к полям структуры обращаться нельзя. - не знаю как с этим справиться(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2013, 07:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос указатель на структуру (C++):

Ввод данных в структуру через указатель на структуру - C++
#include &quot;stdafx.h&quot; #include &quot;ctime&quot; #include &quot;iostream&quot; #pragma warning(disable : 4996) using namespace std; class...

Указатель на структуру - C++
если struct1,это структура,а acccum,это функция то что значит struct1 &amp; accum(struct1 &amp;target, struct1 &amp;source) Добавлено через 1...

Указатель на структуру - C++
Как с помощью переменной указателя на тип свой структуры вывести на экран значение полей в экземпляре? Написал вот что: #include...

Указатель на структуру - C++
Здравствуйте, есть кусок кода(объявления)(смотри ниже) Проблема в том, что компилятор, как я понял, почему-то не понимает указатель на...

Указатель на структуру - C++
Здравствуйте. Задача: Написать функцию, осуществляющую поиск студента в структуре, а так же определяющую курс на котором студент...

Указатель на структуру - C++
Помогите пожалуйста, надо самому разобраться в си++, вот и застрял в указателях на структуру,при компиляции ошибку выдаёт на начале функции...

1
anmartex
...
1709 / 1202 / 497
Регистрация: 12.02.2013
Сообщений: 1,978
16.09.2013, 08:19 #2
Я так полагаю с вас требуют приблизительно следующее:
Кликните здесь для просмотра всего текста
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
#include <stdio.h>
#include <stdbool.h>
 
struct Animal
{
    char name[15];
    char class[10];
    char kind[15];
    unsigned count;
    char place[15];
    bool redBook;
};
 
int main()
{
    struct Animal animal[] = {{"qwe", "qwe", "qwe", 10, "qwe", false},
                              {"asd", "asd", "asd", 12, "asd", true},
                              {"zxc", "zxc", "zxc", 14, "zxc", false},
                              {"vcb", "cvb", "vcb", 16, "vbn", true}};
 
 
    size_t size = sizeof(animal) / sizeof(*animal);
 
    struct Animal* ptr = animal;
    
    size_t i;
    
    for (i = 0; i < size; ++i)
    {
        if (ptr->redBook)
        {
            printf("animal: %s\n", ptr->name);
        }
        ptr++;
    }
    
    return 0;
}


Хотя может быть и более экзотическое :
Кликните здесь для просмотра всего текста
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
#include <stdio.h>
#include <stdbool.h>
 
struct Animal
{
    char name[15];
    char class[10];
    char kind[15];
    unsigned count;
    char place[15];
    bool redBook;
};
 
int main()
{
    struct Animal animal[] = {{"qwe", "qwe", "qwe", 10, "qwe", false},
                              {"asd", "asd", "asd", 12, "asd", true},
                              {"zxc", "zxc", "zxc", 14, "zxc", false},
                              {"vcb", "cvb", "vcb", 16, "vbn", true}};
 
 
    size_t size = sizeof(animal) / sizeof(*animal);
   
    void* ptr = animal;
    
    size_t i;
    
    for (i = 0; i < size; ++i)
    {
        if (*(bool*)(ptr + 59))
        {
            printf("animal: %s\n", (char*)ptr);
        }
        
        ptr += sizeof(*animal);
    }
 
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2013, 08:19
Привет! Вот еще темы с ответами:

Указатель на структуру - C++
почему не работает? p-&gt;g=3; printf(&quot;%d&quot;,p-&gt;g);

Указатель на структуру - C++
Добрый день, struct list_head { struct list_head *next, *prev; }; 1) зачем такое вообще? 2) типом указателя могло...

Указатель на структуру - C++
Здравствуйте. Объявлена структура: typedef struct str { long field1; .... } str_1;

Создать указатель на структуру - C++
Список товаров, имеющихся на складе, включает в себя наименование товара, количество единиц товара, цену единицы и дату поступления товара...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru