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

Не правильно выводит структуру через функцию - C++

Восстановить пароль Регистрация
 
Tsynami
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 10
22.02.2013, 21:19     Не правильно выводит структуру через функцию #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
#include <iostream>
using namespace std;
 
struct Worker {
    char fio[10];
    int date, code;
    float salary;
};
 
void print_worker(Worker);          // объявление функции
void add_worker(Worker);   
 
int main() {
    int c;
    Worker stuff[3];
    /*... формирование массива stuff */
 
    for (int i = 0; i < 3; i++)
    {
        add_worker(stuff[i]); 
 
    }
 
       for (int i = 0; i < 3; i++)
    {
        print_worker(stuff[i]);     // вызов функции
    }   
        
        cin>>c;
 
 
    return 0;
 
}
 
void print_worker(Worker w) {       // определение функции
    cout << w.fio << ' ' << w.date << ' ' << w.code << ' ' << w.salary;
}
 
void add_worker(Worker w) {       // определение функции
    cin >> w.fio >> w.date >> w.code >> w.salary;
}

Вопрос: почему не выводит то что я ввел, а выводит какие-то символы? Помогите разрешить проблему.
работаю в Visual C++ 2010
Миниатюры
Не правильно выводит структуру через функцию  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2013, 21:19     Не правильно выводит структуру через функцию
Посмотрите здесь:

C++ как правильно считать (записать) структуру из файла
C++ Как правильно выделить память под структуру?
C++ Задача через функцию (составить программу, которая по данному числу (1-12) выводит название соответствующего ему месяца)
C++ не правильно выводит результат
Нахождение основных значений оформить через функцию RESHENIE(), ввод данных и вывод на печать через функцию MAIN() C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.02.2013, 21:28     Не правильно выводит структуру через функцию #2
C++
1
2
void add_worker(Worker&);
void print_worker(Worker&);
Tsynami
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 10
22.02.2013, 21:30  [ТС]     Не правильно выводит структуру через функцию #3
Исправил так как ты написал и выкинуло следующую ошибку:

1> LINK : не найден или не выполнена сборка C:\Documents and Settings\Администратор\Рабочий стол\Лабы по сишке\Структ\Debug\Структ.exe при последней инкрементной компоновке; выполняется полная компоновка
1>Структ.obj : error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl add_worker(struct Worker &)" (?add_worker@@YAXAAUWorker@@@Z) в функции _main
1>C:\Documents and Settings\Администратор\Рабочий стол\Лабы по сишке\Структ\Debug\Структ.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
22.02.2013, 21:30     Не правильно выводит структуру через функцию #4
Вам нужно передавать адрес структуры внутрь функций, иначе создается копия внутри функции, вы с ней работаете, по выходу она уничтожается
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.02.2013, 21:35     Не правильно выводит структуру через функцию #5
Цитата Сообщение от Tsynami Посмотреть сообщение
Исправил так как ты написал и выкинуло следующую ошибку:
Реализацию функций тоже нужно исправить.
C++
1
2
3
4
5
void add_worker(Worker &w) 
{       // определение функции
    cin >> w.fio >> w.date >> w.code >> w.salary;;
    
}
Добавлено через 2 минуты
Для print_worker() можно (по желанию) всё оставить как было в 1 посте. Для вывода это не страшно.
Tsynami
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 10
22.02.2013, 21:37  [ТС]     Не правильно выводит структуру через функцию #6
Всем огромное спасибо .все заработало!)
Yandex
Объявления
22.02.2013, 21:37     Не правильно выводит структуру через функцию
Ответ Создать тему
Опции темы

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