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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2011, 00:03   #1
Ислам
Форумчанин
 
Регистрация: 22.02.2011
Сообщений: 106
По умолчанию ФУНКЦИЯ В СИ

Объясните, пожалуйста, почему функция не работает!

Код:
#include "stdafx.h"
#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<locale.h>
float fun (float sum); //прототип функции
void main()
{
    float  xn, xk, dx,y,x; // определение типа данных
    setlocale (LC_ALL, "Russian");//подключение языкового пакета
    printf("\n Введите начало отрезка xn= ");
    scanf("%f", &xn);
    printf("\n Введите конец отрезка xk= ");
    scanf("%f", &xk);
    printf("\n Введите шаг dx= ");
    scanf("%f", &dx);
    getch(); // задержка экрана
    float fun (float sum );// вызов функции
}
float fun (float sum) //описание функции
{
	float y,x,dx,xk,xn;
	int  n=0; // определение типа и присвоение значения переменной
    for(x=xn; x<=xk; x+=dx)
    {
      n++;
	  y=(-x*x*(2*n+1))/(2*n+3);	
      sum+=y; n++;
	  printf("сумма=%f", sum);
	}
    return 0;
}

Последний раз редактировалось Stilet; 26.02.2011 в 11:25.
Ислам вне форума Ответить с цитированием
Старый 26.02.2011, 00:05   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Код:
float fun (float sum );// вызов функции
о_О! Учите функции! Просто их так не вызывают!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 26.02.2011, 01:25   #3
Ислам
Форумчанин
 
Регистрация: 22.02.2011
Сообщений: 106
По умолчанию

Как же ее вызывают!?

____________________
Wait a little-will have a rest and you

Последний раз редактировалось Ислам; 26.02.2011 в 01:28.
Ислам вне форума Ответить с цитированием
Старый 26.02.2011, 06:14   #4
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Цитата:
void main()
Должно быть int main().
По теме вопроса почитайте Кернигана и Ритчи, главу про функции. http://obey.su/books
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 26.02.2011, 09:08   #5
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Используйте тег CODE для оформления программы. Выделите текст программы и нажмите значок # на панели сообщения.
Теперь по теме.
Функцию объявляют следующим образом:
<тип возвращаемого значения> Имя функции (параметры и их тип для передачи в функцию)
В зависимости от функции (возвращает значение или нет) идет вызов в программе
a=func(c,d); или func(c,d);
Подкорректируйте сами не получится пишите.
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 26.02.2011, 13:46   #6
Ислам
Форумчанин
 
Регистрация: 22.02.2011
Сообщений: 106
По умолчанию

float fun (float sum); //прототип функции
int main()
{
.........

fun(sum); //вызов функции в main()
}


float fun (float sum) //описание функции
{

..........

}

Не работает! Он функцию не вызывает, и она не приступает к работе!
Ислам вне форума Ответить с цитированием
Старый 26.02.2011, 14:02   #7
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Покажи свой код
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 26.02.2011, 14:14   #8
Ислам
Форумчанин
 
Регистрация: 22.02.2011
Сообщений: 106
По умолчанию

Код:
#include "stdafx.h"
#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<locale.h>
float fun (float sum);    //прототип функции  
int main()
{
    float  xn, xk, dx,y,x;    // определение типа данных
    setlocale (LC_ALL, "Russian");   //подключение языкового пакета
    printf("\n Введите начало отрезка xn= ");
    scanf("%f", &xn);
    printf("\n Введите конец отрезка xk= ");
    scanf("%f", &xk);
    printf("\n Введите шаг dx= ");
    scanf("%f", &dx);
	for(x=xn; x<=xk; x+=dx)
    getch();    // задержка экрана
	return 0;
   fun ( sum );  // вызов функции
}
float fun (float sum) //описание функции
{
	float y,x,dx,xk,xn;
	int  n; // определение типа и присвоение значения переменной
    for(n=0;x<=xk;n++)
    {
	  y=(-x*x*(2*n+1))/(2*n+3);	
      sum+=y; 
	  printf("сумма=%f", sum);
	}
	return 0;
}
После ввода данных с клавы он перестает работать! До описания функции не доходит!

Последний раз редактировалось Stilet; 26.02.2011 в 14:40.
Ислам вне форума Ответить с цитированием
Старый 26.02.2011, 14:34   #9
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

И это неудивительно. Что такое return, ты в курсе? Если нет, читай соответствующую литературу (Кернигана и Ритчи), а не выставляй себя балбесом.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 26.02.2011, 14:52   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А все потому что:
Цитата:
getch(); // задержка экрана
return 0;
Заметил? Выход из программы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция.... begemotikdin Паскаль, Turbo Pascal, PascalABC.NET 3 19.08.2010 18:51
C++.функция. savva Помощь студентам 8 05.07.2010 22:28
Функция... frem-dag Общие вопросы C/C++ 14 10.01.2010 17:38
Функция Lemo Помощь студентам 1 02.12.2008 00:24
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50