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

проверка переданных данных из потока ввода - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ аналог getch() http://www.cyberforum.ru/cpp-beginners/thread939295.html
Ребят getch меня не устраивает следующим: когда окно теряет фокус он не работает. как выйти из ситуации?
C++ Перечисления. Переменная не входит в диапазон Что плохого может случится, если переменной установить значения вне диапазона? #include <iostream> enum flag{x=1, y=2, z=4, e=8}; // диапазон: 0..15 int main() { flag f1 = (flag)90; // не определено: 90 не входит в диапазон типа flag http://www.cyberforum.ru/cpp-beginners/thread939289.html
C++ Указатели
Кто нибудь может помочь с объяснением указателей? 1) struct pizza { string name; int diameter; int weight; }; int main ()
ошибка в коде C++
#include <stdio.h> #include <stdlib.h> #include <iostream> #include <string.h> int main () { for(long index = 40000; index < 2000000; index++)
C++ Как узнать в какой ОС запускается программа? http://www.cyberforum.ru/cpp-beginners/thread939267.html
Как узнать в какой ОС запускается программа? И уже дальше делать то или иное в зависимости от ОС.
C++ Показать все четные числа столько, сколько выполняет оператор "for" здравствуйте подскажите пожалуйста как мне сделать чтобы показать все четные числа столько сколко выполнает оператор "for" #include <iostream> using namespace std; int main() { подробнее

Показать сообщение отдельно
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
17.08.2013, 12:50  [ТС]     проверка переданных данных из потока ввода
Ладно похоже лучше ничего не придумать чем считать данные в строку string обработать эту строку и вызвать нужную функцию например f(int) или f(name_file), смотря что в строке находится.
Мб кто то что то знает?

Добавлено через 10 минут
0x10, Так это в целях обучения и не универсальная, там для 5 хотя бы типов данных int, double, float, file_name и data. От как мне делать правильно? По другому нельзя кроме как в строку считать данные обработать и вызвать нужную функцию которая допустим сынициализирует класс.
От примерно так:
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
struct p
{
int i;
double d;
 
void f(int x){i=x;}
void f(doube x){d=x;}
 
istream& operator>>(istream& in,p& e)
{
string s;
in >>s;
int pos=s.fined('.');
if(pos!=string::npos)
{
//целое число
//то нужно назад все в поток поместить либо строку в число преобразовать. 
//или как чувак предолжил в sstream
sstirngstream ss
ss <<s;
ss >>i;
}
else
{
//преобразовываем в double либо как чувак предложил
sstringstream ss
ss <<s;
ss >>d;
}
 
}
}
 
Текущее время: 09:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru