На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

Программное обеспечение для банкомата С#

Описание

Разработать программное обеспечение для банкомата, описание которого дано ниже.

Банкомат – автомат, выполняющий финансовые операции для клиентов банка. Пользовательский интерфейс банкомата состоит из устройства чтения банковских карточек (УЧК), дисплея, числовой клавиатуры, специальных клавиш, устройства выдачи денег (УВД), устройство приема денег (УПД) и печатающего устройства (ПУ).

В состоянии ожидания банкомат показывает на дисплее некоторое приветствующее сообщение. Клавиатура и устройство выдачи денег находятся в неактивном состоянии до момента, пока пользователь не вставит карточку в устройство чтения карточек. После вставки карточки УЧК пытается прочесть ее. Если при этом происходит ошибка, на дисплей выдается соответствующее сообщение и карточка возвращается.

Каждая карточка имеет PIN-код и сумму, имеющуюся на карточке. Карточки делятся таким же на дебетовые и кредитные. Дебетовые карточки не позволяют иметь отрицательную сумму на счету карточки. Кредитные – позволяют, но при отрицательной сумме автоматически рассчитывают пени с заданным процентом. Некоторые карточки позволяют выводить историю карточки за последний месяц.  Некоторые карточки позволяют переводить только всю сумму со счета на карточку, а некоторые позволяют дополнительно запрашивать сумму на счете и переводить заданную пользователем сумму.

В случае успешного чтения карточки, банкомат запрашивает у пользователя ввод PIN-кода (personal identification number), с использованием числовой клавиатуры. Ввод каждой цифры PIN-кода сопровождается индикацией на дисплее факта нажатия клавиши, но цифры кода не отображаются.

Если пользователь не смог ввести корректный PIN-код, ему предоставляется еще две дополнительные попытки. Если за три попытки правильный код не был введен (в силу, например, разного рода повреждений карточки), банкомат забирает карточку, и она может быть извлечена из него только банковским служащим.

Если пользователь ввел правильный PIN-код, банкомат отображает главное меню, содержащее следующие пункты:

  • снять (если возможно) заданную сумму с карточки;
  • перевести сумму со счета в банке на карточку с учетом возможностей данной карточки;
  • напечатать баланс заданного счета;
  • вывести (если возможно) историю карточки.

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

После завершения операции банкоматом, он возвращается в главное меню.

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

Пример кода

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;


namespace WindowsFormsApplication1
{
    class Credit : Card
    {
        double persent;
        public Credit(int Pin, double Sum, bool choiceSum, bool choiceHistory, double persent)
        {
            this.Pin = Pin;
            this.Sum = Sum;
            this.choiceSum = choiceSum;
            this.choiceHistory = choiceHistory;
            this.persent = persent;
        }

        public void SetPin(int Pin)
        {
            this.Pin = Pin;
        }

        public void SetchoiceSum(bool choiceSum)
        {
            this.choiceSum = choiceSum;
        }
        public void SetchoiceHistory(bool choiceHistory)
        {
            this.choiceHistory = choiceHistory;
        }
        public void Setpersent(double persent)
        {
            this.persent = persent;
        }
        public Credit() { }

        public int GetPin()
        {
            return this.Pin;
        }
        public bool GetchoiceHistory()
        {
            return this.choiceHistory;
        }

        public double GetSum()
        {
            return this.Sum;
        }

        public bool GetchoiceSum()
        {
            return this.choiceSum;
        }

        public void SetSum(double Sum)
        {
            this.Sum = Sum;
        }

        public bool takeMoney(double sum)
        {
            if ((this.Sum - sum) >= 0)
            {
                this.Sum = this.Sum - sum;
                return true;
            }
            else
            {
                double per = Math.Abs((this.Sum - sum)*(this.persent/100));
                this.Sum = this.Sum - (sum + per);
                return true;
            }
        }

        public void putMoney(double sum)
        {
            this.Sum += sum;
        }

        public void saveData()
        {
            using (StreamWriter sw = new StreamWriter(this.Pin + ".txt", false, System.Text.Encoding.Default))
            {
                sw.WriteLine("credit");
                sw.WriteLine(this.Sum);
                sw.WriteLine(this.choiceHistory);
                sw.WriteLine(this.choiceSum);
                sw.WriteLine(this.persent);
            }
        }

        
    }
}

Содержание архива

  • проект С# winForms
Купить 1000,00 
Сразу после оплаты Вы получите работу на электронную почту. Файлы отправляются автоматически. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)

Nekit203

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Другие работы автора
Новые работы
Тип Название Рейтинг Категория Стоимость
Исходник Шифр Виженера "Python" new 0 Python 1 000,00
Исходник Библиотека. Учет книг (C#, WPF, NET 6.0, SQL Server) new 0 .NET (C#) 2 000,00
Исходник Учет посещаемости занятий (C#, WPF, SQL Server, SQLite) new 0 .NET (C#) 2 500,00
Исходник Программа "Гипотеза Коллатца" Python new 0 Python 500,00
Исходник Генератор календарей (Python) new 1 Python 800,00
Купить

1000,00 

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

Заказать через

С# Банкомат.rar
81134
Оцени работу

рейтинг

Категории
Программное обеспечение для банкомата С#
Разработать программное обеспечение для банкомата, описание которого дано в описании.
Категория: Образование
Стоимость: 1000,00