Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Программа по моделированию оплаты коммунальных услуг плательщиком на C# - файл 1.doc


Программа по моделированию оплаты коммунальных услуг плательщиком на C#
скачать (470 kb.)

Доступные файлы (1):

1.doc470kb.16.11.2011 19:18скачать

содержание
Загрузка...

1.doc

Реклама MarketGid:
Загрузка...
Оглавление:


  1. Постановка задачи.................................................................................2 стр.

  2. План работы...........................................................................................3 стр.

  3. Описание применяемых нестандартных компонентов......................4 стр.

  4. Код программы.......................................................................................7 стр.

  5. Результат программы...........................................................................15 стр.

  6. Заключение...........................................................................................16 стр.

  7. Список литературы..............................................................................17 стр.



Вариант 9

Написать программу по моделированию оплаты коммунальных услуг плательщиком. Информационная система должна содержать следующие сведения: фамилия и инициалы плательщика, расчетный счет плательщика, расчетные счета получателя, перечисляемая сумма.

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

  1. ввод с клавиатуры (из файла) данных о плательщике;

  2. вывод на экран информации о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры;

  3. вывод на экран информации о плательщиках;

  4. осуществление сортировки по разным полям методом шейкерной сортировки.


метод Шейкера

else if (**.Checked)

{

int d = 1, i = 0, x;

for (int k = mas.Length - 1; k >= 1; k--)

{

for (int l = 1; l <= k; l++)

{

if ((mas[i] - mas[i + d]) * d > 0)

{

x = mas[i];

mas[i] = mas[i + d];

mas[i + d] = x;

}

i = i + d;

}

d = -d;

i = i + d;

} }


^ План работы:


1)Запустить Turbo C#

2)Создать форму

3)Добавить на форму элементы управления (компоненты)

4)Написать функциональные алгоритмы

5)Написать основной алгоритм работы программы

6)Сохранить проект и откопилировать программу в ехе-файл


^ Описание применяемых компонентов:






















^ Код программы:

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

using System.Text;

using System.Runtime.Serialization.Formatters.Binary;

using System.IO;

namespace Project4

{

/// <summary>

/// Summary description for WinForm.

/// </summary>

public class Form1 : System.Windows.Forms.Form

{

/// <summary>

/// Required designer variable.

/// </summary>

private System.ComponentModel.Container components = null;

private System.Windows.Forms.Panel panel1;

private System.Windows.Forms.GroupBox groupBox1;

private System.Windows.Forms.TextBox textBox1;

private System.Windows.Forms.TextBox textBox2;

private System.Windows.Forms.TextBox textBox3;

private System.Windows.Forms.RadioButton radioButton1;

private System.Windows.Forms.RadioButton radioButton2;

private System.Windows.Forms.RadioButton radioButton3;

private System.Windows.Forms.GroupBox groupBox2;

private System.Windows.Forms.ListView lV1;

private System.Windows.Forms.ColumnHeader FAM;

private System.Windows.Forms.ColumnHeader DATE;

private System.Windows.Forms.ColumnHeader TEL;

private System.Windows.Forms.GroupBox groupBox3;

private System.Windows.Forms.Label label1;

private System.Windows.Forms.Label label2;

private System.Windows.Forms.Label label3;

private System.Windows.Forms.TextBox textBox4;

private System.Windows.Forms.TextBox textBox5;

private System.Windows.Forms.TextBox textBox6;

private System.Windows.Forms.Button button1;

private System.Windows.Forms.Button button2;

private System.Windows.Forms.Button button3;

private System.Windows.Forms.Button cmdSave;


private System.Windows.Forms.Button cmdFind;

private System.Windows.Forms.PictureBox pictureBox1;

private System.Windows.Forms.Label label4;

private System.Windows.Forms.Label label5;

private System.Windows.Forms.Label label6;

private System.Windows.Forms.Label label7;

private System.Windows.Forms.Label label8;

private System.Windows.Forms.Label label9;

public Form1()

{

//

// Required for Windows Form Designer support

//

InitializeComponent();


//

// TODO: Add any constructor code after InitializeComponent call

//

}


/// <summary>

/// Clean up any resources being used.

/// </summary>

//логическая переменная используемая в сортировке

bool s = false;

//класс для сохранения текущего состояния объектов

[Serializable]

public class List

{

//переменная содержит размер для массивов

public int kol;

//объявляем массивы

public string[] FAM;

public int[] NOM;

public int[] SCHETPLAT;

public int[] SCHETPOLU;

public int[] SUM

//метод для задания размера массивам

public Zapis(int raz)

{

FAM = new string[raz];

DATE = new string[raz];

TEL = new int[raz];

}

}


[STAThread]

static void Main()

{


Application.Run(new Form1()); }

private void button1_Click(object sender, System.EventArgs e)

{

//добавляем запись в список

ListViewItem LIST;

LIST = lV1.Items.Add(textBox4.Text); //фамилия

LIST.SubItems.Add(textBox5.Text); // номер телефон

LIST.SubItems.Add(textBox6.Text); // расчетный счет плательщика

LIST.SubItems.Add(textBox7.Text); // расчетные счета получателя

LIST.SubItems.Add(textBox8.Text); // перечисляемая сумма

//очищаем текстовые окна

textBox4.Text = "";

textBox5.Text = "";

textBox6.Text = "";

textBox7.Text = "";

textBox8.Text = ""; }


private void button2_Click(object sender, System.EventArgs e)

{

//переменная kol содержит количество пунктов из списка

int kol = lV1.SelectedItems.Count;

//цикл для удаления выделенных записей

for (int i = 1; i <= kol; i++)

{

lV1.SelectedItems[0].Remove();

} }

private void rB1_CheckedChanged(object sender, System.EventArgs e)

{

textBox1.Enabled = true;

textBox3.Enabled = false;

textBox2.Enabled = false;

textBox1.Text = "";

textBox2.Text = "";

textBox3.Text = "";

textBox1.Select();

}

private void rB2_CheckedChanged(object sender, System.EventArgs e)

{

textBox1.Enabled = false;

textBox3.Enabled = false;

textBox2.Enabled = true;

textBox1.Text = "";

textBox2.Text = "";

textBox3.Text = "";

textBox2.Select();

}

private void rB3_CheckedChanged(object sender, System.EventArgs e)

{

textBox1.Enabled = false;

textBox3.Enabled = true;

textBox2.Enabled = false;

textBox1.Text = "";

textBox2.Text = "";

textBox3.Text = "";

textBox3.Select();

}


private void button3_Click(object sender, System.EventArgs e)

{

Close(); }

private void cmdSave_Click(object sender, System.EventArgs e)

{

//узнаем количество пунктов списка


int k = lV1.Items.Count;

//создаем экземпляр класса

Spisok LIST = new Spisok (k);

//задаем размер для массивов

LIST.kol = k;

//цикл для сохранения информации в файле

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

{

//присваиваем i-ому элементу массива Фамилию

LIST.FAM[i] = lV1.Items[i].Text;

// присваиваем i-ому элементу массива Телефон

LIST.NOM[i] = lV1.Items[i].SubItems[1].Text;

// расчетный счет плательщика

LIST.SCHETPLAT[i] = int.Parse(lV1.Items[i].SubItems[2].Text);

// расчетные счета получателя

LIST.SCHETPOLU[i] = int.Parse(lV1.Items[i].SubItems[3].Text);

// перечисляемая сумма

LIST.SUM[i] = int.Parse(lV1.Items[i].SubItems[4].Text);

//Создаем файл

Stream b = File.Open("Baza.dat", FileMode.Create);

BinaryFormatter bi = new BinaryFormatter();

//сохраняем в файл всю информацию

bi.Serialize(b, LIST);

//закрваем файл

b.Close();

} }


private void Form1_Load(object sender, System.EventArgs e)


//проверка существования файла

if (File.Exists("Baza.dat"))

{

//открываем файл

Stream b = File.Open("Baza.dat", FileMode.Open);

BinaryFormatter bi = new BinaryFormatter();

object o = bi.Deserialize(b);

Zapis p = o as Zapis;

//цикл для загрузки из файла сохраненной информации

for (int i = 0; i < p.kol; i++)

{

ListViewItem l;

//добавляем запись в список

l = lV1.Items.Add(p.FAM[i]);

l.SubItems.Add(p.NOM[i].ToString());

l.SubItems.Add(p.SCHETPLAT[i].ToString());

l.SubItems.Add(p.SCHETPOLU[I].ToString());

l.SubItems.Add(p.SUM[I].ToString());

}

//закрываем файл

b.Close();

}}


private void lV1_ColumnClick(object sender, ColumnClickEventArgs e)

{

int[] mFAM1 = new int[lV1.Items.Count];

string[] mFAM = new string[lV1.Items.Count];

int[] mNOM = new int[lV1.Items.Count];

int[] mSCHETPLAT = new int[lV1.Items.Count];

int[] mSCHETPOLU = new int[lV1.Items.Count];

int[] mSUM = new int[lV1.Items.Count];


for (int i = 0; i < lV1.Items.Count; i++)

{

mFAM[i] = lV1.Items[i].Text;

mNOM[i] = lV1.Items[i].SubItems[1].Text;

mSCHETPLAT[i] = int.Parse(lV1.Items[i].SubItems[2].Text);

mSCHETPOLU[i] = int.Parse(lV1.Items[i].SubItems[3].Text);

mSUM[i] = int.Parse(lV1.Items[i].SubItems[4].Text);

}

//если щелкнули первую колонку, то сортируем Методом Шейкера

if (e.Column == 0)

{

int kol = lV1.Items.Count;

char[] ch = new char[kol];

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

{

ch[i] = char.Parse(lV1.Items[i].Text.Substring(0, 1).ToUpper());

}

if (s == false)

{ {

int d = 1, i = 0, x;

for (int k = ch[i] - 1; k >= 1; k--)

{

for (int l = 1; l <= k; l++)

{

if ((ch[i] - ch[i + d]) * d > 0)

{

char x = ch[i];

string tmp1= mFAM[i];

int tmp2 = mNOM[i];

int tmp3 = mSCHETPLAT[i];

int tmp4= mSCHETPOLU[i];

int tmp5= mSUM[i];

ch[i] = ch[i + d];

mFAM[i] = mFAM[i + d];

mNOM[i] = mNOM[i + d];

mSCHETPLAT [i] = mSCHETPLAT [i + d];

mSCHETPOLU [i] = mSCHETPOLU[i + d];

mSUM [i] = mSUM[i + d]

ch[i + d] = x;

mFAM[i + d] = tmp1;

mNOM[i + d]= tmp2;

mSCHETPLAT[i + d]= tmp3;

mSCHETPOLU[i + d]= tmp4;

mSUM[i + d]= tmp5;

}

i = i + d;

}

d = -d;

i = i + d;

} }

//если вторую, то сортируем Методом Шейкера

if (e.Column == 1)

{

int kol = lV1.Items.Count;

char[] ch = new char[kol];

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

{

ch[i] = char.Parse(lV1.Items[i].Text.Substring(0, 1).ToUpper());

}

if (s == false)

{ {

int d = 1, i = 0, x;

for (int k = ch[i] - 1; k >= 1; k--)

{

for (int l = 1; l <= k; l++)

{

if ((NOM[i] - NOM[i + d]) * d > 0)

{

char x = ch[i];

string tmp1= mFAM[i];

int tmp2 = mNOM[i];

int tmp3 = mSCHETPLAT[i];

int tmp4= mSCHETPOLU[i];

int tmp5= mSUM[i];

ch[i] = ch[i + d];

mFAM[i] = mFAM[i + d];

mNOM[i] = mNOM[i + d];

mSCHETPLAT[i] = mSCHETPLAT[i + d];

mSCHETPOLU[i] = mSCHETPOLU[i + d];

mSUM[i] = mSUM[i + d];

ch[i + d] = x;

mFAM[i + d] = tmp1;

mNOM[i + d]= tmp2;

mSCHETPLAT[i + d]= tmp3;

mSCHETPOLU[i + d]= tmp4;

mSUM[i + d]= tmp5;

}

i = i + d;

}

d = -d;

i = i + d;

} }

//заносим в список сортированные записи

for (int i = 0; i < lV1.Items.Count; i++)

{

lV1.Items[i].Text = mFAM[i];

lV1.Items[i].SubItems[1].Text = mNOM[i];

lV1.Items[i].SubItems[2].Text = mSCHETPLAT[i];

lV1.Items[i].SubItems[3].Text = mSCHETPOLU[i];

lV1.Items[i].SubItems[4].Text = mSUM[i];

} }

private void cmdFind_Click(object sender, System.EventArgs e)

{

//количество пунктов списка

int p = lV1.Items.Count;

//очищаем любое выделение в списке

lV1.SelectedItems.Clear();

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

{

//если первый переключатель отмечен

if (radioButton1.Checked)

{

//сравниваем, если введенная в текстовое окно запись совпала с пунктом в списке то

if (textBox1.Text.Equals(lV1.Items[i].Text))

{

//выделяем найденную запись

lV1.Items[i].Selected = true;

} }

//если второй переключатель отмечен

else if (radioButton2.Checked)

{

//сравниваем, если введенная в текстовое окно запись совпала с пунктом в списке то

if (textBox2.Text.Equals(lV1.Items[i].SubItems[1].Text))

{

//выделяем найденную запись

lV1.Items[i].Selected = true;

} }}

//задаем фокус списку

lV1.Select(); }

}

}


Результат программы:





Заключение


В данной курсовой работе Я многое освоил для себя, в программирования на языке C#, а именно изучил структуры, свойства и виды объектов, изучил способы доступа к правил вызова методов объектов, изучил способы связи таблиц, работы с базами данными, изучил концепции и приобрел навыки объектно-ориентированного программирования.


Список литературы


  1. Н.Б. Культин - C# в задачах и примерах. БХВ-Петербург,2007г., 241ст.

  2. Х. Дейтел - C#. Наиболее полное руководство. БХВ-Петербург,2007г., 1056ст.

  3. C# Учебный курс. БХВ-Петербург,2007г.,513ст.

  4. Морган С. - Разработка распределенных приложений на платформе Microsoft .Net Framework.БХВ-Петербург,2007г.,602ст.

  5. Дж. Бишоп, Н. Хорспул - C# в кратком изложении. Бином. Лаборатория знаний,2007г.,587ст.

  6. Карли Ватсон и др. - C#. Лори,2007г.,861ст.









Скачать файл (470 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации