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

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

Войти
Регистрация
Восстановить пароль
 
defer
秘密
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
#1

Передать массив структур в функцию - C++

14.02.2012, 23:55. Просмотров 679. Ответов 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
#include <iostream>
#include <cstring>
using namespace std;
 
typedef struct {
char fname[15];
char lname[40];
} fl[50];
 
void see(fl * ptr, int i)
{
      printf( "%X %X\n", &ptr[i]->fname, &ptr[i]->lname);
}
 
void main()
{
        setlocale(LC_ALL, "Russian");
 
        fl kl;
        int ch_fl;
 
       cout << "Введите количество: ";
       cin >> ch_fl;
       cout << endl;
 
  for(int i = 0; i < ch_fl; i++)
 {
      cin.ignore(numeric_limits<streamsize>::max(), '\n');
      cout << "fname:\t";
      cin >> kl[i].fname;
      cin.ignore(numeric_limits<streamsize>::max(), '\n');
      cout << "lname: ";
      cin.getline(kl[i].lname, 40);
      cout << endl;
 }
  see(&kl, 1);
}
почему-то выводит не пойми чего
как исправить?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2012, 23:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Передать массив структур в функцию (C++):

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

Передать массив структур в функцию - C++
Не получается передать в функцию массив(одномерный, не динамический) из структур, ругается(. Без разницы по указателю, ссылке, значению.

Как передать массив структур в функцию в качестве параметра, чтобы изменения в функции меняли исходный массив? - C++
Допустим есть структура struct Base { int a; int b; int c; }; В основном методе main() объявим массив...

Не могу разобраться как передать корректно передать массив из функции в функцию - C++
//--------------------------------------------------------------------------- #pragma hdrstop ...

Передать массив структур функции - C++
Есть функция, принимает адрес 3d массива - func(char **). Строки обрабатывает... Нужный массив строк у меня в структуре: структура One, в...

Подскажите как передать в функцию данные массива структур, которые я ввожу с клавиатуры? - C++
Подскажите как передать в функцию данные массива структур, которые я ввожу с клавиатуры?

2
HighPredator
5637 / 1953 / 370
Регистрация: 10.12.2010
Сообщений: 5,663
Записей в блоге: 3
15.02.2012, 09:58 #2
Строка 13. Ссылки вам зачем?
0
Байт
Эксперт C
17658 / 11696 / 1863
Регистрация: 24.12.2010
Сообщений: 23,325
15.02.2012, 10:58 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Странная вещь
C
1
2
3
4
typedef struct {
char fname[15];
char lname[40];
} fl[50];
Я бы написал
C
1
2
3
4
5
typedef struct {
char fname[15];
char lname[40];
} FL;
FL fl[50];
Добавлено через 6 минут
C
1
 printf( "%X %X\n", &ptr[i]->fname, &ptr[i]->lname);
%X - Вывод 16-ричных целых. А ты, видимо собрался выводить строки?
Как точно заметил HighPredator, а & - на фига?
Подводим итоги
C
1
 printf( "%s %s\n", ptr[i].fname, ptr[i].lname);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2012, 10:58
Привет! Вот еще темы с ответами:

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

Передача указателя на массив структур в функцию - C++
Здрвствуйте! Не могу сообразить почему вылетает segmentation fault в функции, inputDate при количестве элементов в массиве &gt;2 Если есть...

Правильно ли передан указатель на массив структур в функцию? - C++
/*Учебная программулина*/ #include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; struct newtype { char surname; ...

Написать функцию, принимающую массив структур Student - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; struct STUDENT // структура STUDENT { string name; ...


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

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

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