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

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

Восстановить пароль Регистрация
 
snzh
1 / 1 / 0
Регистрация: 10.08.2013
Сообщений: 72
23.03.2014, 01:45     Программа для вычисления квадратного корня. Ошибка компиляции в аргументе функции #1
Всем привет, программа для вычисления квадратного корня. Не компилируется из за вызова функции вычисления кв корня. Ругается на аргументы.
-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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2014, 01:45     Программа для вычисления квадратного корня. Ошибка компиляции в аргументе функции
Посмотрите здесь:

C++ алгоритм для вычисления квадратного корня x из вещественного числа y.
вычисления квадратного корня C++
C++ C++ Функция вычисления квадратного корня
C++ С++ Функция приближённого вычисления квадратного корня
C++ Ошибка в аргументе функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16824 / 5245 / 320
Регистрация: 30.03.2009
Сообщений: 14,125
Записей в блоге: 26
23.03.2014, 01:46     Программа для вычисления квадратного корня. Ошибка компиляции в аргументе функции #2
Цитата Сообщение от snzh Посмотреть сообщение
Ругается на строку 29
В 29-й строке вместо "float a" нужно просто писать "a"
Yamko
11 / 11 / 2
Регистрация: 10.03.2013
Сообщений: 104
23.03.2014, 01:47     Программа для вычисления квадратного корня. Ошибка компиляции в аргументе функции #3
ну так у вас ф-ция main не знает переменной a.
Вы должны присвоить а некое значение, чтоб его передать функции. sroot(a). флоат там не нужен(я про 29 строку).
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16824 / 5245 / 320
Регистрация: 30.03.2009
Сообщений: 14,125
Записей в блоге: 26
23.03.2014, 01:47     Программа для вычисления квадратного корня. Ошибка компиляции в аргументе функции #4
Правда у тебя в функции main переменная "a" нигде не определена
snzh
1 / 1 / 0
Регистрация: 10.08.2013
Сообщений: 72
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;
}
16 / 16 / 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;
}
snzh
1 / 1 / 0
Регистрация: 10.08.2013
Сообщений: 72
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2014, 00:36     Программа для вычисления квадратного корня. Ошибка компиляции в аргументе функции
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,043
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();
Yandex
Объявления
27.03.2014, 00:36     Программа для вычисления квадратного корня. Ошибка компиляции в аргументе функции
Ответ Создать тему
Опции темы

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