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

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

Войти
Регистрация
Восстановить пароль
 
mind66
3 / 3 / 0
Регистрация: 27.09.2009
Сообщений: 41
#1

return из функции более одного элемента как это сделать - C++

12.05.2010, 15:07. Просмотров 978. Ответов 7
Метки нет (Все метки)

C++
1
2
3
4
5
    struct
    {
        string train_string;
        int locomotiv;
    }train[n];

C++
1
2
3
4
5
6
7
8
9
10
11
    if(index < n)
    {
        return train[index].train_string;
        return train[index].locomotiv;
    }
    else
    {
 
        return "Такого не существует";
        return 3;
    }
это в функции как это принять?
у меня получается что он возвращает только 1 элемент из 2х.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2010, 15:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос return из функции более одного элемента как это сделать (C++):

Как сделать так, что если файл существует return true, если нет - return false - C++
Здравствуйте, я новичок в программировании. Мой вопрос очень прост: как сделать так, что если файл существует return true если нет return...

определение функции в ЗАГОЛОВОЧНОМ файле. В основном предполагается переопределение ТЕЛА этой функции. Как это сделать, не правя хидер? - C++
Сабж, а подробнее если в заголовочном файле hider.h описана функция, допустим так: void f (); void f () { int per= 10; } ...

Из функции вернуть более одного значения - C++
У меня есть функция: code(int y, int z){ int g=y+z; int f=y*z; return g,f; } main(){ int sum=code(5,15); } Как прописать...

Найти максимальное из чисел встречающихся в матрице более одного раза. Сделать используя указатели и классы - C++
Ребята..помогите,пожалуйста.Надо решить задачу,а никак не выходит(даже не знаю..прочитала в книге все про указатели и не пойму как...

нужно создать таблицу из 3 строк и 4 столбцов и заполнить её (любой информацией,это неважно) . Как это можно сделать ? - C++
Здравствуйте.У меня возникла проблема. Помогите пожалуйста!Модуль в понедельник , про таблицы ничего не рассказывали , а преподаватель...

Функции. Как после одного возвратного значения функции отталкиваться от возврата другой функции - C++
Написал код, в котором 2 функции одна возвращает стринговое значение, вторая должна бы вернуть значение, отталкиваясь от первой. Возможно...

7
Tyoma
51 / 51 / 8
Регистрация: 12.05.2010
Сообщений: 166
Завершенные тесты: 3
12.05.2010, 15:50 #2
Ну как я понимаю как только функция возвращает значение, она сразу завершается, для передачи нескольких элементов я думаю надо функцией возвращать структуру в данном случае.

А просто так вернуть несколько различных элементов я не знаю как.
0
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
12.05.2010, 15:55 #3
Цитата Сообщение от Tyoma Посмотреть сообщение
...как только функция возвращает значение, она сразу завершается...
это да,

C++
1
2
3
4
5
6
7
 
       else
        {
 
                return "Такого не существует";
                return 3;
        }
исправить на
C++
1
2
3
4
5
6
7
8
 
       else
        {
             return 3;
        }
//потом в майне
if(func==3)
{cout<<"Такого не существует";}
или просто тупо вывести в функции... ведь значение
"Такого не существует";
больше нигде использовать не надо... тогда
C++
1
2
3
4
5
6
7
 
       else
        {
 
                cout<<"Такого не существует";
                return 3;
        }
0
mind66
3 / 3 / 0
Регистрация: 27.09.2009
Сообщений: 41
12.05.2010, 15:59  [ТС] #4
да вы правильно понимаете, и точно такая же структура принимает данные но я не знаю как это реализовать



пытаюсь передать от структуры к структуре:

error C2679: binary '=' : no operator found which takes a right-hand operand of type 'int' (or there is no acceptable conversion)
0
Tyoma
51 / 51 / 8
Регистрация: 12.05.2010
Сообщений: 166
Завершенные тесты: 3
12.05.2010, 16:06 #5
Ну можно и просто вывести, но выше:

C++
1
2
3
4
        {
                return train[index].train_string;
                return train[index].locomotiv;
        }
Вот тут функция вернет только train[index].train_string а до другой переменной не дойдет...

Добавлено через 2 минуты
Сделайте тип функции - название структуры, и возвращайте полностью структуру а не отдельные ее данные
0
mind66
3 / 3 / 0
Регистрация: 27.09.2009
Сообщений: 41
12.05.2010, 16:06  [ТС] #6
а можно как то передавать в return более одного элемента и как это делается?
0
&Alex&
19 / 19 / 1
Регистрация: 21.03.2010
Сообщений: 221
12.05.2010, 16:12 #7
Цитата Сообщение от mind66 Посмотреть сообщение
а можно как то передавать в return более одного элемента и как это делается?
Нет. С помощью return можно возвратить только одно значение.
1
Tyoma
51 / 51 / 8
Регистрация: 12.05.2010
Сообщений: 166
Завершенные тесты: 3
12.05.2010, 16:14 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct str {
    int n;
    char *a;
};
 
str p;
 
str func(str p) {
    p.n = 123;
    p.a = "123123";
    return p;
}
 
int main() {
    str n;
    n = func(p);
    cout << n.a << " " << n.n;
        return 0;
}
вот например в данном примере я возвращаю структуру функцией func, а потом другую структуру вывожу.
1
12.05.2010, 16:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2010, 16:14
Привет! Вот еще темы с ответами:

не удается передать объект из одного класса в другой посредством return - C++
есть класс Reading,в котором находится два объекта типа string :text и line,их я передаю с помощью двух аналогичных методов std::string...

Не работает передача объекта из одного класса в другой через return - C++
Есть 2 объекта класс Reading ,text и line,которые посредством методов std::string outstr() std::string outch() соответственно должны...

Исходники Boost, как пособие для изучения C++ на более продвинутом уровне: хорошая ли это идея? - C++
Исходники Boost, как пособие для изучения C++ на более продвинутом уровне: хорошая ли это идея?

Нахождение количества столбцов матрицы, не содержащих ни одного нулевого элемента, и максимального числа, встречающихся более одного раза. - Matlab
Ребята очень нужна помощь, срочно надо сдать индивидуалку две задачки не получилось сделать пожалуйста помогите! Благодарю за ранее!!! ...


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

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

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