Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
MaZaFCkY
2 / 2 / 0
Регистрация: 30.11.2011
Сообщений: 25
1

Как написать свою функцию atof()

28.03.2012, 00:42. Просмотров 1254. Ответов 8
Метки нет (Все метки)

Как написать свою функцию atof()?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2012, 00:42
Ответы с готовыми решениями:

Как написать свою функцию std::replace?
В STL есть функция std::replace. Как написать свою? У меня не получается ...

Подскажите как написать свою функцию корня
Для лабораторной работы надо написать свою библиотеку функций. Не могу...

Как написать свою функцию типа printf?
Доброго времени суток! Прошу помочь в непонятном для меня задании. Какой...

Как сделать функцию, возвращающую указатель на функцию (которая в свою очередь возвращает указатель на массив)
Изучаю c++ по одной книжке.Она говорить не умеет.. Так вот понадобилось...

Как сделать свою формат-функцию?
навроде void logtofile(const char * _Format, ...) { FILE * pFile;...

8
Avazart
Эксперт С++
7722 / 5631 / 549
Регистрация: 10.12.2010
Сообщений: 25,397
Записей в блоге: 17
28.03.2012, 01:23 2
Проверять посимвольно строку на число, выкидывая буквы и прочие символы.
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
28.03.2012, 01:27 3
Avazart, не забываю про точку
0
MaZaFCkY
2 / 2 / 0
Регистрация: 30.11.2011
Сообщений: 25
28.03.2012, 01:38  [ТС] 4
Цитата Сообщение от go Посмотреть сообщение
Avazart, не забываю про точку
да вот в чем косяк как распознать точку и продолжить после этого запись если точка есть
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
28.03.2012, 01:46 5
C
1
while (isdigit(c) || c == '.')
0
Avazart
Эксперт С++
7722 / 5631 / 549
Регистрация: 10.12.2010
Сообщений: 25,397
Записей в блоге: 17
28.03.2012, 01:47 6
Таким же образом как и цифры
C++
1
if(ch[i]==".") //....
Avazart, не забываю про точку
Если на то и пошло- не забыть и про "-" и "e".
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
28.03.2012, 01:48 7
Кол-во точек тоже предусмотрите.

Добавлено через 30 секунд
Цитата Сообщение от Avazart Посмотреть сообщение
про "-" и "e".
Это уже сложно для новичка.
0
Avazart
Эксперт С++
7722 / 5631 / 549
Регистрация: 10.12.2010
Сообщений: 25,397
Записей в блоге: 17
28.03.2012, 01:58 8
Допустим
Код
char ch[]="123.56";
Можно представить как
Код
float dig=(ch[0]-48)*pow(10,2)+(ch[1]-48)*pow(10,1)+(ch[2]-48)*pow(10,0)
+(ch[4]-48)*pow(10,-1)+(ch[5]-48)*pow(10,-2)
Где 48 целое число соответствующие символу 0
1
CLOH
5 / 5 / 3
Регистрация: 30.12.2010
Сообщений: 40
28.03.2012, 02:13 9
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
double atof(s)
char *s;
{
   double val, power;
   int i, sign, c;
 
   while(isspase(*s))
          ++s;
 
    sign=1;
 
    if(*s=='+' || *s=='-')
       sign=(*s++='+')?1:-1;
 
    val=0;
 
    while(isdigit(c=*s++))
       val=10*val+c-'0';
 
    if(*s=='.')
       ++s;
 
    power=1;
 
    while(isdigit(c=*s++))
       {
        val=10*val+c-'0';
        power*=10;
       }
 
    return (sign*val/power);
   }
1
28.03.2012, 02:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2012, 02:13

как написать свою библиотеку функций?
Я только начинаю изучать программирование на С++, параллельно разбираюсь с ООП....

Преобразовать функцию strcmp в СВОЮ функцию
Нужно заменить функцию strcmp на свою. я создала свою, но код не коректний и...

не могу разобраться как написать функцию сортировки и исправить функцию добавления в стек
#include <iostream> #include<Windows.h> using namespace std; struct NE{...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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