Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

PriceList / курсовая

.doc
Скачиваний:
6
Добавлен:
02.02.2015
Размер:
156.67 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ

НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

“ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”

Кафедра “мониторинга и логистики”

КУРСОВАЯ РОБОТА

На тему:

«Модель прайс-листа»

Руководитель работы:

Карпенко Вячеслав Васильевич

Выполнил:

Болюх В.О.

Харьков – 2013

Содержание:

Задание 3

Листинг программы 4

Копии экранов работающей программы 6

Вывод 7

Задание

Модель прайс-листа

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

Листинг программы

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace PriceList

{

public partial class Form1 : Form

{

List<Good> goods; //список товаров

public Form1()

{

InitializeComponent();

goods = new List<Good>(); //создание нового списка

//добавление тестовых данных

goods.Add(new Good("Вода питьевая", 100, 9));

goods.Add(new Good("Мыло", 174, 5));

goods.Add(new Good("Порошок", 27, 18));

goods.Add(new Good("Пена для бритья", 53, 15));

goods.Add(new Good("Бумага туалетная", 18, 3));

goods.Add(new Good("Полотенце", 10, 25));

goods.Add(new Good("Гитара", 3, 700));

//вывод в таблицу

dgv_Goods.DataSource = goods;

}

private void btn_Exit_Click(object sender, EventArgs e)

{

Application.Exit(); //выход по нажатию на соответствующую кнопку

}

//после завршения изменения данных

private void dgv_Goods_CellEndEdit(object sender, DataGridViewCellEventArgs e)

{

int Selected = 0;

//проверка, число должно быть целым

if (int.TryParse(dgv_Goods[e.ColumnIndex, e.RowIndex].Value.ToString(), out Selected))

{

//смотрим общее количество

int Total = int.Parse(dgv_Goods[e.ColumnIndex - 3, e.RowIndex].Value.ToString());

//если ввели больше чем есть, то устанавливаем значение сколько есть

if (Selected > Total) dgv_Goods[e.ColumnIndex, e.RowIndex].Value = Total;

//если отрицательное - то устанавливаем 0

if (Selected < 0) dgv_Goods[e.ColumnIndex, e.RowIndex].Value = 0;

}

}

private void btn_Calculate_Click(object sender, EventArgs e)

{

string result = "";

int sum = 0;

//для всех товаров

foreach (var item in goods)

{

//если он выбран

if (item.IsChecked)

{

//добавляем в строку результата данные о товаре

result += string.Format("{0}, {1}шт. Цена: {2}\n", item.Title, item.SelectedCount, item.TotalPrice);

//добавляем стоимость выбранных товаров к общей стоимости

sum += item.TotalPrice;

}

}

result += "Итого: " + sum;

//если сумма больше 0, то выводим инфо

if (sum > 0)

MessageBox.Show(result);

//иначе выводим сообщение, что ничего не выбрано

else

MessageBox.Show("Товары не выбраны!");

}

}

//класс для описания товара

class Good

{

//наименование

public string Title { get; set; }

//количество

public int Count { get; set; }

//цена за штуку

public int Price { get; set; }

//выбран ли товар

public bool IsChecked { get; set; }

//какое количество выбрано

public int SelectedCount { get; set; }

//стоимость выбранных

public int TotalPrice { get { return Price * SelectedCount; } }

//конструктор

public Good(string title, int count, int price)

{

Title = title;

Count = count;

Price = price;

IsChecked = false;

}

}

}

Копии экранов работающей программы

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

2. Здесь мы выбираем нужные товары.

3.Вводим их количество.

4. Получаем ответ.

Выводы:

В этой программе добавляем новые знания к изученным весной классам, вспоминаем методы, еще зимой изученные оператор if . Комбинируя эти знания мы получаем программу которая весьма полезна в биту. Это особенно полезная программа для продавцов в больших супермаркетах, когда покупатель берет много одинакового товара. Она проста в использовании и почти не замеина на экране манитора.

7