Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2013, 15:31   #1
Lonely_wolf1333
 
Аватар для Lonely_wolf1333
 
Регистрация: 08.01.2013
Сообщений: 6
Печаль Функция, возвращающая сумму двух целых величин С++ builder

Здравствуйте! У меня такой код:
Код:
 
#include <vcl.h>
# include <iostream.h>
#pragma hdrstop
#pragma argsused

int sum (int a, int b);          
int main(int argc, char* argv[])
{int a = 2, b = 3, c,d;
c = sum(a, b);                    
cin >> d;
cout << sum(c,d);
return 0;
}
int sum (int a, int b) {       
return a+b;
}
Вот такая ошибка: [Linker Fatal Error] Fatal: Could not open C:\Program Files (x86)\Borland\CBuilder6\Projects\Pr oject1.exe (error code 5)
С ошибкой разобралась...

Объясните пожалуйста, что делает вот эта часть кода:
Код:
int sum (int a, int b) {   return a+b; }
, и зачем она нужна? Я только начала разбираться в этом...

Последний раз редактировалось Lonely_wolf1333; 08.01.2013 в 16:03.
Lonely_wolf1333 вне форума Ответить с цитированием
Старый 08.01.2013, 15:59   #2
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Код:
[Linker Fatal Error] Fatal: Could not open C:\Program Files (x86)\Borland\CBuilder6\Projects\Pr oject1.exe (error code 5)
[Ошибка линковщика] Критическая : Невозможно открыть C:\Program Files (x86)\Borland\CBuilder6\Projects\Pr oject1.exe (код ошибки 5) .

Проверь, возможно exeшник уже запущен.
Hemul вне форума Ответить с цитированием
Старый 08.01.2013, 16:06   #3
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Hemul Посмотреть сообщение
[CODE]Проверь, возможно exeшник уже запущен.
Это Вы о чём? Это у Вас экзешник запущен, а вопрос о функции .

Цитата:
что делает вот эта часть кода:

Код:
int sum (int a, int b) {   return a+b; }
, и зачем она нужна?
Эта функция суммирует два числа a и b и возвращает их сумму в виде аргумента функции.
Так поступают, если некоторый кусок кода многократно повторяется в нескольких местах основной программы. Для Вашей программы, это не актуально.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 08.01.2013 в 16:13.
Smitt&Wesson вне форума Ответить с цитированием
Старый 08.01.2013, 16:14   #4
Lonely_wolf1333
 
Аватар для Lonely_wolf1333
 
Регистрация: 08.01.2013
Сообщений: 6
По умолчанию

Эта функция суммирует два числа a и b и возвращает их сумму в виде аргумента функции.
Так поступают, если некоторый кусок кода многократно повторяется в нескольких местах основной программы. Для Вашей программы, это не актуально.[/QUOTE]
А зачем она ее возвращает? Без нее никак не обойтись?
Lonely_wolf1333 вне форума Ответить с цитированием
Старый 08.01.2013, 16:32   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Smitt&Wesson, не запутывайте новичка
Цитата:
Аргумент функции в программировании — значение передаваемое функции или его символьное имя
Lonely_wolf1333
Цитата:
А зачем она ее возвращает? Без нее никак не обойтись?
В Вашей программе можно и обойтись, но только потому, что выполняемая функцией работа слишком проста. Но это же учебная задача. Программу разбивают на функции, чтобы упростить/разделить разработку. Например, кто-нибудь пишет функцию root(int a, int b), которая находит корень линейного уравнения, а другая функция, например, использует этот корень в расчетах, тогда программа выглядит так:
Код:
#include <iostream>
using namespace std;

int
root(int a, int b)
{
    int x;
    //какой-то код
    return x;
}

int
solve(int c)
{
    //какой-то код
    return d;
}
      
int
main(int argc, char* argv[])
{
    int a = 4, b = 5;
    cout << solve(root(a, b));
    return 0;
}
Функции позволяют упростить и структурировать код.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 08.01.2013 в 16:34.
BDA вне форума Ответить с цитированием
Старый 08.01.2013, 16:39   #6
Lonely_wolf1333
 
Аватар для Lonely_wolf1333
 
Регистрация: 08.01.2013
Сообщений: 6
По умолчанию

Спасибо!! Вроде разобралась))
Lonely_wolf1333 вне форума Ответить с цитированием
Старый 08.01.2013, 16:47   #7
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

BDA, Вы правы. Просто быстро писал, думал об аргументах, вот и выдал перл.
Конечно-же аргументы передаются в функцию, а при выходе будет называться "возвращаемое значение".
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция, возвращающая массив (С++) Alendorff Помощь студентам 14 09.03.2012 17:23
Функция возвращающая указатель ]tach[ Общие вопросы C/C++ 1 19.01.2011 14:35
функция gcd, которая возвращает наибольший общий делитель двух целых чисел Jereme Общие вопросы C/C++ 2 21.01.2010 01:49
Функция возвращающая массив babaj Общие вопросы Delphi 8 04.07.2009 17:40
Функция возвращающая строку(си++). necky Помощь студентам 1 18.10.2008 18:32