C語言實(shí)現(xiàn)圖書館管理系統(tǒng)
更新時(shí)間:2021年07月28日 09:23:06 作者:編程乖乖
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)圖書館管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了C語言實(shí)現(xiàn)圖書館管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
全部代碼如下:
#include <stdio.h> #include<string.h> #include<stdlib.h> #include <mysql.h> #pragma comment (lib,"libmysql.lib") //#pragma comment ( lib,"xxx.lib" ) //表示鏈接xxx.lib這個(gè)庫,告訴編譯器你要用到xxx.lib庫 //和在工程設(shè)置裡寫上鍊入xxx.lib的效果一樣,不過這種方法寫的程序別人在使用你的代碼的時(shí)候就不用再設(shè)置工程settings了。 MYSQL mysql; MYSQL_RES *result; //定義結(jié)果集變量 MYSQL_ROW row; //定義行變量 char ch[2]; void inquire() { void menu(); printf("\n\t顯示主清單<y/n>\n"); scanf("%s", ch); if (strcmp(ch, "y") == 0 || strcmp(ch, "Y") == 0) { menu(); } else exit(0); } void ShowAll() { system("cls"); mysql_init(&mysql); mysql_query(&mysql, "set names 'utf8'"); if (!mysql_real_connect(&mysql, "localhost", "root", "密碼", "db_book", 0, NULL, 0)) printf("\ncan't connect db_book!\n"); else { if (mysql_query(&mysql, "select * from tb_book")) { printf("查詢失敗\n"); } else { puts("\t|=====================================================|\n"); puts("\t| 顯 示 所 有 圖 書 信 息 |\n"); puts("\t|=====================================================|\n"); puts("\t| 圖書編號(hào) 圖書名 作者 出版社 |\n"); result = mysql_store_result(&mysql); if (mysql_num_rows(result)) { while (row = mysql_fetch_row(result)) { printf("\t\t%s\t %s\t %s\t %s\n", row[0], row[1], row[2], row[3]); } } mysql_free_result(result); } puts("\t|=====================================================|\n"); getchar(); mysql_close(&mysql);//關(guān)閉連接 } } void AddBook() { char id[10]; char bookname[10],author[10], bookconcern[10], *sql; char dest[100] = { " " }; system("cls"); mysql_init(&mysql); if (!mysql_real_connect(&mysql, "localhost", "root", "xin088748*", "db_book", 0, NULL, 0)) printf("can not connect\n"); else { if (mysql_query(&mysql, "select * from tb_book")) { printf("can not open\n"); } else { result = mysql_store_result(&mysql); mysql_num_rows(result); row = mysql_fetch_row(result); printf("\tID:"); scanf("%s", id); if (mysql_num_rows(result)) { do { if (!strcmp(id, row[0])) { printf("\t記錄存在"); getchar(); mysql_free_result(result); mysql_close(&mysql); return; } } while (row = mysql_fetch_row(result)); } printf("\t圖書名:"); scanf("%s", bookname); printf("\t作者:"); scanf("%s", author); printf("\t出版社:"); scanf("%s", bookconcern); sql = "insert into tb_book (ID,bookname,author,bookconcern) values('"; strcat(dest, sql); strcat(dest, id); strcat(dest, "','"); strcat(dest, bookname); strcat(dest, "','"); strcat(dest, author); strcat(dest, "','"); strcat(dest, bookconcern); strcat(dest, "')"); if (mysql_query(&mysql, dest)) //fprintf(stderr, "error!", mysql_error(&mysql)); printf("error!\n"); else { mysql_free_result(result); } } mysql_close(&mysql);//關(guān)閉連接 } } void ModifyBook() { system("cls"); char dest[100]; mysql_init(&mysql); mysql_query(&mysql, "set name 'utf8'"); if (!mysql_real_connect(&mysql, "localhost", "root", "xin088748*", "db_book", 0, NULL, 0)) { puts("can't net mysql\n"); return; } else { char id[10],*sql; char dest[100] = {" "}; printf("請(qǐng)輸入你要修改的圖書編號(hào):"); scanf("%s", id); sql = "select * from tb_book where ID = "; strcat(dest, sql); strcat(dest, id); if (mysql_query(&mysql, dest)) { printf("\n 查詢數(shù)據(jù)表失敗\n"); } else { result = mysql_store_result(&mysql); if (mysql_num_rows(result)) { puts("\t|=====================================================|\n"); puts("\t| 顯 示 所 有 圖 書 信 息 |\n"); puts("\t|=====================================================|\n"); puts("\t| 圖書編號(hào) 圖書名 作者 出版社 |\n"); while (row = mysql_fetch_row(result)) { printf("\t\t%s\t %s\t %s\t %s\n", row[0], row[1], row[2], row[3]); } printf("Mondify? <y/n>\n"); scanf("%s", ch); if (!strcmp(ch, "Y") || !strcmp(ch, "y")) { char bookname[10], author[10], bookconcern[10]; char dest1[100] = {" "}; printf("\t圖書名:"); scanf("%s", bookname); printf("\t作者:"); scanf("%s", author); printf("\t出版社:"); scanf("%s", bookconcern); sql = "update tb_book set bookname = '"; strcat(dest1, sql); strcat(dest1, bookname); strcat(dest1, "',author = '"); strcat(dest1, author); strcat(dest1, "',bookconcern = '"); strcat(dest1, bookconcern); strcat(dest1, "' where ID = '"); strcat(dest1, id); strcat(dest1, "'"); if (mysql_query(&mysql,dest1)) printf("修改失敗\n"); else printf("修改成功\n"); } } else { printf("沒有發(fā)現(xiàn)要修改的信息\n"); } mysql_free_result(result); } } mysql_close(&mysql); } void DeleteBook() { system("cls"); mysql_init(&mysql); if (!mysql_real_connect(&mysql, "localhost", "root", "xin088748*", "db_book", 0, NULL, 0)) { printf("can't net mysql\n"); } else { printf("你想要?jiǎng)h除的編號(hào):"); char id[10]; scanf("%s", id); char dest[100] = { " " }; char *sql; sql = "select * from tb_book where ID = "; strcat(dest, sql); strcat(dest, id); if (mysql_query(&mysql, dest)) { printf("\n 查詢數(shù)據(jù)表失敗\n"); } else { result = mysql_store_result(&mysql); if (mysql_num_rows(result)) { puts("\t|=====================================================|\n"); puts("\t| 顯 示 所 有 圖 書 信 息 |\n"); puts("\t|=====================================================|\n"); puts("\t| 圖書編號(hào) 圖書名 作者 出版社 |\n"); while (row = mysql_fetch_row(result)) { printf("\t\t%s\t %s\t %s\t %s\n", row[0], row[1], row[2], row[3]); } printf("Delete? <y/n>\n"); scanf("%s", ch); if (!strcmp(ch, "Y") || !strcmp(ch, "y")) { char dest1[100] = { " " }; sql = "delete from tb_book where ID = "; strcat(dest1, sql); strcat(dest1, id); printf("\n%s\t", dest1); if (mysql_query(&mysql, dest1)) printf("刪除失敗\n"); else printf("刪除成功\n"); } } else puts("沒有查詢到此數(shù)據(jù)\n"); mysql_free_result(result); } } mysql_close(&mysql); } void Querybook() { system("cls"); mysql_init(&mysql); if (!mysql_real_connect(&mysql, "localhost", "root", "xin088748*", "db_book", 0, NULL, 0)) { puts("can't net mysql\n"); return; } else { char id[10]; char *sql, dest[100] = {" "}; printf("請(qǐng)輸入要查詢的圖書編號(hào):\n"); scanf("%s", id); sql = "select * from tb_book where ID = "; strcat(dest, sql); strcat(dest, id); if (mysql_query(&mysql, dest)) printf("查詢失敗\n"); else { result = mysql_store_result(&mysql); if (mysql_num_rows(result)) { puts("\t|=====================================================|\n"); puts("\t| 顯 示 所 有 圖 書 信 息 |\n"); puts("\t|=====================================================|\n"); puts("\t| 圖書編號(hào) 圖書名 作者 出版社 |\n"); while (row = mysql_fetch_row(result)) { printf("\t\t%s\t %s\t %s\t %s\n", row[0], row[1], row[2], row[3]); } } else puts("沒有發(fā)現(xiàn)要查詢的數(shù)據(jù)\n"); mysql_free_result(result); } } mysql_close(&mysql); } void menu() { puts("\t|=====================================================|\n"); puts("\t| Welcome To Lemon Books System |\n"); puts("\t|=====================================================|\n"); puts("\t| 1 - 顯示所有圖書信息 |\n"); puts("\t| 2 - 添加圖書信息 |\n"); puts("\t| 3 - 修改圖書信息 |\n"); puts("\t| 4 - 刪除圖書信息 |\n"); puts("\t| 5 - 查詢圖書信息 |\n"); puts("\t| 6 - 退出圖書系統(tǒng) |\n"); puts("\t|=====================================================|\n\n"); puts("\tENTER YOUR CHOICE<1-6>\n"); int i; scanf("%d", &i); while (i > 0 && i < 7) { switch (i) { case 1:ShowAll(); inquire(); break; case 2:AddBook(); inquire(); break; case 3:ModifyBook(); inquire(); break; case 4:DeleteBook(); inquire(); break; case 5:Querybook(); inquire(); break; default:puts("enter error!please enter again\n"); exit(0); } scanf("%d",&i); } } int main() { menu(); }
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- C語言實(shí)現(xiàn)圖書管理系統(tǒng)
- C語言圖書管理系統(tǒng)簡潔版
- C語言實(shí)現(xiàn)簡單圖書管理系統(tǒng)
- C語言圖書管理系統(tǒng)課程設(shè)計(jì)
- C語言鏈表實(shí)現(xiàn)圖書管理系統(tǒng)
- C語言實(shí)現(xiàn)簡單的圖書管理系統(tǒng)
- C語言設(shè)計(jì)圖書登記系統(tǒng)與停車場管理系統(tǒng)的實(shí)例分享
- C語言實(shí)現(xiàn)圖書管理系統(tǒng)(文件數(shù)據(jù)庫)
- C語言單鏈表實(shí)現(xiàn)圖書管理系統(tǒng)
- C語言實(shí)現(xiàn)圖書管理系統(tǒng)開發(fā)
相關(guān)文章
深入解析設(shè)計(jì)模式中的適配器模式在C++中的運(yùn)用
這篇文章主要介紹了設(shè)計(jì)模式中的適配器模式在C++中的運(yùn)用,通常適配器模式可以細(xì)分為類適配器和對(duì)象適配器兩種情況,需要的朋友可以參考下2016-03-03通過c語言調(diào)用系統(tǒng)curl動(dòng)態(tài)庫的示例詳解
這篇文章中我們將通過一個(gè)簡單的示例來講解如何在Ubuntu系統(tǒng)中通過C語言調(diào)用動(dòng)態(tài)庫(共享庫)的方法,我們將使用libcurl庫,這是一個(gè)基于客戶端的URL傳輸庫,廣泛用于各種程序和應(yīng)用中以訪問網(wǎng)頁和服務(wù)器數(shù)據(jù),需要的朋友可以參考下2024-03-03使用VS2010創(chuàng)建MFC ActiveX工程項(xiàng)目
VS2010開發(fā)ActiveX有兩種方法,分別是MFC和ATL。MFC開過起來比較簡單,但是最終生成的文件比較大,ATL是專門用來開發(fā)ActiveX的,但是相對(duì)比較難,必須知道很多原理機(jī)制和API。咱先從MFC開發(fā)ActiveX開始吧。2015-06-06C語言中隊(duì)列的結(jié)構(gòu)和函數(shù)接口的使用示例
隊(duì)列只允許一端進(jìn)行插入數(shù)據(jù)操作,在另一端進(jìn)行刪除數(shù)據(jù)操作的特殊線性表,隊(duì)列具有先進(jìn)先出FIFO的性質(zhì);隊(duì)列可用數(shù)組和鏈表 的方法實(shí)現(xiàn),使用鏈表的結(jié)構(gòu)實(shí)現(xiàn)更優(yōu)一些,因?yàn)槿绻褂脭?shù)組節(jié),出隊(duì)列時(shí)刪去首元素需要將整個(gè)數(shù)組前移,效率比較低2023-02-02