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

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

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

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

03.05.2011, 15:51. Просмотров 201. Ответов 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++
Собственно вопрос в следующем. Распишите пожалуйста по шагам что происходит при выполнении данного кода { //... myclass x(10);...

Преобразование типов - C++
Здравствуйте! Подскажите как преобразовать тип данных: World в double вот код DLL которую я пишу: #include &quot;stdafx.h&quot; ...

Преобразование типов - C++
кое-что о преобразовании типов. float F; __int32 DW; DW=*(__int32 *)&amp;F; значение DW должно совпадать с F побитово, без всяких...

преобразование типов - C++
помогите у меня программа выдает ошибки преобразования типов подскажите как должно быть чтоб все работало программа делает перестановки...

С++ преобразование типов - C++
Есть переменная целочисленного типа например int A(например 2356).Нужно преобразовать ее к типу LPTCSTR и передать ее WinAPI функции...

преобразование типов - C++
Здравствуйте, подскажите пожалуйста как преобразовать данные типа LPARAM в LPCWSTR

Преобразование типов - C++
Господа, мое терпение и срок, отведенный мне на решение задачи начальством, кончились. У меня одна функция возвращает один тип, а...

Преобразование типов - C++
Возможно ли преобразовать vector &lt;Transport_Vehicle*&gt; Cars_for_transportation в vector &lt;MotorCar*&gt; Cars_for_transportation

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

преобразование типов - C++
Уважаемые специалисты, у меня имеется одна проблема. Есть два числа. double и float. Надо из double вычесть float. Все бы хорошо, но...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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