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

Флаги форматирования и манипуляторы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пересчёт даты из Григорианской в Юлианскую http://www.cyberforum.ru/cpp-beginners/thread50045.html
Пишу программу по астрономии, необходимо пересчитать Григорианскую дату в Юлианскую. Вот что навоял: #include <iostream> #include <cstdlib> using namespace std; int main() { int Month, M, Day, D, Year, Y; cout << "Enter Month:"; cin >> Month; cout << "Enter Day:"; cin >> Day;
C++ помогите написать лабу 1. Дано 36-ричное число, содержащее не более 100 цифр (цифры 10,11,...,35 кодируются заглавными латинскими буквами А,В,...,Z). Переставить цифры числа таким образом, чтобы оно стало "счастливым". "Счастливым" будем называть число из N цифр, у которого сумма первых цифр равна сумме последних цифр. Если такая перестановка невозможна, вывести сообщение "impossible" http://www.cyberforum.ru/cpp-beginners/thread50042.html
C++ Поиск звена с элементом el в списке, заданном указателем phead
#include<iostream> using namespace std; class Spisok { private: struct node { int elem; node *sled; };
Перегрузка функции C++
Что такое перезагрузка функции в с++? Для чего она нужна? Есть случаи, когда без нее никак? Приведите пример перезагрузки функции? Тут есть перезагрузка? static int Square(int var) { return (var * var); } static long Square(long var)
C++ Динамическое очищение массива http://www.cyberforum.ru/cpp-beginners/thread49995.html
Помогите пжлст) Нужно в программе при определенных обстоятельствах очистить массив. char n;
C++ Реверсирование строк Всем добрый вечер! Как всегда, практикуюсь по книжным примерам. Вот дошёл до темы реверсирования строк, то есть расположения букв в обратном порядке. Столкнулся с таким кодом, и не ясен стал цикл,то есть как именно происходит замена букв в нём? Если кто может, подскажите,если не сложно? Не ясен сам цикл, и строка перед ним: end = &str; Заранее благодарю. Вот исходник: #include... подробнее

Показать сообщение отдельно
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
08.09.2009, 21:36     Флаги форматирования и манипуляторы
У многих новичков возникают вопросы, как вывести число в таком-то формате, а можно вывести так или так. Чтоб стало более ясно, вот небольшая
программка с комментариями.
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
#include <iostream>
#include <iomanip>
int main()
{
    setlocale(LC_ALL, "Russian");
    char _char[] = "char\n"; 
    int _int = 20;
    int negative_int = -10;
    double _double = 123.5467;
    float zero_float = 10;
 
//======== работаем с выравниванием ========\\
    
    std::cout<<"Работаем с выравниванием\n";
    //устанавливаем ширину поля вывода
    std::cout.width (20);
    //устанавливаем символ заполнитель(по умолчанию - пробел)
    std::cout.fill ('_');
    //флаг форматирования при котором знак числа выводится по левому краю, 
    //число — по правому. Промежуток заполняется символами заполнителя
    std::cout.setf(std::ios::internal);
    std::cout<<negative_int<<std::endl;
 
    //устанавливаем ширину поля вывода
    std::cout.width(50);
    //устанавливаем символ заполнитель(по умолчанию - пробел)
    std::cout.fill ('/');
    //выравниваем по правому краю поля
    std::cout.setf(std::ios::right);
    std::cout<<_char<<std::endl;
 
    //P.S. флаги  left, right и internal не могут быть установлены одновременно.
 
//======== выводим в разных системах исчисления ========\\
 
    std::cout<<"Выводим в разных системах исчисления\n";
    //восьмеричная система счисления
    std::cout.flags(std::ios::oct);
    std::cout<<_int<<std::endl;
 
    //десятичная система счисления
    std::cout.flags(std::ios::dec);
    std::cout<<_int<<std::endl;
 
    //шестнадцатеричная система счисления
    std::cout.flags(std::ios::hex);
    std::cout<<_int<<std::endl;
 
    //задаем основание системы счисления (8, 16, 10 или 0)
    //по умолчанию 0 - это десятичное, кроме случаев, когда вводятся 8- или
    //16-ричные числа. Здесь к примеру основание 8
    std::cout<<std::setbase(8)<<_int<<std::endl;
 
    //P.S. флаги dec, oct и hex не могут быть установлены одновременно.
 
//======== выводим вещественные чисел ========\\
 
    std::cout<<"\nВыводим вещественные числа\n";
    //при выводе вещественных чисел печатаем десятичную точку и дробную часть
    std::cout.flags(std::ios::showpoint);
    std::cout<<zero_float<<std::endl;
 
    //печатаем вещественные числа в форме мантиссы с порядком
    std::cout.flags(std::ios::scientific);
    std::cout<<_double<<std::endl;
    
    //Печатаем вещественные числа в форме с фиксированной точкой, 
    //точность определяем строкой ниже в setprecision
    std::cout.flags(std::ios::fixed);
    std::cout<<std::setprecision(2)<<_double<<std::endl;
 
    //P.S. флаги scientific и fixed не могут быть установлены одновременно
 
//======== печатаем знаки ========\\
 
    std::cout<<"\nПечатаем знаки\n";
    //печатаем знак при выводе положительных чисел
    std::cout.flags(std::ios::showpos);
    std::cout<<_int<<std::endl;
 
    system("pause");
    return 0;
}
Я выбирал самые основные. Кто может добавить, если я что-то пропустил - добавляйте. Буду только благодарен
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru