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

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

Войти
Регистрация
Восстановить пароль
 
Танчик007
Сообщений: n/a
#1

преобразование типов - C++

03.05.2011, 15:51. Просмотров 205. Ответов 0
Метки нет (Все метки)

дано вещественное число r и целое неотриц m . записать r в строку в формате :m по правилам форматного вывода ТР (например ввод -123.456 и 9 вывод -1.23е+02) выводит несовсем то что нужно.. помогите разобраться...
Код
#include <stdio.h>
#include <stdlib.h>

void main(void)
{
    float r,r1;
    unsigned k=0,i=0,n,m;
    int j=0;
    char s[1];
    printf("Vvedite r: "); scanf("%r",&r);
    printf("Vvedite m: "); scanf("%m",&m);

    if(r>0) s[i++]=' ';
    else
    {
        s[i++]='-';
        r=-r;
    }
    n=r;
    if(n>0)
    {
        while(n>9)
        {
            r/=10; j++;//j-счетчик знаков перед запятой
            k++; n=r;
        }
    }
    else
    {
        while(n==0)
        {
            r*=10; j++;
            n=r;
        }
    }
    s[i++]=n+'0'; s[i++]='.';
    r=r-(int)r;
    r *=10;
    n=r;
    r=r-(int)r;
    r1=r;
    r1=r1*10-(int)r1;
    if(r1>=5) n++;
    s[i++]=n+'0';

    if (m>8)
    {
        m-=8;
        for(m; m>1; m--)
        {
            r*=10;
            n=r;
            r=r-(int)r;
            s[i++]=n+'0';
        }
        r*=10;
        n=r;
        r=r-(int)r;
        r1=r;//r1=0.4499
        r1=r1*10-(int)r1;
        if(r1>=5) n++;
        s[i++]=n+'0';
    }
    s[i++]='e';
    if(k==1) s[i++]='+';
    else s[i++]='-';

    if(j<10)
    {
        s[i++]='0';
        s[i++]=j+'0';
    }
    else
    {
        while(j>0)
        {
            s[i++]=j/10+'0';
            j/=10;
        }
    }
    s[i]='\0';
    printf("%s",s);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2011, 15:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос преобразование типов (C++):

Преобразование типов - C++
Подскажите пожалуйста. Есть класс для работы со строками class String // Объявление строкового класса { private:...

Преобразование типов - C++
Вопрос по преобразованию строки в число , и наоборот . Например на форме расположен MaskedTextBox , Button и Label . Как при нажатии на...

Преобразование типов - C++
С учебника переписал код на применение структур, но возникла проблема с преобразованием типов. Вот код проги: #include &quot;stdafx.h&quot; ...

Преобразование типов в С++ - C++
Задача: Определить два класса, String с преобразованием из char * в строку и обратно. Мой код: #include &lt;iostream&gt; ...

Преобразование типов - C++
Цель копировать из одного объекта в другой инофрмацию, типы разные, поэтому приходится приводитьTypeA a; TypeB b; a = *(a*)&amp;b; А вот...

Преобразование типов - C++
Вообщем допустим есть два класа, класс T и класс A, комплексные числа в разной форме записи(тригонометрической и алгебраической). Для класа...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2011, 15:51
Привет! Вот еще темы с ответами:

Преобразование типов - C++
Вот я создаю двумерный массив n=1; m=2; char **mas=new char *; mas=new char; после этого мне нужно увеличить размер...

Преобразование типов - C++
Доброго времени суток. В программе нужен корректный ввод числа. Если, например вводим буковки - выводится сообщение, далее в цикле -...

Преобразование типов - C++
есть следующая маленькая программка #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { int oldFunt,...

Преобразование типов - C++
Как преобразовать char * в float?


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

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

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