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

Макрокоманда - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подскажите куда двигаться ? http://www.cyberforum.ru/cpp-beginners/thread918577.html
Всем привет. Надеюсь не ошибся с разделом. Хочу спросить у Вас, в каком направлении мне дальше двигаться. Дело в от в чем: подарили книжку на ДР по программированию "С++ для начинающих. Базовый курс"...
C++ Распознавание комментария по его расположению после заданной позиции в строке Здравствуйте. Моя программа разбирает исходные строки ассемблерной программы на поля. При чем: -метка распознается с первой позиции строки -комментарий распознается по... http://www.cyberforum.ru/cpp-beginners/thread918573.html
Подскажите со swith, case C++
Например есть код: #include<iostream> using namespace std; int main() { int x; switch(x) { case 1: {
Пропустить строчку при чтении из файла C++
Подскажите как? Спасибо)
C++ Как правильно запилить формулу в с++? http://www.cyberforum.ru/cpp-beginners/thread918546.html
f(x)=arccos(2*x/(1+x^2) - e^(-x^2)) Интеграл (вверху 1, внизу 0): cos(x-4) dx
C++ Самопроизвольная очистка структуры Проблема такая, в первом методе я заполняю структуру значениями, во втором необходимо обработать эти значения, однако при вызове последнего структура оказывается заполнена не пойми чем. При этом это... подробнее

Показать сообщение отдельно
Genn55
370 / 217 / 41
Регистрация: 26.12.2012
Сообщений: 711

Макрокоманда - C++

06.07.2013, 00:16. Просмотров 550. Ответов 19
Метки (Все метки)

Доброго всем времени суток!Если не трудно,разъясните мне пожалуйста,лучше просто на пальцах.В книжках все расписано для программистов слишком заумно для "чайников".В программе нужно выбрать числа в заданном интервале.Я написал несколько вариантов,все они работают.Приведу три варианта.
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
#include <iostream>
 
 inline float EnterN (float);
 
using namespace std;
 
int main()
{
 float m;
  cout << " Enter M"<<"\n";
  cin >>m;
  m=EnterN(m);
  cout << "   "<<m<< endl;
return 0;
}
 inline float EnterN (float n)
{
    if ((((n >=0.5)&&(n <= 1.0f))? true:false)==false)
       {
         cout << " Oshibka!!!  Re-Enter  M!!!"<<"\n";
         cin >>n;
         return EnterN(n);
       }
  else
  return n;
}
2.Тоже самое, но в функции использована макрокоманда.
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
#include <iostream>
#define ENTER(x) ((((x) >=0.5)&&((x) <= 1.0f))? true:false)
 
 float EnterN (float);
 
using namespace std;
 
int main()
{
 float m;
    cout << " Enter M"<<"\n";
    cin >>m;
    m=EnterN(m);
    cout << "   "<<m<< endl;
return 0;
}
  float EnterN (float n)
{
    if (ENTER(n)==false)
       {
         cout << " Oshibka!!!  Re-Enter  M!!!"<<"\n";
         cin >>n;
         return EnterN(n);
       }
  else
  return n;
}
3.Тоже,что и во втором,но вместо рекурсии цикл.
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
#include <iostream>
#define ENTER(x) ((((x) >=0.5)&&((x) <= 1.0f))? true:false)
 
 float EnterN (float);
 
using namespace std;
 
int main()
{
 float m;
    cout << " Enter M"<<"\n";
    cin >>m;
    m=EnterN(m);
    cout << "   "<<m<< endl;
return 0;
}
  float EnterN (float n)
{
  if (ENTER(n)==false)
    {
     for (;;)
        {
          cout << " Oshibka!!!  Re-Enter  M!!!"<<"\n";
          cin >>n;
            if (ENTER(n)==true)
            break;
        }
    }
  return n;
}
Все 3 варианта работают верно и примерно одинаково.Эти функции будут вызываться как внутри других функкций,так и самостоятельно.Вот у меня и стал вопрос какому варианту отдать предпочтение.Если бы ввод производился 1 раз однозначно первый и совсем не обязательно было бы писать функцию.При многократном вызове я стал на распутье.Пожалуйста подскажите.Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru