Форум программистов, компьютерный форум 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
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
06.07.2013, 00:16     Макрокоманда
Доброго всем времени суток!Если не трудно,разъясните мне пожалуйста,лучше просто на пальцах.В книжках все расписано для программистов слишком заумно для "чайников".В программе нужно выбрать числа в заданном интервале.Я написал несколько вариантов,все они работают.Приведу три варианта.
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 раз однозначно первый и совсем не обязательно было бы писать функцию.При многократном вызове я стал на распутье.Пожалуйста подскажите.Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru