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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
#1

char в double - C++

13.02.2013, 15:44. Просмотров 1435. Ответов 13
Метки нет (Все метки)

Как превратить char в double? Я хочу написать программу в которой вводится два числа и в результате выводится число типа double. Думал написать вот так, но в конце программы выбивает ошибку.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    char a[1],b[1];
    char str[4]="";
    cin>>a>>b;
    strcat(str,a);
    strcat(str,".");
    strcat(str,b);
    double c;
    c = atof(str);
    cout<<c;
    system("pause>0");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2013, 15:44     char в double
Посмотрите здесь:

Из Char в Double - C++
Здравствуйте, не подскажет ли кто , как можно массив char переделать в double Например: char={'0' , ',' , '5555'} double x=0.0;

Перевод double в char - C++
Необходимо перевести число типa double, к примеру а=0.1234 В char... Все это необходимо реализовать с С++ Гуглил, искал... Попадал...

Преобразования char в double - C++
Здравствуйте, я использую visual studio 15 и при компиляции следующего кода выводиться ошибка преобразования: #include &quot;stdafx.h&quot; ...

Преобразование из char в double - C++
Как обычно зашел задать тупой вопрос: плз., скажите как из char сделать double если double(переменная) вызывает ошибку.. Да,...

Реализация double to char* - C++
Здравствуйте, помогите пожалуйста с реализацией функции double to char*. У функции 2 аргумента char*(размер этого массива больше, либо...

Конструктор double to char - C++
этот конструктор делает double to char. код просто ужасный. как лучше написать? параметры (число,точность) MyString::MyString(double...

Перевод из double в char - C++
Добрый день !!! подскажите как перевести из double в char .

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
15841 / 10168 / 1522
Регистрация: 24.12.2010
Сообщений: 19,171
13.02.2013, 16:21     char в double #2
#include <stdlib.h> ???
ITcrusader
Эксперт C++
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
13.02.2013, 16:23     char в double #3
Жуть, а можно для начала попытаться прояснить, зачем нужно вводить 2 целых числа, конвертировать их в строки, конкатенировать, потом преобразовывать в вещественное и потом снова выводить?! Может, есть решение проще?
Байт
Эксперт C
15841 / 10168 / 1522
Регистрация: 24.12.2010
Сообщений: 19,171
13.02.2013, 16:23     char в double #4
или #include <math.h>
Такое ощущение, что функция atof не определена. Она в разных компиляторах определяется в разных местах.
А еще проще
double atof(const char *s);
ITcrusader
Эксперт C++
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
13.02.2013, 16:27     char в double #5
Да эта жесть запускается даже и как-то работает А в конце валится)
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
13.02.2013, 16:58  [ТС]     char в double #6
Возможно и есть решение лучше. но я не ищу легких путей
А по сути мне нужно ввести два int числа и чтобы из них получилось float,например:
input:
2 5
output:
2.5

intput:
-6 9
output:
-6.9
behollder
46 / 27 / 7
Регистрация: 23.01.2013
Сообщений: 122
Завершенные тесты: 1
13.02.2013, 17:14     char в double #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
int main()
{
    double a, b;
    cin >> a >> b;
    while(true)
    {
        if(b < 1)
        {
            break;
        }
        b *= .1;
    }
    cout << "\n" << a + b;
    cin.get();
    return 0;
}
Добавлено через 10 минут
Прошлый код не работает с отрицательными. Вот такой костыль решает
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>
#include <cmath>
using namespace std;
 
int main()
{
    double a, b;
    cin >> a >> b;
    bool someflag = false;
    if(a < 0)
    {
        b = abs(b);
        a = abs(a);
        someflag = true;
    }
    while(true)
    {
        if(b < 1)
        {
            break;
        }
        b *= .1;
    }
    if(someflag)
    {
        cout << (a + b) * -1;
    } else cout << "\n" << a + b;
    cin.get();
    return 0;
}
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
13.02.2013, 17:14  [ТС]     char в double #8
Ваша программа что-то не работает. И мне нужно чтобы числа a b были int a, b; а не double a, b;
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
13.02.2013, 17:21     char в double #9
C++
1
2
3
4
5
int a,b;
double c;
cin>>a>>b;
c=((double)a)+((double)b)/10;
//есть пару нюансов число состоит из цифр (0-9), соответственно нет проверки а и b, что это цыфры
behollder
46 / 27 / 7
Регистрация: 23.01.2013
Сообщений: 122
Завершенные тесты: 1
13.02.2013, 17:26     char в double #10
Цитата Сообщение от The_bolT Посмотреть сообщение
Ваша программа что-то не работает. И мне нужно чтобы числа a b были int a, b; а не double a, b;
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
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    int a, b;
    double s;
    cin >> a >> b;
    bool someflag = false;
    if(a < 0)
    {
        b = abs(b);
        a = abs(a);
        someflag = true;
    }
    s = b;
    while(true)
    {
        if(s < 1)
        {
            break;
        }
        s *= .1;
    }
    s += a;
    if(someflag)
    {
        cout << s * -1;
    } else cout << "\n" << s;
    cin.get();
    return 0;
}
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
13.02.2013, 17:32     char в double #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
double ints_to_double(int a, int b)
{
    double frac = (b < 0 ? -b : b);
    
    while((frac /=10) >= 1);
 
    return a + (a < 0 ? -frac : frac);
}
 
int main()
{
    int a, b;
 
    std::cin >> a >> b;
    std::cout << std::fixed << ints_to_double(a, b);
    
    return 0;
}
ITcrusader
Эксперт C++
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
13.02.2013, 20:12     char в double #12
Цитата Сообщение от The_bolT Посмотреть сообщение
но я не ищу легких путей
Старина, а следовало бы)))
booker
23 / 23 / 2
Регистрация: 21.11.2012
Сообщений: 106
13.02.2013, 21:32     char в double #13
C++
1
char str[4]="";
это что?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2013, 22:14     char в double
Еще ссылки по теме:

Преобразование long double в char - C++
Вернемся к обсуждению денежных строк из упражнения 6. Напишите ме- од ldtoms() для преобразования числа типа long double в денежную строку,...

Перевод int и double в char* - C++
Возникла следующая проблема. Нужно сделать: //Реализовать класс var - «Универсальная переменная». Объекты экземпляры этого класса...

Как перевести double в char? - C++
как перевести double в char?

Преобразование указателя из char в int и double - C++
указатель sadr является типом char мне нужно перопределить его на типы на int и double int a; double b; void cr(char **sadr) { ...

Конвертирование массива char в long double - C++
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;cstring&gt; using namespace std; class money { private: static const int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
The_bolT
70 / 70 / 1
Регистрация: 22.01.2013
Сообщений: 231
13.02.2013, 22:14  [ТС]     char в double #14
Это чтобы била пустая строка. Когда будет исполниться strcat(str,a); то первый элемент будет не этот что мы вставляем, а из памяти компьютера.
Yandex
Объявления
13.02.2013, 22:14     char в double
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru