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

На вход подается число (int или float) в зависимости от его типа провернуть над ним разные операции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проверить введенное значение и, если это не цифра, вернуться ко вводу http://www.cyberforum.ru/cpp-beginners/thread1118312.html
Программа должна проверить введенное значение и, если это не цифра, вернуться ко вводу, но она зацикливается. Также если можно, как это сделать без goto? код: #include <stdio.h> #include <iostream> #include <math.h> #include <conio.h> using namespace std; int main ()
C++ Программа на C++, которая переводит цветовую модель RGB в модель HSV Всем привет! Я - начинающий программист. Мне нужна ваша помощь. Мне нужно сделать программу на C++, которая переводит цветовую модель RGB в модель HSV. С чего начать? http://www.cyberforum.ru/cpp-beginners/thread1118301.html
Замена части элементов у вектора C++
Здравствуйте! Я совсем новичок в C++ :) И вот возник такой вопрос... Есть ли в векторе, или может в каком-то другом классе из stl'а, реализация замены части элементов, на подобии как в string std::string str1(10,'_'); str1.replace(2,5,"Hello"); Можно ли сделать аналогичное например с этим std::vector<int> vec1(10,3); Может, наверно, через algorithm что-то можно такое натворить Или...
Китайский календарь (Паскаль -> C++) C++
program korova; uses crt; var a:integer; begin clrscr; writeln('введите год:'); readln(a); case a mod 12 of 1:writeln('курица'); 2:writeln('собака');
C++ Определить количество положительных элементов каждого столбца двумерного массива, содержащего 5 строк и 5 столбцов http://www.cyberforum.ru/cpp-beginners/thread1118269.html
Определить количество положительных элементов каждого столбца двумерного массива, содержащего 5 строк и 5 столбцов. int a2,n2=0,i2,j2; for (i2=0;i2<5;i2++) { for (j2=0;j2<5;j2++) { cin>>a2; } } for (i2=0;i2<5;i2++) { for (j2=0;j2<5;j2++)
C++ Найти ошибку в приведенном коде #include <iostream> using namespace std; /////////////////////////////////////////////////////////////////////////////////// class abon { public: подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6176 / 2905 / 284
Регистрация: 04.12.2011
Сообщений: 7,730
Записей в блоге: 3
18.03.2014, 04:18     На вход подается число (int или float) в зависимости от его типа провернуть над ним разные операции
unpapaicoconaut, странное задание. Интересно, как оно звучит в оригинале?
Если тип должен определяться форматом ввода, то видимо нужно принять строку и спарсить. Вот диковатый вариант:
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
#include <iostream>
#include <Cmath>
#include<float.h>
using std::cin;
using std::cout;
using std::endl;
 
template <class T>
bool 
is_double(T some_number){
return fabs((double)some_number - (int)some_number) > DBL_EPSILON;
}
 
template <class T>
T foo(T x){
if(is_double(x)) return fabs((x - floor((double)x)));
else
return (int)x%2;
}
 
int main()
{
cout << "Enter the number" << endl;
char numb[32];
cin>>numb;
double some_number = atof(numb);
if( is_double(some_number) ) {
    cout << "double calls fraction" <<endl;
cout<<foo((double)some_number);
}
else{
    cout << "int calls int%2"<<endl;
    cout<<foo((int)some_number);
}
cout << endl;
system ( "pause" );
    return 0;
}
если предыдущий код воспринять серьезно (не дай бог конечно), то вот ещё шутка:
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
#include <iostream>
 
using std::cin;
using std::cout;
using std::endl;
 
class BaseCl{
public:
int a;
BaseCl():a(0){}
BaseCl(int a_) :a(a_){}
virtual void show(){cout << a;}
virtual void input(){cin >> a;}
};
 
class DerivBaseCl : public BaseCl
{
public:
double a;
DerivBaseCl(double a_):a(a_){}
void show(){cout << a;}
void input(){cin >> a;}
};
 
int main()
{
BaseCl b(123);
DerivBaseCl c(1.23);
BaseCl *d;
 
int select_type = 0;
cout<<"int or double? int - 0, double - 1 ";
cin>>select_type;
if(!select_type) d = &b;
else d = &c;
d->input();
cout<<endl;
d->show();
 
cout<<endl;
 
//прикол крепчает:
cout<<d->a%3;//забавно, что при явном объявлении такое деление не скомпилируется, 
//а в данном случае, для double%int возвращает 0.  :D
cout << endl;
system ( "pause" );
    return 0;
}
 
Текущее время: 10:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru