Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
TiredStars
2 / 2 / 1
Регистрация: 04.09.2015
Сообщений: 76
#1

Функция, аргументом которой должна являться ссылку на структуру - C++

09.11.2015, 04:17. Просмотров 223. Ответов 12
Метки нет (Все метки)

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

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
#include <iostream>
 
using std::cout;
using std::cin;
using std::endl;
 
const int N1 = 15, N2 = 3;
struct A1 {
       char Fam[N1];
       int a;
       int b[N2];
       float c;
       };
              
          
void Input(A1&s)           
{
     setlocale (0, "rus");
     cout << "Ââåäèòå ñòðîêó: ";
     cin >> s.Fam;
     cout << "Ââåäèòå Г¬Г*Г±Г±ГЁГў ГЁГ§ " << N2 << " Г·ГЁГ±ГҐГ«: ";
     for (int i = 0; i < N2; ++i)
     cin >> s.b[i];
     cout << "Ââåäèòå ÷èñëî a: ";
     cin >> s.a;
     cout << "Ââåäèòå ÷èñëî c: ";
     cin >> s.c;
     return;
}       
 
void Output(A1*p)
{
     cout<<p->Fam<<endl;
     cout<<p->a<<endl;
     cout<<p->b<<endl;
     cout<<p->c<<endl;
     return;
 
 
}
 
 
int main()
{
    cout<<"A1"<<endl;
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2015, 04:17
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Функция, аргументом которой должна являться ссылку на структуру (C++):

Что должно являться аргументом шаблона в моём случае?
Реализация универсальной объектной коллекции (шаблона, template). &quot;Написать...

Создайте структуру, в которой поля соответствуют модулю и аргументу комплексного числа. Функция структуры позволяет найт
Создайте структуру, в которой поля соответствуют модулю и аргументу...

Компилятор требует конструктор, принимающий аргументом экземпляр того же класса (не ссылку)
Доброго времени суток. Проблема такова: имеется ряд нижеприведённых классов...

Как создать структуру-список, поля которой — ссылка на такую же структуру
Суть вопроса в том, как создать структуру-список, поля которой - ссылка на сл....

Класс-функция с нужным аргументом
1имеется клаас client 2в нём есть строка char *str 3при инициализации класса...

Функция - принять ссылку вернуть ссылку
В одной из тем я интересовался записью типа int &amp; fun (int rhs), что она значит...

12
UnsKneD
алкокодер
155 / 151 / 41
Регистрация: 27.12.2012
Сообщений: 550
09.11.2015, 04:36 #2
Может стоит вызвать функции? Не помешает ещё создать объект структуры.
1
TiredStars
2 / 2 / 1
Регистрация: 04.09.2015
Сообщений: 76
09.11.2015, 04:45  [ТС] #3
То есть запилить в Main обьект и вызов, и все должно заработать?
0
UnsKneD
алкокодер
155 / 151 / 41
Регистрация: 27.12.2012
Сообщений: 550
09.11.2015, 06:36 #4
TiredStars, да, а по вашему как должно работать?
0
TiredStars
2 / 2 / 1
Регистрация: 04.09.2015
Сообщений: 76
09.11.2015, 07:20  [ТС] #5
Ну если бы я знал, наверное не спрашивал б) спс)
0
TiredStars
2 / 2 / 1
Регистрация: 04.09.2015
Сообщений: 76
10.11.2015, 14:17  [ТС] #6
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
#include <iostream>
 
using std::cout;
using std::cin;
using std::endl;
 
const int N1 = 15, N2 = 3;
struct A1 {
       char Fam[N1];
       int a;
       int b[N2];
       float c;
       };
            
          
void Input(A1&s)           
{
     setlocale (0, "rus");
     cout << "Ââåäèòå ñòðîêó: ";
     cin >> s.Fam;
     cout << "Ââåäèòå Г¬Г*Г±Г±ГЁГў ГЁГ§ " << N2 << " Г·ГЁГ±ГҐГ«: ";
     for (int i = 0; i < N2; ++i)
     cin >> s.b[i];
     cout << "Ââåäèòå ÷èñëî a: ";
     cin >> s.a;
     cout << "Ââåäèòå ÷èñëî c: ";
     cin >> s.c;
     return;
}       
 
void Output(A1*p)
{
     cout<<p->Fam<<endl;
     cout<<p->a<<endl;
     cout<<p->b<<endl;
     cout<<p->c<<endl;
     return;
 
 
}
 
 
int main()
{
    setlocale(0, "rus");
    A1 lab;
    void Input(A1&s);
    void Output(A1*p);
    cout<<"A1"<<endl;
    cin.get();
    return 0;
}
Не работает, я что-то еще из виду упустил. Подтолкните в нужном направлении плз
0
Tulosba
:)
Эксперт С++
4746 / 3240 / 496
Регистрация: 19.02.2013
Сообщений: 9,046
10.11.2015, 14:25 #7
Цитата Сообщение от TiredStars Посмотреть сообщение
Не работает
В следующий раз почитай сообщения об ошибках компилятора и продублируй в своем вопросе, если сам не поймешь.
И прочитай хотя бы один учебник по языку.
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
int main()
{
    setlocale(0, "rus");
    A1 lab;
    Input(lab);
    Output(&lab);
    cout<<"A1"<<endl;
    cin.get();
    return 0;
}
1
TiredStars
2 / 2 / 1
Регистрация: 04.09.2015
Сообщений: 76
10.11.2015, 14:36  [ТС] #8
Компилятор не выдавал ошибок, просто функции ввода и вывода игнорировались и при выполнении сразу писало A1.
Спасибо, так заработало.
0
Tulosba
:)
Эксперт С++
4746 / 3240 / 496
Регистрация: 19.02.2013
Сообщений: 9,046
10.11.2015, 14:48 #9
Цитата Сообщение от TiredStars Посмотреть сообщение
Компилятор не выдавал ошибок
Тут ты постарался Далеко не у всех так получается накосячить.
0
TiredStars
2 / 2 / 1
Регистрация: 04.09.2015
Сообщений: 76
10.11.2015, 14:51  [ТС] #10
Похоже у меня талант xD
А как переделать функции ввода вывода, чтобы заполнить поля структуры без использования объекта?
0
Tulosba
:)
Эксперт С++
4746 / 3240 / 496
Регистрация: 19.02.2013
Сообщений: 9,046
10.11.2015, 14:58 #11
Цитата Сообщение от TiredStars Посмотреть сообщение
чтобы заполнить поля структуры без использования объекта?
Заполнить поля структуры без использования объекта структуры?
0
rikimaru2013
C++ Game Dev
2471 / 1140 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
10.11.2015, 15:00 #12
Цитата Сообщение от TiredStars Посмотреть сообщение
чтобы заполнить поля структуры без использования объекта?
представьте, что объектов тысяча - для какого объекта менять значение его переменной х? Надо как некрути идентифицировать объект у которого надо что-то поменять. Вот.
1
TiredStars
2 / 2 / 1
Регистрация: 04.09.2015
Сообщений: 76
10.11.2015, 15:07  [ТС] #13
Ясно, значит я неправильно задание понял) спасибо
0
10.11.2015, 15:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2015, 15:07
Привет! Вот еще темы с решениями:

Может ли функция иметь аргументом другую функцию или объект?
Внимание тупой вопрос )) А может ли функция иметь аргументом другую функцию или...

Как передать в функцию ссылку на структуру?
Добрый вечер, помогите пожалуйста разобраться. Нужно чтобы функция myProc...

Как передавать ссылку на структуру в map?
Надо два контейнера один вектор со структурами второй мап с сылками на те...

Сравнение двух файлов: должна печататься первая строка, в которой они различаются
Написать программу сравнения двух файлов: должна печататься первая строка, в...


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

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

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