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

Почему на экран выводится цифры в формате с E (4.34e)? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как создать динамический массив размерностью m на n? http://www.cyberforum.ru/cpp-beginners/thread190091.html
подскажите, а то я только n на n создавать умею)
C++ не могу сделать лабораторки по инфе на языке C++ помогите не получаются лабы по инфе!!! Посмотрите кто может помочь я 8 вариант! просто сроки поджимают а надо сдать 7 лабораторок по инфе!!! студент 1 курса Прикрепляйте файлы к сообщениям. http://www.cyberforum.ru/cpp-beginners/thread190089.html
C++ Лабораторная работа по С++.Не поняла циклы
дана последовательность n из вещественных чисел. Определить, образуют ли они возрастающую последовательность?
Перевод числа из 10 с.с. в 8 с.с. C++
не пойму как создать программу по переводу числа из 10 с.с. в 8 с.с. . Дали несколько задач на расчётно-графическую работу,а учитель толком не объясняет,хотя дата сдачи - через неделю.
C++ Найти сумму ряда с точностью e http://www.cyberforum.ru/cpp-beginners/thread190049.html
Найти сумму ряда с точностью e=10-4, общий член которого
C++ ОТРЕДАКТИРОВАТЬ ПРОГРАММУ 1. Создать структуру для работы с рациональными дробями (вида m/n). Данные структуры: числитель, знаменатель, десятичный вариант дроби. Создать функции: ввода числителя и знаменателя, вывода дроби в рациональном и десятичном вариантах с точность до 3 знака после запятой. #include<iostream.h> struct List { //setlocale(LC_ALL, "Russian"); int chisl; int znam; int des; }; подробнее

Показать сообщение отдельно
Don Vito
 Аватар для Don Vito
9 / 9 / 1
Регистрация: 22.11.2009
Сообщений: 162
12.11.2010, 17:19     Почему на экран выводится цифры в формате с E (4.34e)?
Добрый день!
Есть следующая функция
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream>
using namespace std;
 
double* test(char *A){
 
    char ch_year [5];
    char ch_month [3];
    char ch_day [3];
    double dl_year = 0;
    double dl_month = 0;
    double dl_day = 0;
    double *data = 0;
    double _data [3];
    int count = 0;
    int i ;
    for (i = 0; i < 4; i++, count++){
    
        ch_year [i] = A [count];
     
    }
 
    ch_year [i] = '\0';
 
    dl_year = atof(ch_year);
 
    for (i = 0; i < 2; i++, count++){
 
        ch_month[i] = A [count];
    
    }
 
    ch_month[i] = '\0';
 
    dl_month = atof(ch_month);
 
    for (i = 0; i < 2; i++, count++){
 
        ch_day [i] = A[count];
    }
 
    ch_day [i] = '\0';
 
    dl_day = atof(ch_day);
    
        _data[0] = dl_year;
        _data[1] = dl_month;
        _data[2] = dl_day;
 
        data = _data;
 
        for (i = 0; i < 3; i++){
        
            cout << _data[i];
        
        }
 
    return data;
 
}
 
int main (){
 
char  A [250];
double * p;
 
cin >> A;
 
p = test (A);
 
for (int i = 0; i < 3; i++){
 
cout << p[i] << endl;
 
} 
 
return 1;
 
}
Она должна преобразовывать строку типа 20100131 (ггммдд) в указатель на массив double. Причем нужно обязательно double, а не int.

А она выдает мне данные типа double, но в формате с Е...

Если есть минутка, отпишите плз...

Буду благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru