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

Существует ли метод/функция перевода значения символьной переменной в int - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 143, средняя оценка - 4.66
Sasuke
 Аватар для Sasuke
0 / 0 / 0
Регистрация: 09.10.2009
Сообщений: 89
14.04.2010, 22:37     Существует ли метод/функция перевода значения символьной переменной в int #1
Хотел спросить, существует ли метод/функция перевода значения символьной ПЕРЕМЕННОЙ в int?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2010, 22:37     Существует ли метод/функция перевода значения символьной переменной в int
Посмотрите здесь:

C++ Присвоить переменной char m значиние переменной int i..
C++ Ввод значения символьной переменной
C++ функция возвращает int, возвращаемые значения определены в макросах, как сразу выводить определённые макросы?
C++ [C++]Есть две переменные типа int. Обменять их значения без использования третьей переменной
Преобразование символьной переменной в целочисленную C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
14.04.2010, 22:53     Существует ли метод/функция перевода значения символьной переменной в int #2
C++
1
2
char a = 'a';
int b = a;
А, тебе не код, наверное, нужен. Тогда как-то так можно:
C++
1
2
char a = '4';
int b = atoi(&a);
Sasuke
 Аватар для Sasuke
0 / 0 / 0
Регистрация: 09.10.2009
Сообщений: 89
14.04.2010, 23:01  [ТС]     Существует ли метод/функция перевода значения символьной переменной в int #3
Vourhey, нееет, это не то... У меня там еще может попасться символ, и в этом случае, переменной b присвоется какое-то целочисленное значение, а оно должно его опустить, обойти и пойти дальше...

PS. Я работаю с линейным списков, в котором хранится символ. Мне эти символы нужно просмотреть, и выбрать только те, которые как бэ цифры (!! т.е. 0...9)
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
14.04.2010, 23:02     Существует ли метод/функция перевода значения символьной переменной в int #4
Sasuke, так проверяй перед своим выбором, что у тебя символ - число. В чем проблема-то? И перевести лучше по коду символа.
Sasuke
 Аватар для Sasuke
0 / 0 / 0
Регистрация: 09.10.2009
Сообщений: 89
14.04.2010, 23:10  [ТС]     Существует ли метод/функция перевода значения символьной переменной в int #5
Проблема (лично для меня) состоит в том, что мне нужно эту строку считать из файла.. А как сделать так, что бы не зная, что будет за значение (char or int) считать его из файла?
В моём понимании всё работает так:
C++
1
2
fscanf(fl,"%c",&c); // для символа
fscanf(fl,"%d",&d); // считает лишь цыфры из файла
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
14.04.2010, 23:16     Существует ли метод/функция перевода значения символьной переменной в int #6
Тогда я не понимаю, тебе из файла цифры нужно считать отдельные или число. И зачем переводить char в int при считывании из файла?
Sasuke
 Аватар для Sasuke
0 / 0 / 0
Регистрация: 09.10.2009
Сообщений: 89
14.04.2010, 23:24  [ТС]     Существует ли метод/функция перевода значения символьной переменной в int #7
В файле дано: "фыв7фвы9фвы7выф2"
Считать все вхождения цифр. Это не массив, а узел, в котором будет содержаться каждый сивол этой строки. Таких узлов будет столько, сколько и символов в строке.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
14.04.2010, 23:34     Существует ли метод/функция перевода значения символьной переменной в int #8
Sasuke, как я понимаю, формат не жесткий. Считывай в буфер символы и в цикле выбирай цифры.
Sasuke
 Аватар для Sasuke
0 / 0 / 0
Регистрация: 09.10.2009
Сообщений: 89
14.04.2010, 23:38  [ТС]     Существует ли метод/функция перевода значения символьной переменной в int #9
Хотелось бы что-то попроще... Но спасибо и на этом.)
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
14.04.2010, 23:44     Существует ли метод/функция перевода значения символьной переменной в int #10
Sasuke, конкрентная задача какая стоит? Подсчитать количество цифр в файле?
Sasuke
 Аватар для Sasuke
0 / 0 / 0
Регистрация: 09.10.2009
Сообщений: 89
15.04.2010, 00:01  [ТС]     Существует ли метод/функция перевода значения символьной переменной в int #11
Мне просто нужно вывести цифры на экран, но это нужно сделать таким образом, который я несколько раз уже здесь повторял.
Помощь уже не нужна, я сам справился с этим заданием.))
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
15.04.2010, 05:29     Существует ли метод/функция перевода значения символьной переменной в int #12
Цитата Сообщение от Sasuke
Хотел спросить, существует ли метод/функция перевода значения символьной ПЕРЕМЕННОЙ в int?
ещё пример
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main(void) /* ANSI C89 */
{
    const char *row = "0123456789", *p;
    int c, n;
    
    c = '1';
    
    n = (p = strchr(row, c)) ? p-row : -1;
 
    if (n >= 0)
        printf("digit: %d" "\n", n);
    else
        printf("character: %c" "\n", c);
    
    return EXIT_SUCCESS;
}
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
15.04.2010, 06:55     Существует ли метод/функция перевода значения символьной переменной в int #13
И еще
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    char c;
    int i;
    do
    {
        std::cin >> c;
        if((c>='0')&&(c<='9'))//Если число
            i=c-'0';
        else
            i=-1;
        std::cout << "Number: " << i << std::endl;
    }
    while(i>=0);
    system("pause");
    return 0;
}
ivpoed
1 / 1 / 0
Регистрация: 21.03.2010
Сообщений: 38
15.04.2010, 11:05     Существует ли метод/функция перевода значения символьной переменной в int #14
Я использую такой вот хитрый способ:

C++
1
2
char ch = '5';
int chcode = ch - '0';
UPD: блин, уже было... ну ладно.
doRado
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 5
20.10.2013, 23:14     Существует ли метод/функция перевода значения символьной переменной в int #15
фу-ия isdigit - возвращает не ноль, если вхождение цифровое (цифра)
MousePro
49 / 30 / 1
Регистрация: 25.04.2013
Сообщений: 366
04.08.2014, 23:54     Существует ли метод/функция перевода значения символьной переменной в int #16
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main()
{
    char *a = "1234567890";
    int b = atoi(a);
    cout << b;
    system("pause");
    return 0;
    
 
}
 
int atoi(const char *a)
{
    int buff=0;
    int count = std::strlen(a)-1;
    for (int x = 0; count >= 0; x++, count--)
        buff += (int(a[count] - 48))* pow(10, x);
 
 
 
    return buff;
}
zss
Модератор
Эксперт С++
 Аватар для zss
5947 / 5552 / 1784
Регистрация: 18.12.2011
Сообщений: 14,184
Завершенные тесты: 1
05.08.2014, 09:04     Существует ли метод/функция перевода значения символьной переменной в int #17
MousePro, тогда уж напишите свою функцию pow,
т.к. библиотечная возводит double в степень double:
C++
1
2
3
4
5
6
7
int pow(int x,int n)
{
    int p=1;
    for(int i=1;i<=n;i++)
          p*=x;
    return p;
}
Хотя можно обойтись и без pow
C++
1
2
3
4
5
6
7
8
9
10
11
12
int atoi(const char *a)
{
    int buff=0;
    int count = std::strlen(a)-1;
    int koef=1;
    for (; count ;count--)
    {
        buff += (a[count] - '0')* koef;
        koef*=10;
    }
     return buff;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.08.2014, 14:25     Существует ли метод/функция перевода значения символьной переменной в int
Еще ссылки по теме:

C++ Моя реализация функции перевода string в int
Метод чисел Фибоначчи. Вывести решение в виде численного значения в точке экстремума независимой переменной C++
Функция isspace и тип string: Не существует подходящей функции преобразования из "std::string" в "int" C++

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

Или воспользуйтесь поиском по форуму:
MousePro
49 / 30 / 1
Регистрация: 25.04.2013
Сообщений: 366
05.08.2014, 14:25     Существует ли метод/функция перевода значения символьной переменной в int #18
Да это просто задачка из книги Страуструпа ))

Добавлено через 2 часа 20 минут
и обратно с инт в char

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
char * itoa(int x)
{
    int y =0;
    int b = x;
    while (b>0)
    {
        b/=10;
        y++;
    }
    char *buff = new char[y + 1];
    buff[y] = '\0';
    int a = 0;
    while (y-- > 0)
    {
        b = x / powint(10, y);
        buff[a++] = char(b+48);
        x -= b*powint(10, y);
    }
 
    return buff;
 
}
C++
1
2
3
4
5
6
7
int powint(int x, int n)
{
    int p = 1;
    for (int i = 1; i <= n; i++)
        p *= x;
    return p;
}
Yandex
Объявления
05.08.2014, 14:25     Существует ли метод/функция перевода значения символьной переменной в int
Ответ Создать тему
Опции темы

Текущее время: 01:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru