C語言實(shí)現(xiàn)圖書管理系統(tǒng)開發(fā)
本文實(shí)例為大家分享了C語言實(shí)現(xiàn)圖書管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
程序介紹
圖書管理系統(tǒng)主要有以下功能:
1、錄入圖書信息。
2、實(shí)現(xiàn)刪除功能,即輸入圖書號(hào)刪除相應(yīng)的記錄。
3、實(shí)現(xiàn)查找功能,即輸入圖書號(hào)或圖書名查詢?cè)摃嚓P(guān)信息
4、實(shí)現(xiàn)修改功能,即輸入圖書號(hào)或圖書名修改相應(yīng)信息。
5、添加會(huì)員信息,只有會(huì)員才可借書。
6、實(shí)現(xiàn)借書功能,即輸入圖書號(hào)及會(huì)員號(hào)進(jìn)行借書。
7、實(shí)現(xiàn)還書功能,還書時(shí)也同樣需輸入圖書號(hào)及會(huì)員號(hào)。
8、保存添加的圖書信息。
9、保存添加的會(huì)員信息。
代碼
#include <stdio.h> #include <windows.h> #include <mysql.h> #pragma ?comment(lib,"libmysql.lib") /*定義數(shù)據(jù)庫相關(guān)操作變量*/ MYSQL mysql; ? ? ? ? ?// MYSQL_RES *result; ? ?//定義結(jié)果集變量 MYSQL_ROW row; ? ? ? ?//定義行變量 char ch[2]; void ShowAll(); ? ? ? /*顯示所有的圖書信息*/ void AddBook(); ? ? ? /*添加圖書信息*/ void ModifyBook(); ? ?/*修改圖書信息*/ void DeleteBook(); ? ?/*刪除圖書信息*/ void QueryBook(); ? ? /*查詢圖書信息*/ /*顯示菜單*/ void showmenu() { ? ? system("cls"); ? ? printf("\n\n\n\n\n"); ? ? printf("\t╔═══════════════════════════╗\n"); ? ? printf("\t║ ? ? ? ? ? ?Welcome To Lemon Books System ? ? ? ? ? ? ║\n"); ? ? printf("\t╠═══════════════════════════╣\n"); ? ? printf("\t║\t\t 1 - 顯示所有圖書信息 ? ? ? ? ? ? ? ? ? ║\n"); ? ? printf("\t║\t\t 2 - 添加圖書信息 ? ? ? ? ? ? ? ? ? ? ? ║\n"); ? ? printf("\t║\t\t 3 - 修改圖書信息 ? ? ? ? ? ? ? ? ? ? ? ║\n"); ? ? printf("\t║\t\t 4 - 刪除圖書信息 ? ? ? ? ? ? ? ? ? ? ? ║\n"); ? ? printf("\t║\t\t 5 - 查詢圖書信息 ? ? ? ? ? ? ? ? ? ? ? ║\n"); ? ? printf("\t║\t\t 6 - 退出 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ║\n"); ? ? printf("\t╚═══════════════════════════╝\n"); ? ? printf("\n ? ? ? ? ? ? ?ENTER YOUR CHOICE(1-6):"); ? ?? } void inquire() ?/*詢問用戶是否顯示主菜單*/ { ? ? printf("\t 顯示主菜單?(y/n):"); ? ? scanf("%s",ch); ? ? if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判斷是否要顯示查找到的信息*/ ? ? { ? ? ? ? showmenu(); ? /*顯示菜單*/? ? ? } ? ? else ? ? { ? ? ? ? exit(0); ? ? } } /*顯示主菜單,連接數(shù)據(jù)庫*/ int main() { ? ? int n ; ? //定義變量 ?存儲(chǔ)用戶輸入的編號(hào) ? ?? ? ? mysql_init(&mysql); ?//初始化mysql結(jié)構(gòu) ? ?? ? ? showmenu(); ? /*顯示菜單*/? ? ?? ? ? scanf("%d",&n);/*輸入選擇功能的編號(hào)*/ ? ?? ? ? while(n) ? ? {? ? ? ? ? switch(n) ? ? ? ? { ? ? ? ? ? ? case 1:? ? ? ? ? ? ? ? ? ShowAll(); ? ?/*調(diào)用顯示所有圖書數(shù)據(jù)的過程*/ ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case 2:? ? ? ? ? ? ? ? ? AddBook(); ? /*添加圖書信息*/ ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case 3:? ? ? ? ? ? ? ? ? ModifyBook(); ? ? /*修改圖書信息*/ ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case 4: ? ? ? ? ? ? ? ? DeleteBook(); ? /*刪除圖書信息*/ ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case 5: ? ? ? ? ? ? ? ? QueryBook(); ? /*查詢圖書信息*/ ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case 6: ? ? ? ? ? ? ? ? exit(0); ? ? ? /*退出*/ ? ? ? ? ? ? default:break; ? ? ? ? } ? ? ? ? scanf("%d",&n); ? ? } } void ShowAll() ? ?/*調(diào)用顯示所有圖書數(shù)據(jù)的過程*/ { ?? ? ? ? /*連接數(shù)據(jù)庫*/ ? ? if(!mysql_real_connect(&mysql,"localhost","root","root","db_books",3306,NULL,0)) ? ? {? ? ? ? ? printf("\n\t 不能連接數(shù)據(jù)庫!\n"); ? ? } ? ? else ? ? { ? ? ? ? /*數(shù)據(jù)庫連接成功*/ ? ? ? ? if(mysql_query(&mysql,"select * from tb_book")) ? ? ? ? { ? //如果查詢失敗 ? ? ? ? ? ? printf("\n\t 查詢 tb_book 數(shù)據(jù)表失敗!\n"); ? ? ? ? } ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? result=mysql_store_result(&mysql); //獲得結(jié)果集 ? ? ? ? ? ? if(mysql_num_rows(result)!=NULL) ? ? ? ? ? ? { ?//有記錄的情況,只有有記錄取數(shù)據(jù)才有意義 ? ? ? ? ? ? ? ? printf("\t ════════════════════════════ \n"); ? ? ? ? ? ? ? ? printf("\t ? ? ? ? ? ? ? ? 顯 示 所 有 圖 書 信 息 ? ? ? ? ? ? ? ? ?\n"); ? ? ? ? ? ? ? ? printf("\t ════════════════════════════ \n"); ? ? ? ? ? ? ? ? printf("\t ?圖書編號(hào) ? ? ? 圖書名 ? ? ? ? 作者 ? ? ? ?出版社 ? ? ?\n"); ? ? ? ? ? ? ? ? printf("\t -------------------------------------------------------- \n"); ? ? ? ? ? ? ? ? while((row=mysql_fetch_row(result))) ? ? ? ? ? ? ? ? { ? //取出結(jié)果集中記錄 ? ? ? ? ? ? ? ? ? ? fprintf(stdout,"\t ? ? %s ? ? ? ? ? ? %s ? ? ? ? ? ?%s ? ? ? ? %s ? \n",row[0],row[1],row[2],row[3]); ?//輸出這行記錄 ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? printf("\t ════════════════════════════ \n"); ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? printf("\n\t 沒有記錄信息 !\n"); ? ? ? ? ? ? } ? ? ? ? ? ? mysql_free_result(result); ? ?//釋放結(jié)果集 ? ? ? ? } ? ? ? ? mysql_close(&mysql); ? ? ? ? ?//釋放連接 ? ? } ? ? inquire(); ? /*詢問是否顯示主菜單*/ ?? ? } void AddBook() ? ?/*添加圖書信息*/ { ? ? int rowcount; ? /*結(jié)果集中的行數(shù)*/ ? ? char id[10]; ? ? ? /*編號(hào)*/ ? ? char *bookname; ? ? char *author; ? ? char *bookconcern; ? ?? ? ? char *sql; ? ? ? ? char dest[500] ={" ?"}; ? ? ? ?? ? ? /*連接數(shù)據(jù)庫*/ ? ? if(!mysql_real_connect(&mysql,"127.0.0.1","root","root","db_books",0,NULL,0)) ? ? {? ? ? ? ? printf("\n\t 不能連接數(shù)據(jù)庫!\n"); ? ? } ? ? else ? ? { ? ? ? ? /*數(shù)據(jù)庫連接成功,插入數(shù)據(jù)*/ ?? ? ? ? ? printf("\t ════════════════════════════ \n"); ? ? ? ? printf("\t ? ? ? ? ? ? ? ? ? ? 添 加 圖 書 信 息 ? ? ? ? ? ? ? ? ? ?\n"); ? ? ? ? printf("\t ════════════════════════════ \n"); ? ? ? ? if(mysql_query(&mysql,"select * from tb_book")) ? ? ? ? { ? //如果查詢失敗 ? ? ? ? ? ? printf("\n\t 查詢 tb_book 數(shù)據(jù)表失敗!\n"); ? ? ? ? } ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? result=mysql_store_result(&mysql); //獲得結(jié)果集 ? ? ? ? ? ? rowcount=mysql_num_rows(result) ; ?//獲得行數(shù) ? ? ? ? ? ? row=mysql_fetch_row(result); ? ? ? //獲取結(jié)果集的行 ? ? ? ? ? ? ?? ? ? ? ? ? ? printf("\t 圖書編號(hào):"); ? ? ? ? ? ? scanf("%s",id); ? /*輸入圖書編號(hào)*/ ? ? ? ? ? ? ? ?? ? ? ? ? ? ? sql="insert into tb_book (ID,bookname,author,bookconcern) values ("; ? ? ? ? ? ? strcat(dest,sql); ? ? ? ? ? ? strcat(dest,"'"); ? ? ? ? ? ? strcat(dest,id); ? ? ? ? ? ? strcat(dest,"', '"); ? ? ? ? ? ? if(mysql_num_rows(result)!=NULL) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /*判斷輸入的編號(hào)是否存在*/ ? ? ? ? ? ? ? ? do ? ? ? ? ? ? ? ? { ? //存在相同編號(hào) ? ? ? ? ? ? ? ? ? ? if(!strcmp(id,row[0])) ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? // ?printf("%s",row[0]); ? ? ? ? ? ? ? ? ? ? ? ? printf("\n\t 記錄存在,按任意鍵繼續(xù)!\n"); ? ? ? ? ? ? ? ? ? ? ? ? getch(); ? ? ? ? ? ? ? ? ? ? ? ? mysql_free_result(result); ? /*釋放結(jié)果集*/? ? ? ? ? ? ? ? ? ? ? ? ? mysql_close(&mysql); ? ? ? ? /*釋放連接*/ ? ? ? ? ? ? ? ? ? ? ? ? ? inquire(); ? /*詢問是否顯示主菜單*/ ? ? ? ? ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? }while(row=mysql_fetch_row(result)); ? ? ? ? ? ? ? } ? ? ? ? ? ?? ? ? ? ? ? ? bookname = (char*)malloc(50); ? ? ? ? ? ? author = (char*)malloc(50); ? ? ? ? ? ? bookconcern = (char*)malloc(50); ? ? ? ? ? ?? ? ? ? ? ? ? //不存在相同的編號(hào) ? ? ? ? ? ? ? ? ? ? ? ? printf("\t 圖書名:"); ? ? ? ? ? ? scanf("%s",bookname); ? /*輸入圖書名*/ ? ? ? ? ? ? strcat(dest,bookname); ? ?/*將圖書編號(hào)追加到sql語句后面*/ ? ? ? ? ? ?? ? ? ? ? ? ? printf("\t 作者:"); ? ? ? ? ? ? scanf("%s",author); ? ?/*輸入作者*/ ? ? ? ? ? ? strcat(dest,"', '"); ? ? ? ? ? ? strcat(dest,author); ? ? ? ? ? ?? ? ? ? ? ? ? printf("\t 出版社:"); ? ? ? ? ? ? scanf("%s",bookconcern); ? ?/*輸入出版社*/ ? ? ? ? ? ? strcat(dest,"', '"); ? ? ? ? ? ? strcat(dest,bookconcern); ? ? ? ? ? ? strcat(dest,"')"); ? ? ? ? ? ? //printf("%s",dest); ? ? ? ? ? ?? ? ? ? ? ? ? if ( mysql_query(&mysql,dest)!=0) ?? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? fprintf(stderr,"\t 不能插入記錄!",mysql_error(&mysql)); ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? printf("\t 插入成功!\n"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? mysql_free_result(result); ? ?//釋放結(jié)果集 ? ? ? ? } ? ? ? ? mysql_close(&mysql); ? ? ? ? ?//釋放連接 ? ? } ? ? exit(0); } ?? void ModifyBook() ? /*修改圖書信息*/ { ? ? char id[10]; ? /*結(jié)果集中的行數(shù)*/ ? ? char *sql; ? ? ? ? char dest[500] ={" ?"}; ? ? char dest1[500] ={" ?"}; ? ?? ? ? char *bookname; ? ? char *author; ? ? char *bookconcern; ? ?? ? ? if (!mysql_real_connect(&mysql,"127.0.0.1","root","root","db_books",0,NULL,0)) ? ? { ? ? ? ? printf("\t 不能連接數(shù)據(jù)庫!\n"); ? ? } ? ? else ? ? { ? ? ? ? /*數(shù)據(jù)庫連接成功*/ ? ? ? ? // printf("連接成功"); ? ? ? ? printf("\t 請(qǐng)輸入您想要修改的圖書編號(hào)."); ? ? ? ?? ? ? ? ? scanf("%s",id); ? /*輸入圖書編號(hào)*/ ? ? ? ? sql = "select * from tb_book where id="; ? ? ? ? strcat(dest,sql); ? ? ? ? strcat(dest,id); ? ?/*將圖書編號(hào)追加到sql語句后面*/ ? ? ? ?? ? ? ? ? //printf("%s\n",dest); ? ? ? ?? ? ? ? ? /*查詢?cè)搱D書信息是否存在*/ ? ? ? ? if(mysql_query(&mysql,dest)) ? ? ? ? { ? //如果查詢失敗 ? ? ? ? ? ? printf("\n ?查詢 tb_book 數(shù)據(jù)表失敗! \n"); ? ? ? ? } ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? result=mysql_store_result(&mysql); //獲得結(jié)果集 ? ? ? ? ? ? if(mysql_num_rows(result)!=NULL) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? //有記錄的情況,只有有記錄取數(shù)據(jù)才有意義 ? ? ? ? ? ? ? ? printf("\t 發(fā)現(xiàn)記錄信息,是否顯示?(y/n) "); ? ? ? ? ? ? ? ? scanf("%s",ch); ? ? ? ? ? ? ? ? if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判斷是否要顯示查找到的信息*/ ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? printf("\t ════════════════════════════ \n"); ? ? ? ? ? ? ? ? ? ? printf("\t ? ? ? ? ? ? ? ***** 顯示圖書信息 ***** ? ? ? ? ? ? ? ? ? \n"); ? ? ? ? ? ? ? ? ? ? printf("\t ════════════════════════════ \n"); ? ? ? ? ? ? ? ? ? ? printf("\t圖書編號(hào) ? ? ? 圖書名 ? ? ? ? 作者 ? ? ? ?出版社 ? ? ?\n"); ? ? ? ? ? ? ? ? ? ? printf("\t -------------------------------------------------------- \n"); ? ? ? ? ? ? ? ? ? ? while((row=mysql_fetch_row(result))) ? ? ? ? ? ? ? ? ? ? { ? //取出結(jié)果集中記錄 ? ? ? ? ? ? ? ? ? ? ? ? fprintf(stdout,"\t ? %s ? ? ? ? ? ? %s ? ? ? ? ? ? %s ? ? ? ? ?%s ? \n",row[0],row[1],row[2],row[3]); ?//輸出這行記錄 ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? printf("\t ════════════════════════════ \n"); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? printf("\t Modify?(y/n)"); ? ? ? ? ? ? ? ? scanf("%s",ch); ? ? ? ? ? ? ? ? if (strcmp(ch,"Y")==0||strcmp(ch,"y")==0) ? ?/*判斷是否需要錄入*/ ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? sql = "update tb_book set bookname= '"; ? ? ? ? ? ? ? ? ? ? strcat(dest1,sql); ? ? ? ? ? ? ? ? ? ? // ? printf("%s",sql); ? ? ? ? ? ? ? ? ? ? bookname = (char*)malloc(20); ? ? ? ? ? ? ? ? ? ? author = (char*)malloc(20); ? ? ? ? ? ? ? ? ? ? bookconcern = (char*)malloc(20); ? ? ? ? ? ? ? ? ? ? printf("\t 圖書名:"); ? ? ? ? ? ? ? ? ? ? scanf("%s",bookname); ? /*輸入圖書名*/ ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? strcat(dest1,bookname);? ? ? ? ? ? ? ? ? ? ? // ?printf("%s",&bookname); ? ? ? ? ? ? ? ? ? ? printf("\t 作者:"); ? ? ? ? ? ? ? ? ? ? scanf("%s",author); ? ?/*輸入作者*/ ? ? ? ? ? ? ? ? ? ? strcat(dest1,"', author= '"); ? ? ? ? ? ? ? ? ? ? strcat(dest1,author); ? ?/*追加sql語句*/ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? printf("\t 出版社:"); ? ? ? ? ? ? ? ? ? ? scanf("%s",bookconcern); ? ?/*輸入出版社*/ ? ? ? ? ? ? ? ? ? ? strcat(dest1,"', bookconcern = '"); ? ? ? ? ? ? ? ? ? ? strcat(dest1,bookconcern); ? ?/*追加sql語句*/ ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? strcat(dest1,"' where id= "); ? ? ? ? ? ? ? ? ? ? strcat(dest1,id); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? //printf("%s",dest1); ? ? ? ? ? ? ? ? ? ? if(mysql_query(&mysql,dest1)!=0) ? ? ? ? ? ? ? ? ? ? { ?? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(stderr,"\t 不能修改記錄!\n",mysql_error(&mysql)); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? else ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? printf("\t 修改成功!\n"); ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ?? ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? printf("\t 沒有發(fā)現(xiàn)要修改的信息!\n"); ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? mysql_free_result(result); ? ? ? ? ?//釋放結(jié)果集 ? ? } ? ? mysql_close(&mysql); ? ? //釋放連接 ? ? exit(0); } void DeleteBook() ? /*刪除圖書信息*/ { ? ? char id[10]; ? /*結(jié)果集中的行數(shù)*/ ? ? char *sql; ? ? char dest[100] ={" ?"}; ? ? char dest1[100] ={" ?"}; ? ? if(!mysql_real_connect(&mysql,"127.0.0.1","root","root","db_books",0,NULL,0)) ? ? { ? ? ? ? printf("\t 不能連接數(shù)據(jù)庫!\n"); ? ? } ? ? else ? ? { ? ? ? ? printf("\t 請(qǐng)輸入您想要?jiǎng)h除的圖書編號(hào). "); ? ? ? ? ? ? ? ? scanf("%s",id); ? /*輸入圖書編號(hào)*/ ? ? ? ? sql = "select * from tb_book where id="; ? ? ? ? strcat(dest,sql); ? ? ? ? strcat(dest,id); ? ?/*將圖書編號(hào)追加到sql語句后面*/ ? ? ? ? ? ? ? ? //printf("%s\n",dest); ? ? ? ?? ? ? ? ? /*查詢?cè)搱D書信息是否存在*/ ? ? ? ? if(mysql_query(&mysql,dest)) ? ? ? ? { ? //如果查詢失敗 ? ? ? ? ? ? printf("\n 查詢 tb_book 數(shù)據(jù)表失敗! \n"); ? ? ? ? } ? ? ? ? else ? ? ? ? {? ? ? ? ? ? ? result=mysql_store_result(&mysql); //獲得結(jié)果集 ? ? ? ? ? ? if(mysql_num_rows(result)!=NULL) ? ? ? ? ? ? { ?//有記錄的情況,只有有記錄取數(shù)據(jù)才有意義 ? ? ? ? ? ? ? ? printf("\t 發(fā)現(xiàn)記錄信息,是否顯示?(y/n) "); ? ? ? ? ? ? ? ? scanf("%s",ch); ? ? ? ? ? ? ? ? if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判斷是否要顯示查找到的信息*/ ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? printf("\t ════════════════════════════ \n"); ? ? ? ? ? ? ? ? ? ? printf("\t ? ? ? ? ? ? ? ***** 顯示圖書信息 ***** ? ? ? ? ? ? ? ? ? \n"); ? ? ? ? ? ? ? ? ? ? printf("\t ════════════════════════════ \n"); ? ? ? ? ? ? ? ? ? ? printf("\t圖書編號(hào) ? ? ? 圖書名 ? ? ? ? 作者 ? ? ? ?出版社 ? ? ?\n"); ? ? ? ? ? ? ? ? ? ? printf("\t -------------------------------------------------------- \n"); ? ? ? ? ? ? ? ? ? ? while((row=mysql_fetch_row(result))) ? ? ? ? ? ? ? ? ? ? { ? //取出結(jié)果集中記錄 ? ? ? ? ? ? ? ? ? ? ? ? fprintf(stdout,"\t ? %s ? ? ? ? ? ? %s ? ? ? ? ? ? %s ? ? ? ? ?%s ? \n",row[0],row[1],row[2],row[3]); ?//輸出這行記錄 ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? printf("\t ════════════════════════════ \n"); ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? printf("\t 是否刪除?(y/n) "); ? ? ? ? ? ? ? ? ? ? scanf("%s",ch); ? ? ? ? ? ? ? ? ? ? if (strcmp(ch,"Y")==0||strcmp(ch,"y")==0) ? ?/*判斷是否需要錄入*/ ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? sql = "delete from tb_book where ID= "; ? ? ? ? ? ? ? ? ? ? ? ? printf("%s",dest1); ? ? ? ? ? ? ? ? ? ? ? ? strcat(dest1,sql); ? ? ? ? ? ? ? ? ? ? ? ? strcat(dest1,id); ? ? ? ? ? ? ? ? ? ? ? ?// printf("%s",dest1); ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? if(mysql_query(&mysql,dest1)!=0) ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? fprintf(stderr,"\t 不能刪除記錄! \n",mysql_error(&mysql)); ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? ? ? else ? ? ? ? ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("\t 刪除成功!\n"); ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? printf("\t 沒有發(fā)現(xiàn)要?jiǎng)h除的信息!\n"); ? ? ? ? ? ? } ? ? ? ? } ? ? ? ? mysql_free_result(result); ? ?//釋放結(jié)果集 ? ? } ? ? mysql_close(&mysql); ? ?exit(0); ?? } void QueryBook() ? /*查詢圖書信息*/ { ? ?? ? ? char id[10]; ? /*結(jié)果集中的行數(shù)*/ ? ? char *sql; ? ? char dest[100] ={" ?"}; ? ?? ? ? if(!mysql_real_connect(&mysql,"127.0.0.1","root","root","db_books",0,NULL,0)) ? ? { ? ? ? ? printf("\t 不能連接數(shù)據(jù)庫!\n"); ? ? } ? ? else ? ? { ? ? ? ? ? printf("\t 請(qǐng)輸入您想要查詢的圖書編號(hào):"); ? ? ? ? ? ? ? ? scanf("%s",id); ? /*輸入圖書編號(hào)*/ ? ? ? ? sql = "select * from tb_book where id="; ? ? ? ? strcat(dest,sql); ? ? ? ? strcat(dest,id); ? ?/*將圖書編號(hào)追加到sql語句后面*/ ? ? ? ? ? ? ? ?? ? ? ? ? if(mysql_query(&mysql,dest)) ? ? ? ? { ? //如果查詢失敗 ? ? ? ? ? ? printf("\n 查詢 tb_book 數(shù)據(jù)表失敗!\n"); ? ? ? ? } ? ? ? ? else ? ? ? ? { ? ? ? ? ? ? result=mysql_store_result(&mysql); //獲得結(jié)果集 ? ? ? ? ? ? if(mysql_num_rows(result)!=NULL) ? ? ? ? ? ? { ?//有記錄的情況,只有有記錄取數(shù)據(jù)才有意義 ? ? ? ? ? ? ? ? printf("\t ════════════════════════════ \n"); ? ? ? ? ? ? ? ? printf("\t ? ? ? ? ? ? ? ? ? ? ? ? ?顯示圖書信息 ? ? ? ? ? ? ? ? ? ? ?\n"); ? ? ? ? ? ? ? ? printf("\t ════════════════════════════ \n"); ? ? ? ? ? ? ? ? printf("\t圖書編號(hào) ? ? ? 圖書名 ? ? ? ? 作者 ? ? ? ?出版社 ? ? ?\n"); ? ? ? ? ? ? ? ? printf("\t -------------------------------------------------------- \n"); ? ? ? ? ? ? ? ? while((row=mysql_fetch_row(result))) ? ? ? ? ? ? ? ? { ? //取出結(jié)果集中記錄 ? ? ? ? ? ? ? ? ? ? fprintf(stdout,"\t ? %s ? ? ? ? ? ? %s ? ? ? ? ? ? %s ? ? ? ? ?%s ? \n",row[0],row[1],row[2],row[3]); ?//輸出這行記錄 ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? printf("\t ════════════════════════════ \n"); ? ? ? ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? else ? ? ? ? ? ? { ? ? ? ? ? ? ? ? printf("\t 沒有發(fā)現(xiàn)要查詢的信息!\n"); ? ? ? ? ? ? } ? ? ? ? ? ? mysql_free_result(result); ? ?//釋放結(jié)果集 ? ? ? ? } ? ? ? ? mysql_close(&mysql); ? ? ? ? ?//釋放連接 ? ? } ? ? exit(0); }
以上就是本文的全部內(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)
- C語言實(shí)現(xiàn)圖書管理系統(tǒng)(文件數(shù)據(jù)庫)
- C語言單鏈表實(shí)現(xiàn)圖書管理系統(tǒng)
相關(guān)文章
C語言詳解關(guān)鍵字sizeof與unsigned及signed的用法
這篇文章主要為大家詳細(xì)介紹了C語言關(guān)鍵字sizeof&&unsigned&&signed,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06淺析C語言中printf(),sprintf(),scanf(),sscanf()的用法和區(qū)別
以下是對(duì)C語言中printf(),sprintf(),scanf(),sscanf()的用法以及區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下2013-07-07深度剖析C++對(duì)象池自動(dòng)回收技術(shù)實(shí)現(xiàn)
今天小編就為大家分享一篇關(guān)于深度剖析C++對(duì)象池自動(dòng)回收技術(shù)實(shí)現(xiàn),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01嵌入式C實(shí)戰(zhàn)項(xiàng)目開發(fā)技巧:對(duì)一個(gè)有規(guī)律的數(shù)組表進(jìn)行位移操作的方法
今天小編就為大家分享一篇關(guān)于嵌入式C實(shí)戰(zhàn)項(xiàng)目開發(fā)技巧:對(duì)一個(gè)有規(guī)律的數(shù)組表進(jìn)行位移操作的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12使用C/C++讀取matlab中.mat格式數(shù)據(jù)的操作
這篇文章給大家介紹了使用C/C++讀取matlab中.mat格式數(shù)據(jù)的操作,文中通過圖文結(jié)合的方式介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-12-12