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

Как правильно вызвать метод в С++ и как использовать команду goto в default - C++

Войти
Регистрация
Восстановить пароль
 
Adina
13 / 13 / 1
Регистрация: 06.04.2012
Сообщений: 287
02.07.2012, 08:04     Как правильно вызвать метод в С++ и как использовать команду goto в default #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
#include <iostream>;
#include <conio.h>;
 
using namespace std;
 
void main()
{
    setlocale(LC_ALL, "Rus");
    calculate();
    getch();
}
 
void calculate()
{
    float _a,_b,_result;
    char _operator;
 
    cout << "Введите значения для вычисления: [Например: 2 + 2]: ";
    cin >> _a >> _operator >> _b;
 
    switch(_operator) {
    case '+':
        _result = _a + _b;
        break;
    case '-':
        _result = _a - _b;
        break;
    case '*':
        _result = _a * _b;
        break;
    case '/':
        _result = _a / _b;
        break;
    default: 
        break;
    }
    
    cout << "Результат вычисления значений: " << _a << _operator << _b << "=" << _result;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2012, 08:04     Как правильно вызвать метод в С++ и как использовать команду goto в default
Посмотрите здесь:

Как правильно вызвать пользовательскую ф-цию C++
Как правильно вызвать функцию? C++
C++ как правильно реализовать операцию с goto и в чём моя ошибка???
C++ Как вызвать метод родительского класса;
C++ Как вызвать метод для for_each?
C++ Как правильно вызвать эту функцию?
C++ Как правильно использовать классы? Как вывести значение класса на экран?
C++ Как правильно создать функцию и затем вызвать ее
C++ Как вызвать метод класса?
Как правильно вызвать функцию? C++
Как вызвать из метода метод? C++
О том, почему нелюбим goto; как его правильно использовать; и чем в моем случае его можно заменить? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
02.07.2012, 08:08     Как правильно вызвать метод в С++ и как использовать команду goto в default #2
Функция должна быть объявлена до её использования. И ещё, по стандарту main должен возвращать int. Вопрос про goto не понял, зачем он?
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
#include <iostream>
#include <conio.h> 
// точки с запятой не нужны!
 
using namespace std;
 
void calculate(); // прототип ф-ции
 
int main()
{
    setlocale(LC_ALL, "Rus");
    calculate();   
    getch();
    
    return 0;
}
 
void calculate()
{
    float _a,_b,_result;
    char _operator;
 
    cout << "Введите значения для вычисления: [Например: 2 + 2]: ";
    cin >> _a >> _operator >> _b;
 
    switch(_operator) {
    case '+':
        _result = _a + _b;
        break;
    case '-':
        _result = _a - _b;
        break;
    case '*':
        _result = _a * _b;
        break;
    case '/':
        _result = _a / _b;
        break;
    default: 
        break;
    }
    
    cout << "Результат вычисления значений: " << _a << _operator << _b << "=" << _result;
}
Adina
13 / 13 / 1
Регистрация: 06.04.2012
Сообщений: 287
02.07.2012, 09:07  [ТС]     Как правильно вызвать метод в С++ и как использовать команду goto в default #3
Schizorb, обратный возврат мне нужен для того, чтобы , если пользователь введёт такое значение как :> 2 ? 9 , либо 2 & 2, чтобы возвращала обратно метод calculate и не выходила с программы

Добавлено через 16 минут
А вот сделала:
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 <iostream>;
#include <conio.h>;
using namespace std;
void calculate();
void main(){
    repeat:
    setlocale(LC_ALL, "Rus");
    calculate();
    goto repeat;
    getch();
}
void calculate(){
    float _a,_b,_result; char _operator;
    cout << "Введите значения для вычисления: [Например: 2 + 2]: ";
    cin >> _a >> _operator >> _b;
    switch(_operator) {
    case '+':
        _result = _a + _b;
        break;
    case '-':
        _result = _a - _b;
        break;
    case '*':
        _result = _a * _b;
        break;
    case '/':
        _result = _a / _b;
        break;
    default:
        cout << "Ошибка ввода оператора. Попробуйте попытку снова";
        break;
    }
    cout << "Результат вычисления значений: " << _a << _operator << _b << "=" << _result << endl << endl;
}
Добавлено через 5 минут
Вот сидела и проверяла программу. И возник еще один вопрос, как проверять исключения в С++ ? Когда я написала 2 & 2 , вот этот код сработал:
C++
1
2
3
    default:
        cout << "Ошибка ввода оператора. Попробуйте попытку снова";
        break;
Но всё равно выходит ошибка и программа закрывается. Как обработать Exception в С++ ?

Добавлено через 13 минут
Никто не знает, как обрабатывать исключения ? ( Exception )

Добавлено через 8 минут
А всё, разобралась. Добавила :
C++
1
return
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
#include <iostream>;
#include <conio.h>;
using namespace std;
void calculate();
void main(){
    repeat:
    setlocale(LC_ALL, "Rus");
    calculate();
    goto repeat;
    getch();
}
void calculate(){
    float _a,_b,_result; char _operator;
    cout << "Введите значения для вычисления: [Например: 2 + 2]: ";
    cin >> _a >> _operator >> _b;
    switch(_operator) {
    case '+':
        _result = _a + _b;
        break;
    case '-':
        _result = _a - _b;
        break;
    case '*':
        _result = _a * _b;
        break;
    case '/':
        _result = _a / _b;
        break;
    default:
        cout << "Ошибка ввода оператора. Попробуйте попытку снова";
        cout << endl << endl;
        return;
        break;
    }
    cout << "Результат вычисления значений: " << _a << _operator << _b << "=" << _result << endl << endl;
}
Добавлено через 5 минут
Снова нашла одну ошибку, как исправить ?

Когда написала в программе типа того: 2 iewwi 7, программа будто попадает в бесконечный цикл goto и повторяется постоянно и вывод в консоли Ошибка ввода оператора. Попробуйте попытку снова с последующим переполнением памяти компьютера. Как исправить эту ошибочку ?
Yandex
Объявления
02.07.2012, 09:07     Как правильно вызвать метод в С++ и как использовать команду goto в default
Ответ Создать тему
Опции темы

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