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

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

Войти
Регистрация
Восстановить пароль
 
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
#1

функция,вопрос на счет возвращаемого значния - C++

17.11.2009, 21:29. Просмотров 684. Ответов 13
Метки нет (Все метки)

у меня вопрос(название уже говорит про какой)
если скажем у меня функция возвращает целыое число то функцию пишу с INT,а если у меня и целое число и тип чар,то что в этом случае написать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2009, 21:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос функция,вопрос на счет возвращаемого значния (C++):

Вопрос на счет усл.операторов - C++
не знаю как правильно задать вопрос...представте: char text я ввожу слово ааа в консоли..если text==a то вывести на экран __аааа ...

по прототипам и функция вопрос подскажите плиз - C++
struct lfile{ char name; char data; int upd; }; struct sp{ lfile elfile; // поле данных ...

Чтения структуры из файла (описать структуру с именем "ORDER": "счет плательщика"; "счет получателя"; "сумма, переводится банковской операцией") - C++
Описать структуру с именем "ORDER", содержащий следующие поля: "Счет плательщика"; "Счет получателя"; "Сумма, переводится банковской...

вопрос к спецам: почему функция fputc при работе не устанавливает счётчик файла в конец? - C++
Друзья! То есть написана программка. С клавы вводится ОДИН символ и он запихивается в файл. А потом этот файл с помощью функции fread...

Тип возвращаемого значения - C++
Здравствуйте, вопрос может тупой, но почему в данном конкретном случае функция convert всегда возвращает целое значение, без знаков после...

Тип возвращаемого значения - C++
Доброе время суток! Возникла необходимость написать программу на С++. Но я в языке ,если честно,не сильна. Использовала функции в...

13
Андрейка
420 / 224 / 27
Регистрация: 25.03.2009
Сообщений: 744
17.11.2009, 21:34 #2
МедведЪ, void и по ссылке
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
17.11.2009, 21:37  [ТС] #3
Андрейка, void?если void то я не должен писать return,а может я хочучерез ретурн что то поменять?.....во всяком случае дайте код который с сылкой
0
Андрейка
420 / 224 / 27
Регистрация: 25.03.2009
Сообщений: 744
17.11.2009, 21:42 #4
МедведЪ, 2 значения через return сразу не вернуть даже если void ты можешь свой ретёрн туда пихнуть вот так return ; =) ну по ссылке смотри
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
void func(int &x)
{
 x = 10;
}
 
int main()
{
int z = 5;
func(z);
std::cout << z;
}
1
CheshireCat
Эксперт С++
2896 / 1245 / 78
Регистрация: 27.05.2008
Сообщений: 3,405
17.11.2009, 21:46 #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
typedef struct _tagMyStruct
{
    int i;
    char c;
} MyStruct;
 
MyStruct foo()
{
    MyStruct s;
    s.i = 0;
    s.c = '\xA';
    return s;
}
На C++ аналогично, только не надо так извращаться с typedef.
1
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
17.11.2009, 21:51  [ТС] #6
Цитата Сообщение от CheshireCat Посмотреть сообщение
На C++ аналогично, только не надо так извращаться с typedef.
спасибо но мне д структур ооо как далеко...
0
Лукас
4 / 4 / 1
Регистрация: 17.11.2009
Сообщений: 32
17.11.2009, 22:05 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<conio.h>
#include<iostream.h>
 
int *fnk(int x)
 {int kvadrat, kub, m[2];
  kvadrat=x*x;
  kub=x*x*x;
  m[0]=kvadrat; m[1]=kub;
  return(m);
 }
 
main()
 {int x, *p;
  clrscr();
  cout<<"vvedite x ";
  cin>>x;
  p=fnk(x);
  cout<<"kvadrat "<<p[0]<<endl<<"kub "<<p[1];
  getch();
 }

это пример возвращения из функции массива. то же можно сделать и со структурой, но, если ты ее не понимаешь, это проблематично. я могу тебе объяснить.
а еще можно попробовать записывать то, что нужно вернуть, в глобальную переменную.
передать сразу две переменные ты не можешь.
1
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
17.11.2009, 22:15  [ТС] #8
Цитата Сообщение от Лукас Посмотреть сообщение
передать сразу две переменные ты не можешь.
как не могу??а это что?
C++
1
2
3
4
int fucn(int x, int y)...
int main(){
fucn(x,y);
}
??или я не догоняю
0
Лукас
4 / 4 / 1
Регистрация: 17.11.2009
Сообщений: 32
17.11.2009, 22:22 #9
ну, это ты передаешь в функцию, а не из нее оО
в функцию-то сколько угодно и чего угодно, хотя мне никогда не нужно было больше четырех, да и то в графике.
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
17.11.2009, 22:29  [ТС] #10
Цитата Сообщение от Лукас Посмотреть сообщение
ну, это ты передаешь в функцию, а не из нее оО
ну а как наоборот?код можно
0
Gravity
564 / 558 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
17.11.2009, 22:32 #11
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
void fnc(int *x, int *y)
{
    *x = 5;
    *y = 10;
}
 
int main(void)
{
    int x, y;
 
    x = y = 0;
    fnc(&x, &y);
    printf("x = %d, y = %d\n", x, y);
 
    getchar();
    return 0;
}
1
Лукас
4 / 4 / 1
Регистрация: 17.11.2009
Сообщений: 32
17.11.2009, 22:35 #12
говорю тебе: из функции напрямую можно передавать только одну переменную/ одно значение.
если тебе нужно передать несколько переменных одного типа, нужно передавать массив, в котором они были бы записаны.
если тебе нужно передать несколько переменных разных типов, нужно передавать структуру.

есть еще криворукий путь, но криворукий путь такой криворукий...
нужно после библиотек, тобшь после всех include, объявить глобальные переменные, которые можно будет использовать в любой из функций/процедур.
объявляются они как обычные. только есть тонкость: если тебе нужно указать кол-во символов в char, то нужно писать так:

C++
1
2
const n=10;
char ch[n]
и тогда ch будет 10-символьной строкой.
0
M128K145
Эксперт С++
8300 / 3520 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
17.11.2009, 22:57 #13
МедведЪ, ретурн работает таким образом - в функции проводятся вычисления, результат записывается в некоторую переменную - тип здесь не важен, его просто нету, а адрес этой переменной записывается в регистр eax размером в 4 байта. Адресу больше и не надо. Если надо что-то возвратить, то только массив для однотипных данных. Разнотипные - структура или класс(если хочется поизвращаться, то можно все возвращать или строкой или массивом целых чисел, но потом нужные элементы преобразовывать в тип char или int соответственно потребностям). А больше выхода у тебя нету никакого. Хороший еще вариант как для учебы, но не для реальных проектов - возвращение через файл
0
Rififi
2360 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
17.11.2009, 23:28 #14
M128K145,

Разнотипные - структура или класс(если хочется поизвращаться, то можно все возвращать или строкой или массивом целых чисел, но потом нужные элементы преобразовывать в тип char или int соответственно потребностям).

скоро будет (а практически уже есть) std::tuple
0
17.11.2009, 23:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2009, 23:28
Привет! Вот еще темы с ответами:

Тип возвращаемого значения - C++
Здравствуйте! Подскажите, пожалуйста, почему при нахождении арифметического выражения, функция main должна возвращать значение типа int,...

Сам вопрос: почему функция-член одного класса не вызывается из функции-члена другого класса? - C++
//Щас всё объясню. Так, имеем два класса, в одном я определил функцию-член. Все конструкторы и прочее //опущены для уменьшения кода ...

Тип возвращаемого значения функции - C++
есть класс point. в другом классе есть член функция point GetUpperLeft() { return itsUpperLeft; } эта член-функция исходя из типа...

Назначение возвращаемого значения функцией - C++
Уважаемые форумчане, помогите пожалуйста ответить на пару тройку вопросов:wall: 1.Поясните назначение возвращаемого значения функцией....


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

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

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