Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Интерфейс для редактирования цифровых потоков.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.93 Mб
Скачать

Форматирование текста

// prWriteFormattedText.cpp : main project file.

#include "stdafx.h"

using namespace System;

using namespace System::IO;

int main(array<String^>^ args)

{

double d = Math::PI;

// Формат изображения строк

Console::WriteLine("Число pi выводится на консоль в разных форматах");

Console::WriteLine("В формате {0,-20} запись занимает 20 знаков" + " и пробелы располагаются справа.");

Console::WriteLine("{0,-20};", d);

Console::WriteLine("В формате {0,20} запись занимает 20 знаков " + "и пробелы располагаются слева.");

Console::WriteLine("{0,20};", d);

Console::WriteLine("В формате f число содержит два знака после запятой.");

Console::WriteLine("{0,20:f};", d);

Console::WriteLine("В формате g число типа double выводится с 15 знаками. " + "Это формат по умолчанию.");

Console::WriteLine("{0,20:g};", d);

Console::WriteLine("В формате e число записывается в экспоненциальном формате "+ "с шестью знаками после запятой.");

Console::WriteLine("{0,20:e};", d);

Console::WriteLine("В формате r число записывается с полным набором знаков.");

Console::WriteLine("{0,20:r}", d);

Console::WriteLine("В формате f5 число содержит пять знака после запятой.");

Console::WriteLine("{0,20:f5};", d);

Console::WriteLine("В формате g1 число содержит один знак.");

Console::WriteLine("{0,20:g1};", d);

Console::WriteLine("В формате e9 число в экспоненциальной форме содержит " + "девять знаков после запятой.");

Console::WriteLine("{0,20:e9};", d);

Console::WriteLine("В формате r3 число имеет тот же вид, что и в формате r.");

Console::WriteLine("{0,20:r3}", d);

Console::ReadLine();

// Опишем массив координат частиц

array<double,2>^ q;

// Введем число частиц

Console::Write("Введите число частиц n = ");

int n = int::Parse(Console::ReadLine());

// Определим массив координат

q = gcnew array<double,2>(3, n);

// Заполним массив случайными числами, лежащими в интервале [-1;1)

Random^ rnd = gcnew Random();

for (int i = 0; i < 3; i++)

for (int a = 0; a < n; a++)

q[i, a] = 2 * rnd->NextDouble() - 1;

// Отправим массив либо на экран (поток Console::Out),

// либо в текстовой файл, форматируя размещение символов.

// Выбор цели зависит от аргументов командной строки.

// Если аргументов нет (массив args имеет нулевую длину), то

// поток направляется на экран. Если аргументы есть,

// то поток направляется в текстовой файл,

// именем которого будет первый аргумент args[0].

TextWriter^ tw = args->Length>0 ?File::CreateText(args[0]+

".txt"):Console::Out;

try

{

// Заголовки столбцов

tw->WriteLine("\t|{0,-8}|{1,-8}|{2,-8}|", " X", " Y", " Z");

// Строка разделения

for (int i = 0; i < 36; i++)

tw->Write("-");

tw->WriteLine();

// Строки чисел-координат

for (int a = 0; a < n; a++)

{

// Заголовок текущей строки

tw->Write("{0,5} |", a + 1);

// Содержание текущей строки

for (int i = 0; i < 3; i++)

//tw->Write(q[i, a] >= 0 ? " {0,-7:f4}|" : "{0,-8:f4}|", q[i, a]);

tw->Write("{0,8:f4}|", q[i, a]);

tw->WriteLine();

}

}

finally

{

tw->Close();

}

Console::ReadLine();

return 0;

}

Windows-приложение на C++, редактирующее бинарный файл

Целью следующего приложения является возможность визуального редактирования содержимого байтового потока, связанного с бинарным файлом.

  1. Открыть решение solWriteReadFiles.

  2. В окне Solution Explorer над заголовком решения solWriteReadFiles в контекстном меню (правая кнопка мышки) выбрать команду Add->New Project…

  3. В открывшемся окне Add New Project

    1. на левой панели Project Types: выбрать узел Other Languages->Visual C++->CLR,

    2. на правой панели Templates: выбрать шаблон Windows Forms Application

    3. в строке Name: набрать имя проекта prEditBinFile

    4. щелкнуть OK

  1. Должно появиться окно дизайнера проекта с именем Form1.h [Design] с изображением пустого окна приложения серого цвета с заголовком Form1.

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

  1. Раздвинем серое окно примерно на половину поля внешнего окна, захватив курсором мышки небольшие квадраты, расположенные на правой и нижней границе окна, и потянув мышку вправо и вниз соответственно, либо потянув за квадрат в нижнем правом углу по диагонали вправо и вниз.

    1. Изменим другие свойства окна приложения, используя окно Properties (если окно Properties не открыто, это можно сделать через меню View среды)

    2. В окне Properties найдем свойство Text, содержащее в правой колонке текст Form1. Это заголовок окна по умолчанию. Изменим значение этого свойства на Edit Binary File. После нажатия Enter это изменение должно появиться в заголовке.

    3. Значение другого свойства Start Position (начальное положение окна на экране после запуска приложения), по умолчанию равного WindowsDefaultLocation (положение по умолчанию), изменим на CenterScreen. Теперь после запуска приложения окно будет изображаться в центре экрана.

  2. В окне Solution Explorer вызовем контекстное меню над заголовком проекта prEditBinFile и выберем команду Set As Startup Project. Теперь при активации решения кнопкой с зеленой стрелкой (команда Start Debugging) активироваться будет именно последний проект prEditBinFile.

  3. Активируем приложение, чтобы увидеть результат. Пока пустое окно с заголовком Edit Binary File должно появиться в центре экрана.