Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2019, 01:16   #1
Kadet12
 
Регистрация: 31.01.2019
Сообщений: 9
Лампочка Перевод из Питона на С++

Постройте структуру, которая работает с базой данных в виде двоичного файла. Ваша СУБД должна иметь следующие возможности:
• Просмотр записей
• Добавление записей
• Удаление записей
• Сортировка по одному из полей

Код:
import sqlite3 
 
def Sort(sql):
    for row in cursor.execute(sql):
         lst.append(row)
    for i in range(len(lst)):
        cursor.execute("INSERT INTO ALBUMS VALUES (?, ?, ?, ?)" , lst[i])
    return(lst)
    
def Out(sql):
    cursor.execute(sql)
    print(cursor.fetchall(), '\n')
    
def Append():
    print('Введите количество добавляемых записей')
    n = int(input())
    num = 1
    for i in range(n): 
        print('Введите количество элементов') 
        print('Введите Артиста ', num) 
        Artist = input() 
        print('Введите альбом ', Artist) 
        Album = input() 
        print('Введите год издания альбома ', Album) 
        Year = input() 
        print('Введите жанр ', Artist) 
        Janre = input() 
        conn = sqlite3.connect("ALBUMSDB.db") 
        cursor = conn.cursor() 
        cursor.execute("INSERT INTO ALBUMS VALUES (?, ?, ?, ?)" , (Artist, Album, Year, Janre) ) 
        num += 1
        conn.commit()
    
def Delete():
    print('Введите количество удаляемых записей')
    n = int(input())
    for i in range(n):
        print('Введите имя артиста для удаления из БД')
        name = str(input())
        sql = "DELETE FROM ALBUMS WHERE Artist=?"
        cursor.execute(sql,[(str(name))])
    conn.commit()
    
 
    
 
conn = sqlite3.connect("ALBUMSDB.db") 
cursor = conn.cursor() 
print('1 -Просмотреть записи в БД')
print('2 - Добавление записей в БД')
print('3 - Удаление записей из БД')
print('4 - Сортировка БД')
print('5 - выход из программы')
choice = int(input())
 
while choice != 5:
    lst = []
    if choice == 1:
        sql = "SELECT * FROM ALBUMS"
        Out(sql)
    if choice ==2:
        Append()
    if choice == 3:
        Delete()
    if choice == 4:
        print('Отобрать по : Artist, Album, Year, Genre')
        crit = input()
        if (crit == 'Artist'):
            sql = "SELECT * FROM ALBUMS ORDER BY Artist Desc"
            cursor.execute(sql)
            print('Отсортированная база данных:', '\n', cursor.fetchall(), '\n')
        elif (crit == 'Album_name'):
            sql = "SELECT * FROM ALBUMS ORDER BY Album_name"
            cursor.execute(sql)
            print('Отсортированная база данных:', '\n', cursor.fetchall(), '\n') 
        elif (crit == 'Year'):
            sql = "SELECT * FROM ALBUMS ORDER BY Year"
            cursor.execute(sql)
            print('Отсортированная база данных:', '\n', cursor.fetchall(), '\n')
        else:
            sql = "SELECT * FROM ALBUMS ORDER BY Genre"
            cursor.execute(sql)
            print('Отсортированная база данных:', '\n', cursor.fetchall(), '\n')
        conn.commit()
        
    print('1 -Просмотреть записи в БД')
    print('2 - Добавление записей в БД')
    print('3 - Удаление записей из БД')
    print('4 - Сортировка БД')
    print('5 - выход из программы')
    choice = int(input())
    
print('\n','All done')
Kadet12 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Теория Питона vitormorev Python 0 03.05.2019 14:18
сайт для изучения питона для начинающих? Userka777 Python 1 26.03.2019 06:23
Переписать из Питона в MQL4 Teo888 Python 4 08.11.2018 18:35
люди кто сможет перевести код с питона на с++ bekabeka Помощь студентам 3 06.03.2017 18:52
Как установить скрипт Питона Владислав Темный Windows 1 26.07.2013 09:50