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

Ошибка в программе - C++

Восстановить пароль Регистрация
 
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 401
16.12.2013, 10:16     Ошибка в программе #1
Доброе утро, уважаемые программисты. Прошу у вас помощи: выбивает ошибку. Спасибо
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
#include <iostream>
#include <math.h>
 
using namespace std;
 
void getParam(double &xStart, double &xLast, double &dX, double &E);
void calc(double &xStart, double &xLast, double &dX, double &E);
double getSum(double &x, double &E, int &num);
void echo(double &x, double &res, int &num, int type = 1);
 
void main()
{
    setlocale(LC_ALL, "rus");
    double xStart = 0, xLast = 0, dX = 0, E = 0;
    getParam(xStart, xLast, dX, E);
    calc(xStart, xLast, dX, E);
    return;
}
 
void getParam(double &xStart, double &xLast, double &dX, double &E)
{
    cout << "Введите начальное X: ";
    cin >> xStart;
    if(xStart < 1)
    {
        cout << "Некоректное значение";
        exit;
    }
    cout << "Введите конечное X: ";
    cin >> xLast;
    cout << "Введите приращение X: ";
    cin >> dX;
    cout << "Введите точность вычислений: ";
    cin >> E;
    return;
}
 
void calc(double &xStart, double &xLast, double &dX, double &E)
{
    double localResult = 0;
    int num = 0;
    echo(localResult, localResult, num, 0);
    for(double count = xStart; count <= xLast; count = count + dX)
    {
        num = 0;
        localResult = getSum(count, E, num);
        echo(count, localResult, num);
    }
    return;
}
 
double getSum(double &x, double &E, int &num)
{
    double res = 0, r = 0;
    for(int count = 0;; count++)
    {
        r = 1/((2 * count + 1)*pow(x, (2 * count + 1)));
        if(r >= E)
        {
            num++;
            res = res + r;
            continue;
        }
        return (res*2);
    }
}
 
void echo(double &x, double &res, int &num, int type)
{
    switch(type)
    {
    case 0:
        cout << "--------------------------------" << endl;
        cout << "|   x   |   f(x)  |   count   |" << endl;
        cout << "--------------------------------" << endl;
        break;
    case 1:
        cout << "|  " << x << "   |   " << res << "   |   " << num << "   |" << endl;
        cout << "--------------------------------" << endl;
        break;
    }
    return 0;
    system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2013, 10:16     Ошибка в программе
Посмотрите здесь:

C++ Ошибка в программе
C++ Ошибка в программе
C++ 1 ошибка в программе
C++ ошибка в программе.
Ошибка в программе C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Extrim88
 Аватар для Extrim88
50 / 50 / 11
Регистрация: 08.02.2013
Сообщений: 189
16.12.2013, 10:39     Ошибка в программе #2
Цитата Сообщение от avatar1870 Посмотреть сообщение
Прошу у вас помощи: выбивает ошибку
Подробнее, какая ошибка?

Так навскидку, ошибки: строка 27, насколько я понимаю, попытка использовать функцию exit()? Тогда необходимо включить заголовочный файл cstdlib и заменить данную строку на строку вида
C++
1
exit(EXIT_FAILURE);
.
Еще заметил ошибку в строке 82. Возвращаемое значение функции echo() объявлено как void, а в строке 82 возвращается значение 0.
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,178
Завершенные тесты: 1
16.12.2013, 11:13     Ошибка в программе #3
exit; поменяйте на return;
и еще в функции void echo()
строки 82-83 поменяйте местами и уберите ноль
(функция void не может возвращать значение).
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 401
16.12.2013, 17:40  [ТС]     Ошибка в программе #4
Всё равно не работает. Ошибка:
Кликните здесь для просмотра всего текста
c:\100video\1111\1111\1111.cpp(29): error C2561: main: функция должна возвращать значение
1> c:\100video\1111\1111\1111.cpp(23): см. объявление "main"
1>c:\100video\1111\1111\1111.cpp(96): error C2562: echo: функция типа "void", возвращающая значение
1> c:\100video\1111\1111\1111.cpp(21): см. объявление "echo"
Extrim88
 Аватар для Extrim88
50 / 50 / 11
Регистрация: 08.02.2013
Сообщений: 189
16.12.2013, 17:54     Ошибка в программе #5
Цитата Сообщение от avatar1870 Посмотреть сообщение
c:\100video\1111\1111\1111.cpp(29): error C2561: main: функция должна возвращать значение
1> c:\100video\1111\1111\1111.cpp(23): см. объявление "main"
C++
1
2
3
4
int main()
{
return 0;
}
Цитата Сообщение от avatar1870 Посмотреть сообщение
1>c:\100video\1111\1111\1111.cpp(96): error C2562: echo: функция типа "void", возвращающая значение
1> c:\100video\1111\1111\1111.cpp(21): см. объявление "echo"
82 и 83 строки можно попробовать закомментировать, посмотреть на результат
Yandex
Объявления
16.12.2013, 17:54     Ошибка в программе
Ответ Создать тему
Опции темы

Текущее время: 00:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru