1 / 1 / 0
Регистрация: 13.11.2007
Сообщений: 28
1

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

15.11.2007, 12:55. Показов 112683. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня простой вопрос. В си есть такая функция printf. Что-бы вывести дробное число k без всяких там E можно написать printf("%f",k). Вопрос такой: как это сделать при помощи функции С++ cout ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.11.2007, 12:55
Ответы с готовыми решениями:

Форматный вывод
У меня есть функция: sprintf(log+pos,"%8i:%-8i", (record->duration)/60, (record->duration)%60);...

Форматный вывод через cout
Как можно написать данную программу с помощью потока cout? #include <conio.h> #include...

Форматный вывод cout /printf
Вот код, как сделать вывод через cout , а не через printf? Помогите пожалуйста, заранее спасибо :)...

Вывод таблицы с помощью cout, форматирование, выравнивание
Ребята, помогите пожалуйста с написанием таблицы, но так, чтобы элементы отображались ровно по...

17
0 / 0 / 3
Регистрация: 27.08.2007
Сообщений: 26
15.11.2007, 21:22 2
Если ошибаюсь пусть поправят, но мне кажется, что функция cout форматный вывод не поддерживает.
А...? народ?
0
683 / 232 / 16
Регистрация: 15.10.2007
Сообщений: 1,247
15.11.2007, 21:30 3
double k;
cout << k;
0
1 / 1 / 0
Регистрация: 13.11.2007
Сообщений: 28
17.11.2007, 16:10  [ТС] 4
Что неужели никак не вывести в удобном формате? Может есть функция округления до какой-нибудь десятичной части? В Pascal можно было вывести с помощью Write(x:0:6) .
0
683 / 232 / 16
Регистрация: 15.10.2007
Сообщений: 1,247
17.11.2007, 18:54 5
napisal da
double k;
cout << "k = "<<k;
1
0 / 0 / 0
Регистрация: 13.07.2009
Сообщений: 4
20.11.2007, 14:54 6
float/double "imya peremennoi";
cout <<"imya peremennoi"
0
0 / 0 / 0
Регистрация: 13.11.2007
Сообщений: 45
21.11.2007, 07:35 7
гыгы))) Функция cout НЕподдерживает форматный вывод. Но конструкция типа:
double num;
cout << num;
имеет смысл и компилиться без притензий.
Но С- стандарт дефакто! Если надо консольное приложение, то я думаю лучшего выбора НЕТ, а не мучиться с ненужными надумками в С++. Но в нем есть все таки минус- нету классов с их объектами и методами
0
толстый василий
24.02.2009, 14:43 8
я извиняюсь, что поднимаю тему. Но что-то уже не первый раз на неё натыкаюсь в гугле.
например, по запросу "форматный вывод cout" эта тема первая!
И она явно дезинформирует людей.
А самое интересное заключается в том, что означенная в теме задача имеет решение -
речь идёт о флагах форматирования.
А вот и правильная ссылочка:
http://www.cplusplus.com/refer... /ios_base/ втыкать "formatting"
22 / 21 / 0
Регистрация: 29.03.2009
Сообщений: 69
07.09.2009, 01:25 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;
    }
1
Эксперт JavaЭксперт С++
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
08.09.2009, 21:45 10
Флаги форматирования и манипуляторы
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
08.09.2009, 22:44 11
nikita,
C++
1
2
3
4
5
6
7
8
double k;
cout<<k;
/*********/
char a;
cout<<a;
/*********/
int b;
cout<<b;
и т.д.
0
sanekxx
29.05.2010, 03:44 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;
}
//------------------------------------------------------------------------------------------------
Maniac
Эксперт С++
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
29.05.2010, 03:59 13
sanekxx,

Не по теме:

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


2, Может скажете на какую строчку хоть "ругается". Так как почти все нормально.. http://codepad.org/0G4BuhFW
0
1 / 1 / 0
Регистрация: 09.02.2011
Сообщений: 21
16.02.2011, 03:49 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;
    }
0
погромист
415 / 251 / 30
Регистрация: 27.08.2012
Сообщений: 550
19.02.2013, 12:05 15
std::fixed - выводит дроби в стандартном виде 4.56
std::scientific - в научном, т.е. 4.5е+00
0
0 / 0 / 0
Регистрация: 08.07.2017
Сообщений: 1
08.07.2017, 00:21 16
sanekxx

Вы пропустили <<endl; после каждой функции cout.
0
693 / 303 / 99
Регистрация: 04.07.2014
Сообщений: 846
11.07.2017, 13:06 17
Стандартная библиотека С++ для вывода ущербна. А для интернационализации приложений она ещё хуже, чем printf.
Как следствие появление своих способов форматированного вывода во многих библиотеках (см. тот же Qt).
При этом основной жбан начинается, когда тебе нужна форматированная строка (например, std::string).
А у нас не учат использовать сторонние библиотеки.
Так что просто оставлю пример с {fmt}.

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <vector>
#include <fmt/format.h>
 
int main() {
  std::vector<double> xs = {{ 100.01, 99.99, 0.0000001, 1e-10 }};
 
  for(const auto &x: xs) {
    fmt::print("{0} = {0:.1f} = {0:_^10.2f}\n", x); // uses Python-like format string syntax
  }
 
  return 0;
}
Результат:

Код
100.01 = 100.0 = __100.01__
99.99 = 100.0 = __99.99___
1e-07 = 0.0 = ___0.00___
1e-10 = 0.0 = ___0.00___
0
Любитель чаепитий
3744 / 1800 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
11.07.2017, 13:13 18
Цитата Сообщение от AlexVRud Посмотреть сообщение
При этом основной жбан начинается, когда тебе нужна форматированная строка (например, std::string).
и в чем проблема? )
0
11.07.2017, 13:13
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.07.2017, 13:13
Помогаю со студенческими работами здесь

форматный вывод
Как осуществить форматный вывод числа в C++ в cout, не в printf... Например, число 1,23456789, надо...

ФОРМАТНЫЙ ВЫВОД
Здраствуйте.Объясните пожалуйста подробно,что такое и зачем нужен ''ФОРМАТНЫЙ ВЫВОД''???

Форматный вывод матрицы
Добрый день. Неполучается сделать такой вывод матриц при СЛОЖЕНИИ(case 2)...

Форматный ввод / вывод в языке С ++ (Console Application)
Помогите пожалуйста, только начинаю учить C++ 1. Напишите инструкцию ввода и вывода значений чисел...


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

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

Новые блоги и статьи
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
Как работать с массивами в JavaScript
bytestream 21.01.2025
Массивы в JavaScript представляют собой один из фундаментальных типов данных, который позволяет хранить упорядоченные коллекции различных элементов в одной переменной. Эта структура данных является. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru