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

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

Войти
Регистрация
Восстановить пароль
 
andyoO
1 / 1 / 0
Регистрация: 19.12.2012
Сообщений: 68
#1

Ошибка в функции (function: должна возвращать значение) - C++

01.06.2013, 19:06. Просмотров 746. Ответов 2
Метки нет (Все метки)

ребят, компилятор выдает error C4716: function: должна возвращать значение что это значит? как с этим бороться?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#include "stdafx.h"
#include <math.h> 
#include <string.h>
#include <conio.h>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <time.h>
#include <windows.h> 
using namespace std;
double x;
long double fact(double k=0)
{
    if (k == 0) 
        return 1; 
    else
        return k * fact(k - 1); // делаем рекурсию.
}
double function(double x, double eps)
{
double func=1,funct=1,k=0; 
for (k=0;abs(funct-func)>=eps;k++)
{
func=funct;
funct=func+pow(x,k)/fact(k); 
}
};
//e^x=\sum_{n=0}^\infty \frac{x^n}{n!}
 
 
double epsil (double x,double fun)
{
return (sqrt(abs(3.1415926*3.1415926/16 - fun*fun)));
};
 
 
int main(void)
{ setlocale(LC_ALL,"Russian");
 
double eps ,fun=0, xna4, xkon, delta,x,xideal,m;
cout<<("Введите начальное Х\n");
cin>>xna4;
cout<<("Введите конечное X\n");
cin>>xkon;
while (xkon==xna4)
{cout << "Введите начальное Х\n";
cin>>xna4;
cout<<("Введите конечное X\n");
cin>>xkon;
}
cout<<("Введите шаг\n");
cin>>delta;
while (delta==0)
{cout << "Введите шаг\n";
cin >> delta;}
while (xna4>xkon && delta>0)
{ cout<<("Неверно, введите новые значения\n");
cout<<("Введите шаг\n"); 
cin>>delta;
cout<<("Введите начальное Х\n"); 
cin>>xna4;
cout<<("Введите конечное X\n"); 
cin>>xkon;}
while (xna4<xkon && delta<0)
{ cout<<("Неверно, введите новые значения\n");
cout<<("Введите начальное Х\n"); 
cin>>xna4;
cout<<("Введите конечное X\n"); 
cin>>xkon;
cout<<("Введите шаг\n"); 
cin>>delta;
}
 
while(abs(xna4-xkon)<delta) {
cout<<("Введите начальное Х\n");
cin>>xna4;
cout<<("Введите конечное X\n");
cin>>xkon;
cout<<("Введите шаг\n");
cin>>delta; }
if (xna4==xkon) 
{printf ("Неверно, введите новые значения\n"); 
cout<<("Введите корректное значение x начальное\n");
cin>>xna4;
cout<<("Введите корректное значение x конечное\n");
cin>>xkon;
cout<<("Введите корректное значение шаг\n");
cin>>delta;
}
 
cout<<"Введите точность в интервале от 0.0000001 до 0.1\n";
cin>>eps;
//if ((eps>0.1) (eps<0.0000001) || eps<0 || eps!=0) //1
while ((eps>1) || (eps<=0)) 
{
cout<<("Введите точность в интервале от 0.0000001 до 0.1\n");
cin>>eps;
}
cout<<"Введите Х идеальное\n ";
cin >> xideal;
printf ("----------------------------------------------------------------\n");
printf ("|     x      |  MyFunction(x) |     exp(x)     |      delta     |\n");
printf ("----------------------------------------------------------------\n");
for (x=xna4; x<=xkon; x=x+delta)
{
    m=exp(double(x));
printf("|%12.7f| %14.7f | %14.7f | %14.7f |\n",x,function(x,eps),m,epsil(x,function(x,eps)));
printf ("----------------------------------------------------------------\n");
}
x=0;
for (x=xna4; x>=xkon; x=x+delta)
{
m=exp(double(x));
printf("|%12.7f| %14.7f | %14.7f | %14.7f |\n",x,function(x,eps),m,epsil(x,function(x,eps)));
printf ("----------------------------------------------------------------\n");
}
 
printf ("----------------------------------------------------------------\n");
printf ("|     eps    |  MyFunction(x) |     exp(x)     |      delta     |\n");
printf ("----------------------------------------------------------------\n");
for (eps=0.1;eps>=0.0000001;eps=eps*0.1) // 1
{for (x=xna4; x>=xkon; x=x+delta)
{
m=exp(double(x));
printf("|%12.7f| %14.7f | %14.7f | %14.7f |\n",eps,function(xideal,eps),m,epsil(x,function(x,eps)));
printf ("----------------------------------------------------------------\n");
}
}
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2013, 19:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в функции (function: должна возвращать значение) (C++):

Ошибка C4716 Complex<int>::operator+=: должна возвращать значение - C++
У меня vs 2015 c++. Необходимо создать шаблон класса для представления 2-х компонентных комплексных чисел и реализовать перегруженные...

Где и что исправить в коде ? Ошибка :sumSequence должна возвращать значение - C++
#include #include #include using namespace std; void displayExplanation(void) { cout &lt;&lt; &quot;Eta porgramma sumiryet...

error C4716: Distance::getdist: должна возвращать значение - C++
уменя visual c++ 2010 professional.как решить проблему ? #include &lt;iostream&gt; using namespace std; /// class Distance { ...

Функция с типом char, которая должна возвращать интовое значение - C++
Всем привет. Странное дело. Есть функция с типом char, которая должна возвращать интовое значение в виде площади квадрата (так по заданию...

Правильно возвращать значение из функции - C++
Есть недопонимание в этом вопросе. Понимаю, что локальные переменные вернуть нельзя, так как они удаляются при завершении функции. Но...

Как лучше возвращать значение из операции-функции - C++
В следующем коде при перегрузке оператора '+' функция возвращает ссылку на временный объект Point&amp;operator+(int d) и Point&amp;operator+(int...

2
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
01.06.2013, 20:00 #2
andyoO, у вас функция function описана как возвращающая double.А в ней самой return нет - она ничего не возварщает.Вот и ругается
0
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
01.06.2013, 20:03 #3
Цитата Сообщение от andyoO Посмотреть сообщение
double function(double x, double eps)
{
double func=1,funct=1,k=0;
for (k=0;abs(funct-func)>=eps;k++)
{
func=funct;
funct=func+pow(x,k)/fact(k);
}
};
return где?

Добавлено через 43 секунды
опоздал.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2013, 20:03
Привет! Вот еще темы с ответами:

Функция должна возвращать наименьший положительный элемент массива - C++
Помогите, не могу написать этот клочек кода...голова кипит.. Есть постановка задания: Написать функцию (процедуру) с параметрами для...

.Написать функцию, которая будет возвращать значение y=ln(x)+x при входящем параметре x. Построить таблицу значений этой функции - C++
.Написать функцию, которая будет возвращать значение y=ln(x)+x при входящем параметре x. Построить таблицу значений этой функции. ...

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

Функция должна возвращать новый массив, состоящий из отрицательных элементов исходного массива - C++
У меня есть задание: написать функцию (процедуру) с параметрами для обработки одномерного массива целочисленных данных (количество...


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

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

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