Файл: Курсовой проект по мдк 01. 02 Прикладное программирование на тему Программа формирования списков Транспортное агентство.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.03.2024
Просмотров: 22
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
print(table)
while True:
try:
nomer = int(input("Введите номер рейса для удаления записи: "))
cur.execute(""" SELECT 1 FROM napravlenie WHERE NomerReisa = {};""".format(nomer))
one = cur.fetchone()[0]
break
except:
print("Ошибка ввода. Попробуйте снова.")
cur.execute("""DELETE FROM napravlenie WHERE NomerReisa = {}""".format(nomer))
db.commit()
cur.execute("""DELETE FROM rastoainie WHERE NomerReisaa= {}""".format(nomer))
db.commit()
cur.execute("""SELECT NomerReisa, VremiaOtpravlenia, PunktNaznachenia, TsenaPoezdki, Rastoainie, TsenaBileta, KolichestvoMest FROM napravlenie INNER JOIN rastoainie ON NomerReisa = NomerReisaa""")
table = from_db_cursor(cur)
print(table)
while True:
action = input("Выберите действие:\n1: Вернуться к выбору действий\n2: Завершить программу \n")
match action:
case "1":
break
case "2":
ifclose = True
break
case _:
print("Ошибка ввода, попробуйте снова")
case "3": #Обновление записи
time = 0
money = 0
rasstoanie = 0
TsenaBileta = 0
kolvo = 0
while True:
try:
nomer = int(input("Введите номер рейса для обновления записи: "))
cur.execute(""" SELECT 1 FROM napravlenie WHERE NomerReisa = {};""".format(nomer))
one = cur.fetchone()[0]
break
except:
print("Ошибка ввода. Попробуйте снова.")
while True: # Добавление времени отправления
try:
time = int(input("VremiaOtpravlenia = "))
break
except:
print("Неккоректный ввод. Повторите ввод")
while True: #Добавление пункта назначения
try:
punkt = input(str("PunktNaznachenia = "))
isCointainsNumbers = bool(re.search(r"\d", punkt))
if isCointainsNumbers:
print("Неккоректный ввод. Повторите ввод")
continue
break
except:
print("Неккоректный ввод. Повторите ввод")
while True: # Добавление цены поездки
try:
money = int(input("TsenaPoezdki= "))
break
except:
print("Неккоректный ввод. Повторите ввод")
while True: # Добавление расстояния поездки
try:
rasstoanie = int(input("Rastoainie = "))
if rasstoanie < 201: True
break
except:
print("Ошибка ввода. Попробуйте снова.")
TsenaBileta = (rasstoanie/20)*10 # Добавление цены билета
while True: # Добавление количества мест
try:
kolvo = int(input("KolichestvoMest = "))
break
except:
print("Ошибка ввода. Попробуйте снова.")
cur.execute("""UPDATE napravlenie SET (VremiaOtpravlenia, PunktNaznachenia, TsenaPoezdki) = ('{}', '{}', '{}') WHERE NomerReisa = ('{}')""".format(time, punkt, money, nomer))
db.commit()
cur.execute("""UPDATE rastoainie SET (Rastoainie, TsenaBileta, KolichestvoMest) = ('{}', '{}', '{}') WHERE NomerReisaa = ('{}')""".format(rasstoanie, TsenaBileta, kolvo, nomer))
db.commit()
cur.execute("""SELECT NomerReisa, VremiaOtpravlenia, PunktNaznachenia, TsenaPoezdki, Rastoainie, TsenaBileta, KolichestvoMest FROM napravlenie INNER JOIN rastoainie ON NomerReisa = NomerReisaa""")
db.commit()
table = from_db_cursor(cur)
print(table)
case "4": # Пункты с самой дорогой поездкой
cur.execute("""SELECT MAX(TsenaPoezdki) PunktNaznachenia, TsenaPoezdki FROM napravlenie INNER JOIN rastoainie ON NomerReisa = NomerReisaa """)
db.commit()
table = from_db_cursor(cur)
print(table)
case "5": # Пункты с самой низкой стоимостью билетов
cur.execute("""SELECT MIN(TsenaBileta) PunktNaznachenia, TsenaBileta FROM napravlenie INNER JOIN rastoainie ON NomerReisa = NomerReisaa """)
db.commit()
table = from_db_cursor(cur)
print(table)
case "6": # По заданному пользователю пункту назначения
while True: #Добавление пункта назначения
try:
runkt = input(str("Введите пункт назначения = "))
isCointainsNumbers = bool(re.search(r"\d", runkt))
if isCointainsNumbers:
print("Ошибка ввода. Попробуйте снова.")
continue
break
except:
print("Ошибка ввода. Попробуйте снова.")
cur.execute("""SELECT NomerReisa, VremiaOtpravlenia, PunktNaznachenia, TsenaPoezdki, Rastoainie, TsenaBileta, KolichestvoMest FROM napravlenie INNER JOIN rastoainie ON NomerReisa = NomerReisaa WHERE PunktNaznachenia = '{}' """.format(runkt))
db.commit()
table = from_db_cursor(cur)
print(table)
case "7": # По заданному диапазону расстояния до пункта назначения, отсортированный по цене поездки
while True:
try:
diapone = int(input("Введите диапазон от: "))
diapsec = int(input("Введите сдиапазон до: "))
break
except:
print("Ошибка ввода. Попробуйте снова.")
cur.execute("""SELECT NomerReisa, VremiaOtpravlenia, PunktNaznachenia, TsenaPoezdki, Rastoainie, TsenaBileta, KolichestvoMest FROM napravlenie INNER JOIN rastoainie ON NomerReisa = NomerReisaa WHERE Rastoainie BETWEEN '{}' AND '{}' ORDER BY TsenaPoezdki """.format(diapone, diapsec))
db.commit()
table = from_db_cursor(cur)
print(table)
case "8": #По заданному пользователю количеству мест, отсортированный по номеру рейса
while True:
try:
colvo = int(input("Введите количество мест = "))
cur.execute("""SELECT 1 FROM rastoainie WHERE KolichestvoMest = '{}'; """.format(colvo))
one = cur.fetchone()[0]
cur.execute("""SELECT NomerReisa, VremiaOtpravlenia, PunktNaznachenia, TsenaPoezdki, Rastoainie, TsenaBileta, KolichestvoMest FROM napravlenie INNER JOIN rastoainie ON NomerReisa = NomerReisaa WHERE KolichestvoMest = '{}' """.format(colvo))
table = from_db_cursor(cur)
print(table)
break
except:
print("Ошибка ввода. Попробуйте снова.")
case "9":
while True:
ifclose = True
break
case "10": #Вернуться к выбору таблиц
break
ЗАКЛЮЧЕНИЕ
Программа формирования списков «Транспортное агентство» была разработана для курсового проекта по прикладному программированию.
Цель курсового проекта заключалась в том, чтобы разработать консольное приложение с возможностью редактирования записей и формированием следующих списков:
-
пункты с самой дорогой поездкой; -
пункты с самой низкой стоимостью билетов; -
по заданному пользователю пункту назначения; -
по заданному диапазону расстояния до пункта назначения, отсортированный по цене поездки; -
по заданному пользователю количеству мест, отсортированный по номеру рейса.
Для реализации поставленной цели были решены следующие задачи:
-
разработан консольный интерфейс программы; -
составлена функциональная схема программы; -
составлена блок – схема программы; -
составлен алгоритм работы данной программы; -
разработана обработка исключений в программе; -
разработана возможность редактирование записей в таблице.
Изучены материалы для обработки различных исключений. Изучены способы объектно-ориентированного программирования. Также изучен материал для написания базы данных на SQLite3.
В ходе выполнения курсового проекта были проанализированы и рассмотрены теоретические материалы по языку программирования Python и материалы по системе управления базами данных (СУБД) SQLite3. А также были получены практические навыки работы с базой данных и написанию прикладных консольных приложений на основе языка Python.
Приложение может быть использовано для учета успеваемости студентов в различных учебных заведениях. Оно не требует особых характеристик от аппаратного обеспечения и может быть использовано на любом компьютере.
Список используемых источников
-
Python 3 и PyQt 5. Разработка приложений / Н.А. Прохоренок, В.А. Дронов. – СПб.: БХВ – Петербург, 2016. – 832 с.:ил. -
Чернышев, С. А. Основы программирования на Python : учебное пособие для вузов / С. А. Чернышев. — Москва : Издательство Юрайт, 2023. — 286 с. -
Федоров, Д. Ю. Программирование на языке высокого уровня Python : учебное пособие для среднего профессионального образования / Д. Ю. Федоров. — 4-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2023. — 214 с. -
Гниденко, И. Г. Технология разработки программного обеспечения : учебное пособие для среднего профессионального образования / И. Г. Гниденко, Ф. Ф. Павлов, Д. Ю. Федоров. — Москва : Издательство Юрайт, 2023. — 235 с. -
Нестеров, С. А. Базы данных : учебник и практикум для среднего профессионального образования / С. А. Нестеров. — Москва : Издательство Юрайт, 2023. — 230 с. -
Зыков, С. В. Программирование : учебник и практикум для вузов / С. В. Зыков. — Москва : Издательство Юрайт, 2023. — 320 с. -
Маркин, А. В. Программирование на SQL : учебное пособие для среднего профессионального образования / А. В. Маркин. — Москва : Издательство Юрайт, 2023. — 435 с. -
Трофимов, В. В. Алгоритмизация и программирование : учебник для вузов / В. В. Трофимов, Т. А. Павловская ; под редакцией В. В. Трофимова. — Москва : Издательство Юрайт, 2023. — 137 с. -
Черпаков, И. В. Основы программирования : учебник и практикум для среднего профессионального образования / И. В. Черпаков. — Москва : Издательство Юрайт, 2023. — 219 с. -
Стружкин, Н. П. Базы данных: проектирование : учебник для вузов / Н. П. Стружкин, В. В. Годин. — Москва : Издательство Юрайт, 2023. — 477 с.