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

Как выйти из оператора if - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не выводится последняя введенная группа чисел http://www.cyberforum.ru/cpp-beginners/thread1502669.html
По идее, если вводишь в программу, например, 10 10 10 10 45 45 69 69 69 69 69, она должна выдать 10 повторяется 4 раза 45 повторяется 2 раза 69 повторяется 5 раз, но тут получается, что она выводит только 10 и 45, а последнее значение не выводит. Если после нажатия на ENTER ввести еще какие-нибудь значения, например 12 12 12, то она выведет 69 повторяется 5 раз. Подскажите, где ошибка? ...
C++ Как переобъявить чужую функцию? Добрый день. в чужих исходника задействована фн. void m_printf(void *fmt, ...) как можно в тело этой функции вписать стандартный printf (); ? http://www.cyberforum.ru/cpp-beginners/thread1502656.html
NetBeans 8.0.2 не компилируется простая программа C++
Помогите скомпилировать программу Скриншоты с ошибками: Заранее благодарен
C++ Описать класс "Контейнер" как объект, предназначенный для транспортировки классов "Строительных блоков"
1. Опишите класс "Строительный блок", описывающий габариты и массу блока прямоугольной формы. Данные класса: Габариты, масса. Методы класса: должны обеспечить минимальную функциональность объекта. 2. Опишите класс "Контейнер" как объект, предназначенный для транспортировки Строительных блоков. Определите методы наполнения контейнера с учётом габаритов блоков и определения веса заполненного...
C++ Как преобразить строку char в число (для калькулятора) http://www.cyberforum.ru/cpp-beginners/thread1502580.html
Здравствуйте! Дали задание написать калькулятор используя стек. Информацию ввожу через char-массив и потом буду его преобразовать в стек, путем разделения числа в один стек, а символы в другой. Сейчас столкнулась с проблемой: не получается преобразовать char-массив в числа типа int (которые потом буду записывать в стек для чисел) #include <iostream> using namespace std; void main () {...
C++ Построить двусвязный список из данного Разработать программу, которая создает список, элементами которого являются действительные числа r1,r2...rn. Строит список, элементами которого являются числа rn,rn-1...r1, r1,r2,,,rn. Выводит полученный список. Я пытался сделать двухсвязный список но при работе программа не дает никакого результата вообще. //--------------------------------------------------------------------------- ... подробнее

Показать сообщение отдельно
Krasiosoft
 Аватар для Krasiosoft
51 / 51 / 15
Регистрация: 01.06.2015
Сообщений: 189
21.07.2015, 23:12     Как выйти из оператора if
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
множественный 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
bool func1(int a){
 
    if(a==1){
        a++;
        if(a==2){
            a++;
            if(a==3){
                a++;
                if(a==4){
                    a++;
                    if(a==5){
                        a++;
                        if(a==6){
                            a++;
                            if(a==7){
                                a++;
                                if(a==8){
                                    a++;
                                    if(a==9){
                                        a++;
                                        if(a==10){
                                            return true;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
 
    return false;
}
Чем так:
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
bool func2(int a){
 
    if(a!=1) return false;
    a++;
    if(a!=2) return false;
    a++;
    if(a!=3) return false;
    a++;
    if(a!=4) return false;
    a++;
    if(a!=5) return false;
    a++;
    if(a!=6) return false;
    a++;
    if(a!=7) return false;
    a++;
    if(a!=8) return false;
    a++;
    if(a!=9) return false;
    a++;
    if(a!=10) return false;
 
    return true;
}
Не знаю за какими алгоритмами работает оптимизация компилятора, но как по мне, то читать проще второй вариант. А как большое количество return'ов будет усложнять поиск ошибок?
 
Текущее время: 21:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru