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

