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

Добавить в класс возможность вычисления значенний с плавающей точкой - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ найти ошибку замена максимального http://www.cyberforum.ru/cpp-beginners/thread920687.html
Задача: Найти и поменять местами элементы, имеющие минимальное и максимальное значения в массиве. Код: #include "stdafx.h" #include <iostream> #include <sstream> #include <string> #include <time.h> using namespace std;
C++ Реализация acos И ребят помогите разобраться в чем ошибки здесь, делаю лабораторную по методу секущих И еще как можно графически выполнить метод секущих через Dos Box? Заранее благодарю за помощь #include <iostream> #include <math.h> #include <locale> #include <stdio.h> #include <conio.h> http://www.cyberforum.ru/cpp-beginners/thread920677.html
как вызвать msvcbuild из командной строки C++
доброе время суток пытаюсь скомпилировать luaJit. установил вижуал студио 2010. делаю все как в этой инструкции http://luajit.org/install.html. вызвал командную строку вижуал студио. зашел в папку в которую распакавал архив. и тут мне пишет: "msvcbuild" не является внутренней или внешней программой, исполняемой программой или пакетным файлом... подскажите, что делать и как скомпилить...
C++ функции объекты
Здорова! От есть код для подсчета суммы элементов в последовательности но почему то ноль выводится. #include <iostream> using std::cout; using std::endl; #include <vector> using std::vector; #include <algorithm> using std::for_each;
C++ Поможет ли С++ в освоении космоса http://www.cyberforum.ru/cpp-beginners/thread920640.html
Прочитал в новостях сегодня, что какое то газовое скопление на краю млечного пути посылает постоянно какие то радиоволны, что несут они с собой никто не знает. Космос самый неизученный язык из всех вместе взятых. Я не хочу попасть под категорию "не по теме", но точно могу сказать , что все шаги по космосу были и будут с помощью высоких технологий и для себя решил хоть что то в своей жизни...
C++ Создание статической библиотеки в MinGw(code::blocks) Вопросы: 1. почему создаётся main.с , а не .cpp. Хочется писать на с++ 2. почему нет никаких .h файлов.как мне потом написать #include "my_static_lib.h" ну и пока эти вопросы (начальные ) не решены, мне не помогли та туча мануалов, что есть в сети подробнее

Показать сообщение отдельно
Zver6233
36 / 36 / 8
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
10.07.2013, 11:26     Добавить в класс возможность вычисления значенний с плавающей точкой
Есть код программи , надо добавить в него возможность считать не только целие числа, а й реальние.
Как разобрать строку ? Чтоб получились числа типа float
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include <vcl>
#include <conio>
#include <iostream>
#include <cstring>
using namespace std;
const int LEN = 80;
const int MAX = 40;
class Stack
   {
   private:
      char st[MAX];
      int top;
   public:
      Stack()
         { top = 0; }
      void push(char var)
         { st[++top] = var; }
      char pop()
         { return st[top--]; }
      int gettop()
         { return top; }
   };
 
class express
   {
   private:
      Stack s;
      char* pStr;
      int len;
   public:
      express(char* ptr)
         {
         pStr = ptr;
         len = strlen(pStr);
         }
      void parse();
      int solve();
};
 
void express::parse()
   {
   char ch;
   char lastval;
   char lastop;
 
   for(int j=0; j<len; j++)
      {
      ch = pStr[j];
 
      if(ch>='0' && ch<='9')
         s.push(ch-'0');
      else if(ch=='+' || ch=='-' || ch=='*' || ch=='/')
         {
         if(s.gettop()==1)
            s.push(ch);
         else
            {
            lastval = s.pop();
            lastop = s.pop();
 
            if( (ch=='*' || ch=='/') &&
                (lastop=='+' || lastop=='-') )
               {
               s.push(lastop);
               s.push(lastval);
               }
            else
               {
               switch(lastop)
                  {
                  case '+': s.push(s.pop() + lastval); break;
                  case '-': s.push(s.pop() - lastval); break;
                  case '*': s.push(s.pop() * lastval); break;
                  case '/': s.push(s.pop() / lastval); break;
                  default:  cout << "\nUnknown oper"; exit(1);
                  }
               }
            s.push(ch);
            }
            }
      else
         { cout << "\nUnknown input character"; exit(1); }
      }
   }
//--------------------------------------------------------------
int express::solve()
   {
   char lastval;
 
   while(s.gettop() > 1)
      {
      lastval = s.pop();
      switch( s.pop() )
         {
         case '+': s.push(s.pop() + lastval); break;
         case '-': s.push(s.pop() - lastval); break;
         case '*': s.push(s.pop() * lastval); break;
         case '/': s.push(s.pop() / lastval); break;
         default:  cout << "\nUnknown operator"; exit(1);
         }
      }
   return int( s.pop() );
   }
 
int main()
   {
   char ans;
   char string[LEN];
   
   cout << "\nEnter an arithmetic expression"
           "\nof the form 2+3*4/3-2."
           "\nNo number may have more than one digit."
           "\nDon't use any spaces or parentheses.";
   do {
      cout << "\nEnter expresssion: ";
      cin >> string;
      express* eptr = new express(string);
      eptr->parse();
      cout << "\nThe numerical value is: " 
           << eptr->solve();
      delete eptr;
      cout << "\nDo another (Enter y or n)? ";
      cin >> ans;
      } while(ans == 'y');
      getch();
   return 0;
   }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru