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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 690, средняя оценка - 4.80
nikita
1 / 1 / 0
Регистрация: 13.11.2007
Сообщений: 31
#1

Форматный вывод с помощью cout - C++

15.11.2007, 12:55. Просмотров 85159. Ответов 14
Метки нет (Все метки)

У меня простой вопрос. В си есть такая функция printf. Что-бы вывести дробное число k без всяких там E можно написать printf("%f",k). Вопрос такой: как это сделать при помощи функции С++ cout ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Herbert
0 / 0 / 2
Регистрация: 27.08.2007
Сообщений: 26
15.11.2007, 21:22     Форматный вывод с помощью cout #2
Если ошибаюсь пусть поправят, но мне кажется, что функция cout форматный вывод не поддерживает.
А...? народ?
Mecid
678 / 227 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
15.11.2007, 21:30     Форматный вывод с помощью cout #3
double k;
cout << k;
nikita
1 / 1 / 0
Регистрация: 13.11.2007
Сообщений: 31
17.11.2007, 16:10  [ТС]     Форматный вывод с помощью cout #4
Что неужели никак не вывести в удобном формате? Может есть функция округления до какой-нибудь десятичной части? В Pascal можно было вывести с помощью Write(x:0:6) .
Mecid
678 / 227 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
17.11.2007, 18:54     Форматный вывод с помощью cout #5
napisal da
double k;
cout << "k = "<<k;
fromrus
Сообщений: n/a
20.11.2007, 14:54     Форматный вывод с помощью cout #6
float/double "imya peremennoi";
cout <<"imya peremennoi"
LLIypynuk
0 / 0 / 0
Регистрация: 13.11.2007
Сообщений: 45
21.11.2007, 07:35     Форматный вывод с помощью cout #7
гыгы))) Функция cout НЕподдерживает форматный вывод. Но конструкция типа:
double num;
cout << num;
имеет смысл и компилиться без притензий.
Но С- стандарт дефакто! Если надо консольное приложение, то я думаю лучшего выбора НЕТ, а не мучиться с ненужными надумками в С++. Но в нем есть все таки минус- нету классов с их объектами и методами
толстый василий
Сообщений: n/a
24.02.2009, 14:43     Форматный вывод с помощью cout #8
я извиняюсь, что поднимаю тему. Но что-то уже не первый раз на неё натыкаюсь в гугле.
например, по запросу "форматный вывод cout" эта тема первая!
И она явно дезинформирует людей.
А самое интересное заключается в том, что означенная в теме задача имеет решение -
речь идёт о флагах форматирования.
А вот и правильная ссылочка:
http://www.cplusplus.com/reference/iostream/ios_base/ втыкать "formatting"
romych2004
22 / 21 / 3
Регистрация: 29.03.2009
Сообщений: 67
07.09.2009, 01:25     Форматный вывод с помощью cout #9
времени прошло много.. но вдруг кому пригодится

Если вы используете cout для вывода значения с плавающей точкой, то обычно не можете сделать каких-либо предположений о том, сколько цифр будет выводить cout no умолчанию. Однако, используя манипулятор setprecision, вы можете указать количество требуемых цифр- Следующая программа SETPREC.CPP использует манипулятор setprecision для управления количеством цифр, которые появятся справа от десятичной точки:
C++
1
2
3
4
5
6
7
8
9
10
11
    #include <iostream.h>
 
    #include <iomanip.h>
 
    void main(void)
 
    {
       float value = 1.23456;
       int i;
       for (i = 1; i < 6; i++) cout << setprecision(i) << value << endl;
    }
M128K145
Эксперт С++
8282 / 3501 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
08.09.2009, 21:45     Форматный вывод с помощью cout #10
Флаги форматирования и манипуляторы
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
08.09.2009, 22:44     Форматный вывод с помощью cout #11
nikita,
C++
1
2
3
4
5
6
7
8
double k;
cout<<k;
/*********/
char a;
cout<<a;
/*********/
int b;
cout<<b;
и т.д.
sanekxx
Сообщений: n/a
29.05.2010, 03:44     Форматный вывод с помощью cout #12
Подскажите ну что у меня ругается на функцию Cout

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
79
80
81
82
83
84
85
86
//------------------------------------------------------------------------------------------------ 
#include <iostream>
#include <conio.h>
using namespace std;
//-------------------------------------------------------
enum status{laborant, decan, proffessor};
//-------------------------------------------------------
class date
{
private:
int day;
int month;
int year;
char m;
public:
date(): day(0), month(0), year(0), m('/')
{}
void getdate()
{
cout<<"Enter date in format [day/month/year]: ";
cin>>day>>m>>month>>m>>year;
}
void showdate()
{cout<<"Date poluchki: "<<day<<m<<month<<m<<year;}
};
//------------------------------------------------------
class employ
{
private:
int number;
float oclad;
date poluchka;
status doljnost;
char st;
public:
void setemploy()
{
cout<<"\nEnter the number of woker: "; cin>>number;
cout<<"Enter the oklad of woker: "; cin>>oclad;
poluchka.getdate();
cout<<"Enter the 1st letter in word status [laborant, decan, proffessor]: ";
st=getch();
switch(st)
{
case 'l':
doljnost=laborant;
break;
case 'd':
doljnost= decan;
break;
case 'p':
doljnost = proffessor;
}
}
void display()
{
cout<<"\n\nThe number of woker: "<<number<<endl;
cout<<"The oclad of woker: "<<oclad<<endl;
poluchka.showdate();
switch(doljnost)
{case 0:
cout<<"\nStatus - laborant";
break;
case 1:
cout<<"\nStatus - decan";
break;
case 2:
cout<<"\nStatus - proffessor";
break;
}
}
};
//----------------------------------------------
int main()
{
employ cool, mike;
cool.setemploy();
mike.setemploy();
cout<<"\n\n C O O L\n";
cool.display();
cout<<"\n\n M I K E\n";
mike.display();
getch();
return 0;
}
//------------------------------------------------------------------------------------------------
ISergey
Maniac
Эксперт С++
1347 / 880 / 52
Регистрация: 02.01.2009
Сообщений: 2,645
Записей в блоге: 1
29.05.2010, 03:59     Форматный вывод с помощью cout #13
sanekxx,

Не по теме:

1, Создавайте тему отдельно ( это на будущее )...


2, Может скажете на какую строчку хоть "ругается". Так как почти все нормально.. http://codepad.org/0G4BuhFW
x-positive
1 / 1 / 0
Регистрация: 09.02.2011
Сообщений: 21
16.02.2011, 03:49     Форматный вывод с помощью cout #14
Цитата Сообщение от nikita Посмотреть сообщение
У меня простой вопрос. В си есть такая функция printf. Что-бы вывести дробное число k без всяких там E можно написать printf("%f",k). Вопрос такой: как это сделать при помощи функции С++ cout ?
Возможно. И сделать это можно при помощи такого чудесного слова "setprecision":

C++
1
2
3
4
5
6
7
8
9
#include <iostream.h>
    #include <iomanip.h>
 
    void main(void)
    {
       float value = 1.23456;
       int i;
       for (i = 1; i < 6; i++) cout << setprecision(i) << value << endl;
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2013, 12:05     Форматный вывод с помощью cout
Еще ссылки по теме:

Форматный ввод/вывод: имя, второе имя или инициал, фамилия C++
Вывод таблицы с помощью cout, форматирование, выравнивание C++
Вывести целочисленный массив на экран с помощью cout C++
Форматный ввод / вывод в языке С ++ (Console Application) C++
C++ Табулирование функции и выведение результата в таблице.Форматный вывод данных

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

Или воспользуйтесь поиском по форуму:
coloc
погромист
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
19.02.2013, 12:05     Форматный вывод с помощью cout #15
std::fixed - выводит дроби в стандартном виде 4.56
std::scientific - в научном, т.е. 4.5е+00
Yandex
Объявления
19.02.2013, 12:05     Форматный вывод с помощью cout
Ответ Создать тему
Опции темы

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