ホームページ >データベース >mysql チュートリアル >MySQL と C++ を使用してコマンド ライン ベースのライブラリ管理システムを開発する方法

MySQL と C++ を使用してコマンド ライン ベースのライブラリ管理システムを開発する方法

WBOY
WBOYオリジナル
2023-09-20 13:48:21800ブラウズ

MySQL と C++ を使用してコマンド ライン ベースのライブラリ管理システムを開発する方法

MySQL と C を使用してコマンド ライン ベースのライブラリ管理システムを開発する方法

概要:
この記事では、MySQL の使用方法を紹介します。および C を使用して、シンプルなコマンドラインベースのライブラリ管理システムを開発します。データベースの設計から C コードの実装までのプロセス全体を取り上げ、具体的なコード例を示します。

はじめに:
書籍管理システムは、図書館や個人の書籍コレクションを管理するために使用される一般的なアプリケーションです。データベースとして MySQL を使用し、プログラミング言語として C を使用することで、完全な機能を備えた図書館管理システムを簡単に実装し、ユーザーに便利な書籍検索、貸出、返却機能を提供できます。

ステップ 1: データベース設計
まず、書籍と関連情報を保存するための適切なデータベース スキーマを設計する必要があります。この例では、次のテーブルを使用します。

  • books テーブル: 書籍 ID、タイトル、著者、発行日など、書籍に関する基本情報が格納されます。
  • Users テーブル: ユーザー ID、ユーザー名、パスワードなどのユーザー情報を保存します。
  • 借入テーブル: 借入 ID、書籍 ID、ユーザー ID、借用日、返却日などを含む書籍の借用記録を保存します。

以下はテーブルを作成する MySQL コードの例です:

CREATE TABLE books (
    book_id INT PRIMARY KEY,
    title VARCHAR(100),
    author VARCHAR(100),
    publication_date DATE
);

CREATE TABLE users (
    user_id INT PRIMARY KEY,
    username VARCHAR(100),
    password VARCHAR(100)
);

CREATE TABLE borrowings (
    borrowing_id INT PRIMARY KEY,
    book_id INT,
    user_id INT,
    borrowing_date DATE,
    return_date DATE,
    FOREIGN KEY (book_id) REFERENCES books(book_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);

ステップ 2: C コードの実装
次に、C を使用して MySQL データベースにリンクし、ライブラリ管理システムのさまざまな機能を実装するコードを作成します。

まず、必要な C ヘッダー ファイルをインクルードする必要があります:

#include <iostream>
#include <mysql.h>

次に、MySQL データベースに接続するための connect 関数を作成する必要があります:

MYSQL* connect() {
    MYSQL* conn;
    conn = mysql_init(NULL);
    if (conn == NULL) {
        std::cout << "Failed to initialize mysql client library" << std::endl;
        exit(1);
    }
    if (mysql_real_connect(conn, "localhost", "username", "password", "database_name", 0, NULL, 0) == NULL) {
        std::cout << "Failed to connect to database" << std::endl;
        exit(1);
    }
    return conn;
}

次に、本の追加、本の削除、本の貸し出し、本の返却など、さまざまな機能を実装できます。以下は、書籍をデータベースに追加するサンプル関数 addBook です:

void addBook(MYSQL* conn, int book_id, std::string title, std::string author, std::string publication_date) {
    std::string query = "INSERT INTO books (book_id, title, author, publication_date) VALUES ("
                      + std::to_string(book_id) + ",'" + title + "','" + author + "','" + publication_date + "')";
    if (mysql_query(conn, query.c_str()) != 0) {
        std::cout << mysql_error(conn) << std::endl;
    }
}

最後に、さまざまな機能関数をテストする main 関数を作成できます:

int main() {
    MYSQL* conn = connect();
    addBook(conn, 1, "C++ Primer", "Stanley B. Lippman", "1998-10-01");
    // ... 其他功能函数的调用

    mysql_close(conn);
    return 0;
}

概要:
この記事を通じて、MySQL と C を使用してコマンド ライン ベースのライブラリ管理システムを開発する方法を学びました。データベース設計から C コード実装まで、開発プロセス全体をカバーし、具体的なコード例を提供します。この基盤により、私たちは独自のニーズに合わせて図書館管理システムをさらに拡張し、改善することができます。

以上がMySQL と C++ を使用してコマンド ライン ベースのライブラリ管理システムを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。