MySQL과 C++를 사용하여 명령줄 기반 라이브러리 관리 시스템을 개발하는 방법
요약:
이 기사에서는 MySQL과 C++를 사용하여 간단한 명령줄 기반 라이브러리 관리 시스템을 개발하는 방법을 소개합니다. 데이터베이스 설계부터 C++ 코드 구현까지 전 과정을 다루고, 구체적인 코드 예시를 제공합니다.
소개:
도서 관리 시스템은 도서관이나 개인 도서 컬렉션을 관리하는 데 사용되는 일반적인 애플리케이션입니다. MySQL을 데이터베이스로, C++를 프로그래밍 언어로 사용함으로써 완전한 기능을 갖춘 도서관 관리 시스템을 쉽게 구현하고 사용자에게 편리한 도서 검색, 대출 및 반납 기능을 제공할 수 있습니다.
1단계: 데이터베이스 설계
먼저, 책과 관련 정보를 저장하기에 적합한 데이터베이스 스키마를 설계해야 합니다. 이 예에서는 다음 테이블을 사용합니다.
다음은 테이블을 생성하는 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
함수를 만들어야 합니다. connect
函数来连接到MySQL数据库:
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; } }다음으로 다양한 기능을 구현할 수 있습니다. 도서추가, 도서삭제, 도서대출, 도서반납 등의 기능을 제공합니다. 다음은 데이터베이스에 책을 추가하는 예시 함수
addBook
입니다. int main() { MYSQL* conn = connect(); addBook(conn, 1, "C++ Primer", "Stanley B. Lippman", "1998-10-01"); // ... 其他功能函数的调用 mysql_close(conn); return 0; }마지막으로 다양한 기능을 테스트하는 기본 함수를 작성할 수 있습니다.
rrreee
요약:
위 내용은 MySQL과 C++를 사용하여 명령줄 기반 라이브러리 관리 시스템을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!