Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что является в С++ аналогом функции DoubleToStr ? 
:(
    Опции темы
Wowa
Дата 17.11.2004, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(sergej @ 16.11.2004, 23:38)
А что, значит функции DoubleToStr и IntToStr, которые я написал тоже не пойдут?
потому что там массив обьявляется?

Думаю подойдут
Добавлено @ 01:50
Цитата(dargaard @ 16.11.2004, 23:42)
а ftoa есть в фс++?

не знаю, но наверняка. А можно краткое описание ftoa ?
PM WWW   Вверх
dargaard
Дата 17.11.2004, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 450
Регистрация: 7.5.2004

Репутация: 4
Всего: 25



Описания у меня нету. Просто думал что может есть что нить по аналогии с itoa
(перевод инта в строку).

char * itoa ( int value, char * buffer, int radix );


--------------------
Ты должна сделать добро из зла 
потому что его больше не из чего
сделать. Р.П.Уоррен
PM MAIL WWW ICQ   Вверх
Wowa
Дата 17.11.2004, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата
`ftoa' undeclared (first use this function)


Это обычный компиллер g++
Добавлено @ 02:03
Еще так ругается:
Цитата
default argument given for parameter 5 of `std::string
  beAusgezahltenBetrag(int, int, int, int = 0, int = 0)'

PM WWW   Вверх
sergejzr
Дата 17.11.2004, 02:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Цитата(Admin @ 17.11.2004, 00:49)
Думаю подойдут

Ну тогда юзай смело smile

А что за зверь такой FC++?


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Wowa
Дата 17.11.2004, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(sergej @ 17.11.2004, 00:03)
А что за зверь такой FC++?

Если бы я знал smile http://forum.vingrad.ru/index.php?showtopi...071&hl=fc\
Я так понял, отличается только отсутствием некоторых операторов.
PM WWW   Вверх
dargaard
Дата 17.11.2004, 02:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 450
Регистрация: 7.5.2004

Репутация: 4
Всего: 25



вот попробовал свою фтоа написать используя условия фс++.
Осталось только заменить if-ы на ?: оператор
Долго не тестил но вроде работает. (надеюсь.) но енто - изврат полнейшийsmile

Код

string ftoa(double f,int k,int signs) {
                                                                                   
   f-=k;
   f*=10;
   signs++;
                                                                                   
   if (signs==7) {return string("0"); }
   else if (signs==1) {
       return string(itoa(k))+string(".")+string(ftoa(f,(int)(f),signs));
   } else return string(itoa(k))+string(ftoa(f,(int)(f),signs));
}

string myftoa(double f) {
   return ftoa(f,(int)(f),0);
}

...
string a = myftoa(10.4523211);



Это сообщение отредактировал(а) dargaard - 17.11.2004, 02:37


--------------------
Ты должна сделать добро из зла 
потому что его больше не из чего
сделать. Р.П.Уоррен
PM MAIL WWW ICQ   Вверх
Wowa
Дата 17.11.2004, 02:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(dargaard @ 17.11.2004, 00:36)
но енто - изврат полнейший

однозначно, блин.. А что же такое? Функцию DoubleToString мы уже написали, но неужели в С++ нет простой функции присоединения строки? В PHP это делается так: a.b
Точно служет символом присоединения.

В Делфи, насколько я помню, есть функция DoubleToString и строки можно через + пристыковывать одна к другой.
PM WWW   Вверх
dargaard
Дата 17.11.2004, 05:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 450
Регистрация: 7.5.2004

Репутация: 4
Всего: 25



Цитата
, но неужели в С++ нет простой функции присоединения строки?

Если имеем char * то для стыковки используем strcat(строка,строка_которую_пресоединить).
Если строка типа string то работает +



--------------------
Ты должна сделать добро из зла 
потому что его больше не из чего
сделать. Р.П.Уоррен
PM MAIL WWW ICQ   Вверх
NiJazz
Дата 17.11.2004, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 1
Всего: 23



Admin
Что за FC++?
PM MAIL   Вверх
sergejzr
Дата 17.11.2004, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Цитата(Admin @ 17.11.2004, 01:53)
но неужели в С++ нет простой функции присоединения строки?

Хочешь, можешь оператор переложить smile
Си++ ведь сам прогер под себя настраивает.
В начале считай что Си перед тобой. А там строка ведь не существует как тип..

Только конечно с операторами поостророжней надо smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Wowa
Дата 17.11.2004, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Как избавится от этих ошибок?
Цитата(Admin @ 17.11.2004, 00:00)
default argument given for parameter 5 of `std::string
  beAusgezahltenBetrag(int, int, int, int = 0, int = 0)'


PM WWW   Вверх
sergejzr
Дата 17.11.2004, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Довольно странная ошибка. Он чего функцию за конструктор считает....

На всякий случай:
если функция задекларирована со значениями по умолчанию,
Код
string beAusgezahltenBetrag(int, int, int, int = 0, int = 0);


то в имплементации писать int=0 второй раз нельзя.
Т.е пишешь просто
Код
string beAusgezahltenBetrag(int a, int b, int c, int d, int e)
{
//имплементация
}


Где взять комплиер на FC++? smile



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Wowa
Дата 17.11.2004, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(sergej @ 17.11.2004, 10:33)
Где взять комплиер на FC++?

Такого нет, насколько я знаю. Я использую просто обычный g++ 3.2.2. версия.
Добавлено @ 12:39
Цитата(sergej @ 17.11.2004, 10:33)
На всякий случай:

ты прав smile
PM WWW   Вверх
Wowa
Дата 17.11.2004, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(sergej @ 16.11.2004, 21:25)
Правда с этими буквами %d и %i я не уверен. Может быть %f и %l.

Да, да, Действительно правильнее так:

Код

string DoubleToStr(double d)
{
char buf[256];//сколько надо
sprintf(buf,"%f",d);
return string(buf);
}


иначе ругается:
Цитата
0_3.cpp: In function `std::string DoubleToStr(double)':
0_3.cpp:70: warning: int format, double arg (arg 3)



В общем, можно сказать УРА и всем спасибо! smile Теперь всё без варнунгов smile
Добавлено @ 13:33
а функция такой вид теперь имеет: Собственно, почти как и было, только функцию DoubleToStr мы сами дописали.
Код

string beAusgezahltenBetrag (int Zinssatz, int Laufzeit, int Betrag, int Monat, int VerzBetragAusVormonat)
{
 Monat++;
 return (Monat == Laufzeit) ? "Ausgezahlte Betrag" + DoubleToStr( (VerzBetragAusVormonat+Betrag)*(Zinssatz/12/100+1) ):beAusgezahltenBetrag(Zinssatz, Laufzeit, Betrag, Monat, (VerzBetragAusVormonat+Betrag)*(Zinssatz/12/100+1) );  
}

PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0644 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.