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

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

Войти
Регистрация
Восстановить пароль
 
snzh
2 / 2 / 0
Регистрация: 10.08.2013
Сообщений: 73
#1

Программа для вычисления квадратного корня. Ошибка компиляции в аргументе функции - C++

23.03.2014, 01:45. Просмотров 603. Ответов 7
Метки нет (Все метки)

Всем привет, программа для вычисления квадратного корня. Не компилируется из за вызова функции вычисления кв корня. Ругается на аргументы.
-expected primary-expression before 'float' это если в аргументе указывать float a;
-'a' was not declared in this scope это если не указывать float;
- no matching function for call to 'koren::sroot()' эту если вообще без аргументов.
Пожалуйста подскажите как исправить ошибку и что это вообще за ошибки? Как их избежать в будущем?

Ругается на строку 29.

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
#include <cstdlib>
#include <iostream>
#include <cmath>
 
using namespace std;
class koren {
    float a , rez;
    public:
        void in();
        void out();
        float sroot(float a);
};
void koren::in(){
    cout << "Введите число: ";
    cin >> a;
}
float koren::sroot(float a) {
            rez = sqrt(a);
            return rez;
}
void koren::out(){
    cout <<"Квадратный корень из"<< a << " равен" << rez << ".\n";
}
int main(){
setlocale( LC_ALL,"Russian" );
koren s1;
 
s1.in();
s1.sroot(float a);
s1.out();
system("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2014, 01:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа для вычисления квадратного корня. Ошибка компиляции в аргументе функции (C++):

Прототип и тело функции. Алгоритм вычисления квадратного корня - C++
В книге написано: &quot;Если в программе используется функция sqrt, ну это я к примеру, значит для нее должен быть предоставлен прототип. Это...

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

вычисления квадратного корня - C++
составить программу вычисления квадратного корня ведённого числа, не применяя функцию sqrt().

C++ Функция вычисления квадратного корня - C++
Помогите решить задачу: Написать функцию приближённого вычисления квадратного корня по формуле xn =xn -1/2+a/2xn -1, x1 =1, x1 --&gt;...

С++ Функция приближённого вычисления квадратного корня - C++
Написать функцию приближённого вычисления квадратного корня по формуле {x}_{n}=x/2+a/2*x, {x}_{1}=1, x \rightarrow \sqrt{a}. Вот...

Вычисление корня квадратного функции f(x) - C++
Программа на вычисление корня квадратного функции f(x) в пределе &lt;a, b&gt; методом бисекции. Помогите найти ошибку в коде. Корень...

7
Evg
Эксперт CАвтор FAQ
18458 / 6508 / 455
Регистрация: 30.03.2009
Сообщений: 18,162
Записей в блоге: 29
23.03.2014, 01:46 #2
Цитата Сообщение от snzh Посмотреть сообщение
Ругается на строку 29
В 29-й строке вместо "float a" нужно просто писать "a"
0
Yamko
11 / 11 / 2
Регистрация: 10.03.2013
Сообщений: 104
23.03.2014, 01:47 #3
ну так у вас ф-ция main не знает переменной a.
Вы должны присвоить а некое значение, чтоб его передать функции. sroot(a). флоат там не нужен(я про 29 строку).
0
Evg
Эксперт CАвтор FAQ
18458 / 6508 / 455
Регистрация: 30.03.2009
Сообщений: 18,162
Записей в блоге: 29
23.03.2014, 01:47 #4
Правда у тебя в функции main переменная "a" нигде не определена
0
snzh
2 / 2 / 0
Регистрация: 10.08.2013
Сообщений: 73
23.03.2014, 03:33  [ТС] #5
Evg, Yamko, я её определил сейчас в функции main(в строке 4), но тогда результат у всех чисел одинаковый получается: 1,29896e+019.
Что я сделал не так? Извините за глупые вопросы. Помощи искать негде пока что кроме форума.

C++
1
2
3
4
5
6
7
8
9
10
int main(){
setlocale( LC_ALL,"Russian" );
koren s1;
float a;
s1.in();
s1.sroot(a);
s1.out();
system("pause");
return 0;
}
0
17 / 17 / 1
Регистрация: 09.03.2013
Сообщений: 65
23.03.2014, 04:16 #6
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
#include <cstdlib>
#include <iostream>
#include <cmath>
 
using namespace std;
 
class koren {
    float a , rez;
    public:
    void in();
    void out();
    float sroot();
};
void koren::in() {
    cout << "Введите число: ";
    cin >> a;
}
float koren::sroot() {
    rez = sqrt(a);
    return rez;
}
void koren::out() {
    cout <<"Квадратный корень из "<< a << " равен " << rez << ".\n";
}
int main() {
    setlocale( LC_ALL,"Russian" );
    koren s1;
 
    s1.in();
    s1.sroot();
    s1.out();
    system("pause");
    return 0;
}
0
snzh
2 / 2 / 0
Регистрация: 10.08.2013
Сообщений: 73
27.03.2014, 00:19  [ТС] #7
, Evg, подскажите пожалуйста еще одну маленьку вещь. Мне по заданию нужно еще пергрузить эту функцию, которая вычисляет квадратный корень. В книге написано, что нужно её просто переназначить как бы. Просто написать еще одно возможное действие для неё. Я не понимаю этого немного, мне ошибка при компиляции говорит, что ф-ция не может быть перегружена. Подскажите, что сделал не так. И на что смотреть, что бы такого больше небыло.
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
#include <cstdlib>
#include <iostream>
#include <cmath>
 
using namespace std;
 
class koren {
    float a , rez;
    public:
        void in();
        void out();
        float sroot();
        double sroot();
};
void koren::in(){
    cout << "Ââåäèòå ïåðåìåГ*Г*ГіГѕ: ";
    cin >> a;
}
float koren::sroot() {
            rez = sqrt(a);
            return rez;
}
double koren::sroot() {
            rez = sqrt(a);
            return rez;
}
 
void koren::out(){
    cout <<"ГЉГўГ*äðГ*ГІГ*ûé êîðåГ*Гј ГЁГ§ "<< a << " Г°Г*ГўГҐГ* " << rez << ".\n";
}
int main(){
setlocale( LC_ALL,"Russian" );
koren s1;
 
s1.in();
s1.sroot();
s1.out();
system("pause");
return 0;
}
0
ValeryS
Модератор
6752 / 5161 / 493
Регистрация: 14.02.2011
Сообщений: 17,337
27.03.2014, 00:36 #8
Цитата Сообщение от snzh Посмотреть сообщение
float a;
Цитата Сообщение от snzh Посмотреть сообщение
float sroot(float a);
Цитата Сообщение от snzh Посмотреть сообщение
float a , rez;
ты другие имена знаешь? и сам запутался и компилятр запутал
;
Цитата Сообщение от snzh Посмотреть сообщение
C++
1
2
3
4
float koren::sroot(float a) {
            rez = sqrt(a);
            return rez;
}
вот здесь a это что?
аргумент функции или член класса?

Добавлено через 3 минуты
Цитата Сообщение от snzh Посмотреть сообщение
Просто написать еще одно возможное действие для неё. Я не понимаю этого немного, мне ошибка при компиляции говорит, что ф-ция не может быть перегружена.
для того чтобы перегрузить функцию нужны другие аргументы или их количество
например
C++
1
2
3
4
sroot(float a);
sroot(double a);
sroot(int a);
sroot();
1
27.03.2014, 00:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2014, 00:36
Привет! Вот еще темы с ответами:

Ошибка в аргументе функции - C++
Доброго времени суток. В университете дали такое задание: Составить программу на основе ветвления, концепция задачи такова: ...

Как реализовать вывод символов предложения в виде функции корня квадратного? - C++
Как реализовать вывод символов предложения в виде функции корня квадратного, где можно прочитать про это ?

Программа для решения квадратного уравнения. Где ошибка? - C++
где ошибка при создании программы для вычисления квадратного уравнения?? #include &lt; iostream&gt; #include &lt;conio.h&gt; #include &lt; math.h&gt; ...

Опишите процесс вычисления выражения заданного выражения 3 + 2 * x -0,5 – 4 / x. Обраб отайте ошибку извлечения квадратного корня из отрицательного - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string&gt; #include &lt;sstream&gt; #include...


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

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

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