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

Конвертация числа в строку и обратно, условие исключения, разность. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Строка http://www.cyberforum.ru/cpp-beginners/thread190095.html
Столкнулся с проблемой: заменить все латинские буквы на *. как же задать в ифе (если итый элемент есть в буквах-исключениях) s='*'; как это сделать, кроме s=A || s=B || s=C......
C++ Почему на экран выводится цифры в формате с E (4.34e)? Добрый день! Есть следующая функция #include <iostream> using namespace std; double* test(char *A){ char ch_year ; char ch_month ; http://www.cyberforum.ru/cpp-beginners/thread190092.html
Как создать динамический массив размерностью m на n? C++
подскажите, а то я только n на n создавать умею)
не могу сделать лабораторки по инфе на языке C++ C++
помогите не получаются лабы по инфе!!! Посмотрите кто может помочь я 8 вариант! просто сроки поджимают а надо сдать 7 лабораторок по инфе!!! студент 1 курса Прикрепляйте файлы к сообщениям.
C++ Лабораторная работа по С++.Не поняла циклы http://www.cyberforum.ru/cpp-beginners/thread190066.html
дана последовательность n из вещественных чисел. Определить, образуют ли они возрастающую последовательность?
C++ Перевод числа из 10 с.с. в 8 с.с. не пойму как создать программу по переводу числа из 10 с.с. в 8 с.с. . Дали несколько задач на расчётно-графическую работу,а учитель толком не объясняет,хотя дата сдачи - через неделю. подробнее

Показать сообщение отдельно
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
15.11.2010, 19:29     Конвертация числа в строку и обратно, условие исключения, разность.
Цитата Сообщение от easybudda Посмотреть сообщение
но такой вариант 5а за 5 посчитает. Если нужно прям строго, чтобы число было, лучше strtol() использовать и проверять хвост, который она возвращает...
ну вот вот так:

C
1
2
3
4
5
6
7
8
9
10
printf("Please input number difference: ");
    scanf("%s", line);
 
    difference = strtol(line, &end, 10);
    if (difference == 0 || *end != 0)
    {
        printf("it's not a number, try again\n");
        system("PAUSE");
        exit(0);
    }
не проверяет только если цифр больше 4, хотя это просто сделать, но мне в лом

вопрос возник прототип ф-ции strtol выглядит так:
C
1
 long int strtol(const char *start, char **end)
параметр end есть указателем на указатель в случае присутствия нецифр он возвращает 0, а в случае если есть не цифры - код символа:

1. если это указатель на указатель значит есть какая-то скрытая(или указатель) переменная на которую он ссылается, но скорее всего переменная ведь он умеет возращать ноль?
2. я сначала объявил end вот так:
C
1
2
3
 
char **end; 
difference = strtol(line, end, 10);
на что мне в месте вызова ф-ции компилятор жаловался на не инициализированный указатель, а когда объявил вот так все норм
C
1
2
char *end; 
difference = strtol(line, &end, 10);
Если можете, объясните почему
 
Текущее время: 10:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru