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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подскажите куда двигаться ? http://www.cyberforum.ru/cpp-beginners/thread918577.html
Всем привет. Надеюсь не ошибся с разделом. Хочу спросить у Вас, в каком направлении мне дальше двигаться. Дело в от в чем: подарили книжку на ДР по программированию "С++ для начинающих. Базовый курс" Шилтда. Мне конечно интересно программирование и IT в общем, но на середине книги я понял, что мало что понял и самый большой вопрос - не знаю как применять. Наверное мне не дано научиться...
C++ Распознавание комментария по его расположению после заданной позиции в строке Здравствуйте. Моя программа разбирает исходные строки ассемблерной программы на поля. При чем: -метка распознается с первой позиции строки -комментарий распознается по его расположению после заданной позиции в строке В качестве теста я взяла 2 строчки(1.asm): metka LDA 12 comment1 metka1 LDB z comment2 А сам код #include <stdio.h> 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
342 / 189 / 37
Регистрация: 26.12.2012
Сообщений: 661

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

06.07.2013, 00:16. Просмотров 514. Ответов 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 раз однозначно первый и совсем не обязательно было бы писать функцию.При многократном вызове я стал на распутье.Пожалуйста подскажите.Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru