Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа__.doc
Скачиваний:
5
Добавлен:
24.09.2019
Размер:
436.22 Кб
Скачать
  1. Интерфейс программы.

Рис. 1. Вид главного окна.

Рис. 2. Главное окно после обработки.

Рис. 3. Окно открытия файла с диска.

Рис. 4. Окно сохранения файла на диск.

Рис. 5. Окно предварительного просмотра.

  1. Прокомментированный текст программы.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)

{

}

private void saveToolStripButton_Click(object sender, EventArgs e) //процедура сохранения файла на диск

{

string s = richTextBox1.Text;

if (saveFileDialog1.ShowDialog() == DialogResult.OK)

{

StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);

sw.WriteLine(s);

sw.Close();

}

}

private void newToolStripButton_Click(object sender, EventArgs e) // процедура очистки экрана, создания нового документа

{

richTextBox1.Clear();

printToolStripButton.Visible = false; //сделать кнопку печати невидимой

saveToolStripButton.Visible = false; //сделать кнопку сохранения невидимой

}

private void openToolStripButton_Click(object sender, EventArgs e)

{

string s = "";

if (openFileDialog1.ShowDialog() == DialogResult.OK)

{

StreamReader sr = new StreamReader(openFileDialog1.FileName);

s = sr.ReadToEnd();

richTextBox1.Text = s;

sr.Close();

printToolStripButton.Visible = true; //сделать кнопку печати видимой

saveToolStripButton.Visible = true; //сделать кнопку сохранения видимой

}

}

int [,] a=new int [11,11]; // Описать массив

private void numericUpDown1_ValueChanged(object sender, EventArgs e)

{

printToolStripButton.Visible = true; //сделать кнопку печати видимой

saveToolStripButton.Visible = true; //сделать кнопку сохранения видимой

richTextBox1.Clear(); // очистка

int n = (int)numericUpDown1.Value; // прочитать размерность

int i = 0; // индекс строки

int j = 0; // индекс столбца

int p = 1; // записываемое число

int pr = n - 2; // от левого нижнего угла вправо

int lev = 0; // от нижнего правого угла вверх

int niz = n - 1; // от верхнего правого угла влево

int verh = 1; // от верхнего левого угла вниз

int sum = 0;

int k = 0;

for (k = 1; k <= n / 2; k++) // количество витков

{

for (j = lev; j <= pr; j++) // заполенние крайней нижней строки

{ a[niz, j] = p; sum = sum + p; p++;

}

for (i = niz; i >= verh; i--) // заполнение крайней правой строки

{ a[i, pr + 1] = p; sum = sum + p; p++;

}

for (j = pr + 1; j >= lev + 1; j--) // заполнение крайней верхней строки

{ a[verh - 1, j] = p; sum = sum + p; p++; }

for (i = verh - 1; i <= niz - 1; i++) // заполнение крайней левой строки

{ a[i, lev] = p; sum = sum + p; p++;

}

pr--; lev++; verh++; niz--;

}

//Заполнить центр

if (n % 2 != 0) { a[n / 2, n / 2] = p; sum = sum + p;

}

//Вывод массива

string s = "";

for (i = 0; i < n; i++)

{

s = "";

for (j = 0; j < n; j++)

{

s = s + a[i, j].ToString() + (char)9; ;

}

richTextBox1.AppendText(s + "\n\n");

}

richTextBox1.AppendText("Сумма=" +sum.ToString()); // Вывод суммы

}

private void printToolStripButton_Click(object sender, EventArgs e) // процедура предварительного просмотра перед печатью

{

printPreviewDialog1.PrintPreviewControl.Zoom = 1.0;

printPreviewDialog1.ClientSize = Screen.PrimaryScreen.Bounds.Size;

printPreviewDialog1.ShowDialog();

}

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) // процедура внешнего вида текста для печати

{

e.Graphics.DrawString(richTextBox1.Text, this.Font, Brushes.Black, new PointF(20, 20));

}

}

}