Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос про функции в Си++

6.9K
13 февраля 2011 года
fen1xxx
63 / / 04.11.2010
Подскажите пожалуйста, как зделать так, чтобы функция возвращала новое значение в старый параметр. Вот код:

// main.cpp
//-----------------------------------------------------------

Код:
#include <stdio.h>
#include <conio.h>
#include "b_number.h"

#define MAX 10

int I, END, IN[MAX];;

void main()
{
    _scn(IN, END);
    for(I=0, printf("\n"); I<END; I++) printf("%i", IN);
    printf("\n");
}

//-----------------------------------------------------------
// b_number.h
//-----------------------------------------------------------
Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define MAX 10

int _scn(int INT[MAX],int END=MAX)
{
    char TXT[MAX];
    int I;
    for(I=0; I<MAX; I++)
    {
        TXT=getch();
        INT=TXT-'0';
        if((INT<0)||(INT>9)) {END=I; I=MAX; break;}
        putchar(TXT);
    }
    return INT, END;
}

В чём ошибка?
278
13 февраля 2011 года
Alexander92
1.1K / / 04.08.2008
Не, мужик, ну ты крут, конечно, но нельзя ж такое писать. :D Почитай хотя бы про функции и про массивы, потом поговорим о чем-нибудь. Я начну с того, что функция может возвращать не более ОДНОГО значения. А может и вообще ничего не возвращать, а заполнять этим значением какой-то из входных параметров.

Что функция вообще делать должна?
6.9K
13 февраля 2011 года
fen1xxx
63 / / 04.11.2010
Цитата: Alexander92
Не, мужик, ну ты крут, конечно, но нельзя ж такое писать. :D Почитай хотя бы про функции и про массивы, потом поговорим о чем-нибудь. Я начну с того, что функция может возвращать не более ОДНОГО значения. А может и вообще ничего не возвращать, а заполнять этим значением какой-то из входных параметров.

Что функция вообще делать должна?



Я хочу чтобы она возвращала массив в котором введённые пользователем символы, будут числами :)

6.9K
13 февраля 2011 года
fen1xxx
63 / / 04.11.2010
вообще, мне нужно, чтобы в результате выполнения функции _scn(), IN[], в функции main() равнялось INT[]
278
13 февраля 2011 года
Alexander92
1.1K / / 04.08.2008
Ну так прямо и передай свой массив IN в функцию. :)

//-----------------------------------------------------------
// main.cpp
//-----------------------------------------------------------

Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include "b_number.h"

#define MAX 10

int i = 0, size = MAX, in[MAX] = {0};

int main()
{
    _scn(in, size);
    for(i = 0, printf("\n"); i < size; i++)
        printf("%d", in);
    printf("\n");
    return 0;
}


//-----------------------------------------------------------
// b_number.h
//-----------------------------------------------------------
Код:
// здесь ничего уже подключать не нужно, ты все подключил в main.cpp
#define MAX 10

void _scn(int INT[], int size) {
    int i;
    char temp;
    for(i = 0;  i < size; i++) {
        temp = getch();
        INT = temp - '0';
        if ((INT < 0) || (INT > 9))
            break;
    }
}
277
13 февраля 2011 года
arrjj
1.7K / / 26.01.2011
Цитата:
Подскажите пожалуйста, как зделать так, чтобы функция возвращала новое значение в старый параметр.


void test(int &a)
{
a=8;
}

Проверить: int a=5; test(a);

6.9K
13 февраля 2011 года
fen1xxx
63 / / 04.11.2010
спс Alexander92! как репутацию поднимать, а то я не знаю(
278
13 февраля 2011 года
Alexander92
1.1K / / 04.08.2008
arrjj, это если скалярная переменная или объект какой-нибудь. Массив по ссылке передавать - извращение. :)

fen1xxx, репутация - весы под аватарой, но не стоит усилий. :)
277
13 февраля 2011 года
arrjj
1.7K / / 26.01.2011
Alexander92 ну да))
6.9K
13 февраля 2011 года
fen1xxx
63 / / 04.11.2010
Цитата: arrjj
void test(int &a)
{
a=8;
}

Проверить: int a=5; test(a);



спс. как репутацию повысить?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог