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

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

Описание

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

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

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

Каждая карточка имеет 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

/ /

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

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

Только зарегистрированые пользователи имеют возможность комментировать работы
Другие работы автора
Купить

1000,00 

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

рейтинг

Поделись работой с друзьями

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