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

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

Войти
Регистрация
Восстановить пароль
 
nati94
2 / 2 / 0
Регистрация: 18.02.2013
Сообщений: 29
#1

Вывести указатель на структуру на экран - C++

19.02.2013, 22:22. Просмотров 645. Ответов 4
Метки нет (Все метки)

тут часть проги
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
..........................
struct STUDENT
 {
 char FamiliaIO[20];
 int nomer_gruppi;                    // вот структура
 int yspevaem[5];
 } s1,s2[10],*ptr;
..................................
 ptr = new STUDENT[50];
...........................
for(int i=0;i<50;i++)
   {
  printf ("%s ", (*(ptr+i)).FamiliaIO);
  printf("%i", *ptr[i].nomer_gruppi);                                   
 for(int i=0;i<5;i++)
        printf("%i", *ptr[i].yspevaem[i]);
   
   }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2013, 22:22     Вывести указатель на структуру на экран
Посмотрите здесь:

Как вывести на экран переменную из функции, которой присваиваеться значение через указатель? C++
Указатель на структуру C++
C++ Указатель на структуру
C++ Описать структуру TIMETABLE с рассписанием поездов. Вывести на экран информацию о поездах, дата отправления которых введена с клавиатуры.
C++ Указатель на структуру
указатель на структуру C++
Создать указатель на структуру C++
Указатель на структуру C++
C++ Указатель на структуру
C++ Указатель на структуру
Указатель на структуру C++
C++ Указатель на структуру

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
coloc
погромист
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
19.02.2013, 22:36     Вывести указатель на структуру на экран #2
C++
1
2
std::cout << ptr;//указатель на нулевой элемент
    std::cout << ptr + n;;//указатель на n-элемент массива структур
Насколько я понял...
artem1us
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 6
19.02.2013, 23:04     Вывести указатель на структуру на экран #3
После выделения памяти под массив структур, обращайтесь к элементам, используя оператор []:
C++
1
2
3
4
5
6
7
    for(int i=0;i<50;i++)
    {
        printf ("%s ", ptr[i].FamiliaIO);
        printf("%i", ptr[i].nomer_gruppi);
        for(int i=0;i<5;i++)
        printf("%i", ptr[i].yspevaem[i]);
    }
nati94
2 / 2 / 0
Регистрация: 18.02.2013
Сообщений: 29
20.02.2013, 00:03  [ТС]     Вывести указатель на структуру на экран #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
ptr = new STUDENT[50];
       int flag =0 ;
       
       for (int i = 0; i<50; i++)
               { 
                   fread(&s2[i],sizeof(STUDENT),1,f1);
                   ptr[i]=s2[i];
                   if(feof(f1)) {flag = i;break;}
 printf("Фамилия ИО     номер группы     успеваемость\n");
                  int k=0;
                  while(k<flag || k<50)
                   { 
                      
                       cout << ptr[k].FamiliaIO <<'\t' << ptr[k].nomer_gruppi<< '\t';
                        for(int i=0;i<5;i++)
                      cout<< (ptr+i)->yspevaem[k]<< ' ';
                        cout << endl;
                       k++;
                       
                   }
       fclose(f1);
      
       delete[] ptr;
artem1us
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 6
20.02.2013, 12:19     Вывести указатель на структуру на экран #5
Цитата Сообщение от nati94 Посмотреть сообщение
while(k<flag || k<50)
Данное условие истинно,если истинно k<flag или k<50. Используйте только условие (k<flag). этого будет достаточно.
Yandex
Объявления
20.02.2013, 12:19     Вывести указатель на структуру на экран
Ответ Создать тему
Опции темы

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