Ввод/вывод данных в программу



 

Рассмотрим один из способов ввода данных через элементы, раз-мещенные на форме. Для ввода данных чаще всего используют элемент управления TextBox, через обращение к его свойству Text. Свойство Text хранит в себе строку введенных символов. Поэтому данные можно считать таким образом:

 

private void button1_Click(object sender,EventArgs e)

 

{

string s = textBox1.Text;

}

 

Однако со строкой символов трудно производить арифметиче-ские операции, поэтому лучше всего при вводе числовых данных пе-ревести строку в целое или вещественное число. Для этого у типов int и double существуют методы Parse для преобразования строк

 

в числа. С этими числами можно производить различные арифмети-ческие действия. Таким образом, предыдущий пример можно переде-лать следующим образом:

 

private void button1_Click(object sender, EventArgs e)

 

{

string s = textBox1.Text;


 

23


 

int a = int.Parse(s);

 

int b = a * a;

}

 

 

В языках программирования в дробных числах чаще всего исполь-зуется точка, например: «15.7». Однако в C# методы преобразова-

ния строк в числа (вроде double.Parse() или Convert.ToFloat())

учитывают региональные настройки Windows, в которых в качест-ве десятичной точки используется символ запятой (например, «15,7»). Поэтому в полях TextBox в формах следует вводить дроб-ные числа с запятой, а не с точкой. В противном случае преобразо-вание не выполнится, а программа остановится с ошибкой.

 

Перед выводом числовые данные следует преобразовать назад

в строку. Для этого у каждой переменной существует метод ToString(), который возвращает в результате строку с символьным представлением значения. Вывод данных можно осуществлять в элементы TextBox или Label, используя свойство Text. Например:

 

private void button1_Click(object sender, EventArgs e)

 

{

string s = textBox1.Text;

int a = int.Parse(s);

 

int b = a * a;

label1.Text = b.ToString();

}

 

Арифметические действия и стандартные функции

 

При вычислении выражения, стоящего в правой части оператора присвоения, могут использоваться арифметические операции:

 

· умножение (×);

· сложение (+);

· вычитание (–);

· деление (/);

· остаток от деления (%).

 

Для задания приоритетов операций могут использоваться круглые скобки ( ). Также могут использоваться стандартные математические функции, представленные методами класса Math:

 

· Math.Sin(a) – синус;

· Math.Sinh(a) – гиперболический синус;


 

24


 

· Math.Cos(a) – косинус (аргумент задается в радианах);

· Math.Atan(a) – арктангенс (аргумент задается в радианах);

· Math.Log(a) – натуральный логарифм;

· Math.Exp(a) – экспонента;

· Math.Pow(x, y) – возводит переменную x в степень y;

· Math.Sqrt(a) – квадратный корень;

· Math.Abs(a) – модуль числа;

· Math.Truncate(a) – целая часть числа;

· Math.Round(a) – округление числа.

 

В тригонометрических функциях все аргументы задаются в радианах.

 

Пример написания программы

 

З а д а н и е : составить программу вычисления для заданных зна-чений x, y, z арифметического выражения:

 

u =tg2( x + y )-e y -z        cos x 2 + sin z2

 

Панель диалога программы организовать в виде, представленном на рис. 2.2.

 

Для вывода результатов работы программы в программе использу-ется текстовое окно, которое представлено обычным элементом управ-ления. После установки свойства Multiline в True появляется возмож-ность растягивать элемент управления не только по горизонтали, но и по вертикали. А после установки свойства ScrollBars в значение Both в окне появится вертикальная, а при необходимости и горизон-тальная полосы прокрутки.

 

Рис. 2.2. Внешний вид программы


 

 

25


 

Информация, которая отображается построчно в окне, находится

 

в массиве строк Lines, каждая строка которого имеет тип string. Одна-ко нельзя напрямую обратиться к этому свойству для добавления новых строк, поскольку размер массивов в C# определяется в момент их ини-циализации. Для добавления нового элемента используется свойство Text, к текущему содержимому которого можно добавить новую строку:

 

textBox4.Text += Environment.NewLine + "Привет";

 

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

 

ToString().

 

Работа с программой происходит следующим образом. Нажмите (щелкните мышью) кнопку «Выполнить». В окне textBox4 появляется результат. Измените исходные значения x, y, z в окнах textBox1– textBox3 и снова нажмите кнопку «Выполнить» – появятся новые ре-зультаты.

 

Полный текст программы имеет следующий вид:

 

using System;

 

using System.Windows.Forms;

 

namespace MyFirstApp

 

{

public partial class Form1 : Form

 

{

public Form1()

{

InitializeComponent();

}

 

private void Form1_Load(object sender, EventArgs e)

{

// Начальное значение X textBox1.Text = "3,4";

 

// Начальное значение Y textBox2.Text = "0,74";

 

// Начальное значение Z textBox3.Text = "19,43";

 

}


 

26


 

private void button1_Click(object sender, EventArgs e)

{

// Считывание значения X

double x = double.Parse(textBox1.Text);

// Вывод значения X в окно textBox4.Text += Environment.NewLine +

"X = " + x.ToString();

// Считывание значения Y

double y = double.Parse(textBox2.Text);

// Вывод значения Y в окно textBox4.Text += Environment.NewLine +

 

"Y = " + y.ToString();

// Считывание значения Z

double z = double.Parse(textBox3.Text);

// Вывод значения Z в окно textBox4.Text += Environment.NewLine +

 

"Z = " + z.ToString();

// Вычисляем арифметическое выражение double a = Math.Tan(x + y) *

Math.Tan(x + y); double b = Math.Exp(y ‐ z);

double c = Math.Sqrt(Math.Cos(x*x) + Math.Sin(z*z));

double u = a ‐b * c;

// Выводим результат в окно textBox4.Text += Environment.NewLine +

 

"Результат U = " + u.ToString();

}

 

}

}

 

Если просто скопировать этот текст и заменить им то, что было

в редакторе кода Visual Studio, то программа не заработает. Правильнее будет создать обработчики событий Load у формы и Click у кнопки и уже в них вставить соответствующий код. Это замечание относится и ко всем последующим лабораторным работам.

 


Дата добавления: 2020-04-08; просмотров: 295; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!