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

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

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

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

19.02.2013, 22:22. Просмотров 676. Ответов 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]);
   
   }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2013, 22:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести указатель на структуру на экран (C++):

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

Как вывести на экран переменную из функции, которой присваиваеться значение через указатель? - C++
Только начал изучать С++. И не могу понять, как вывести на экран переменную pdLocalVar из функции child(), которой присваивается значение в...

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

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

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

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

4
coloc
погромист
410 / 246 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
19.02.2013, 22:36 #2
C++
1
2
std::cout << ptr;//указатель на нулевой элемент
    std::cout << ptr + n;;//указатель на n-элемент массива структур
Насколько я понял...
0
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]);
    }
0
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;
0
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). этого будет достаточно.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2013, 12:19
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
20.02.2013, 12:19
Ответ Создать тему
Опции темы

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