c语言图书管理系统_c语言版图书管理系统

2020-02-27 其他范文 下载本文

c语言图书管理系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言版图书管理系统”。

C语言——图书管理系统

代码部分: #include #include #include #pragma comment(lib,“libmysql.lib”)

/*定义数据库相关操作变量*/ MYSQL mysql;

// MYSQL_RES *result;

//定义结果集变量 MYSQL_ROW row;

//定义行变量 char ch[2];

void ShowAll();

/*显示所有的图书信息*/ void AddBook();

/*添加图书信息*/ void ModifyBook();

/*修改图书信息*/ void DeleteBook();

/*删除图书信息*/ void QueryBook();

/*查询图书信息*/

/*显示菜单*/ void showmenu(){

system(“cls”);

printf(“nnnnn”);

printf(“t╔═══════════════════════════╗n”);

printf(“t║

Welcome To Lemon Books System

║n”);

printf(“t╠═══════════════════════════╣n”);

printf(“t║t 1添加图书信息

║n”);

printf(“t║t 3删除图书信息

║n”);

printf(“t║t 5退出

║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);

} }

/*显示主菜单,连接数据库*/ int main(){

int n;

//定义变量

存储用户输入的编号

mysql_init(&mysql);//初始化mysql结构

showmenu();

/*显示菜单*/

scanf(“%d”,&n);/*输入选择功能的编号*/

while(n)

{

switch(n)

{

case 1:

ShowAll();

/*调用显示所有图书数据的过程*/

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()

/*调用显示所有图书数据的过程*/ {

/*连接数据库*/

if(!mysql_real_connect(&mysql,“127.0.0.1”,“root”,“111”,“db_books”,0,NULL,0))

{

printf(“nt 不能连接数据库!n”);

}

else

{

/*数据库连接成功*/

if(mysql_query(&mysql,“select * from tb_book”))

{

//如果查询失败

printf(“nt 查询 tb_book 数据表失败!n”);

}

else

{

result=mysql_store_result(&mysql);//获得结果集

if(mysql_num_rows(result)!=NULL)

{ //有记录的情况,只有有记录取数据才有意义

printf(“t ════════════════════════════

n”);

printf(“t

显 示 所 有 图 书 信 息

n”);

printf(“t ════════════════════════════ n”);

printf(“t图书编号

图书名

作者

出版社

n”);

printf(“t-------------------------n”);

while((row=mysql_fetch_row(result)))

{

//取出结果集中记录

fprintf(stdout,“t

%s

%s

%s

%s

n”,row[0],row[1],row[2],row[3]);//输出这行记录

}

printf(“t ════════════════════════════ n”);

}

else

{

printf(“nt 没有记录信息!n”);

}

mysql_free_result(result);

//释放结果集

}

mysql_close(&mysql);

//释放连接

}

inquire();

/*询问是否显示主菜单*/ }

void AddBook()

/*添加图书信息*/ {

int rowcount;

/*结果集中的行数*/

char id[10];

/*编号*/

char *bookname;

char *author;

char *bookconcern;

char *sql;

char dest[500] ={“

”};

/*连接数据库*/

if(!mysql_real_connect(&mysql,“127.0.0.1”,“root”,“111”,“db_books”,0,NULL,0))

{

printf(“nt 不能连接数据库!n”);

}

else

{

/*数据库连接成功,插入数据*/

printf(“t ════════════════════════════ n”);

printf(“t

添 加 图 书 信 息

n”);

printf(“t ════════════════════════════ n”);

if(mysql_query(&mysql,“select * from tb_book”))

{

//如果查询失败

printf(“nt 查询 tb_book 数据表失败!n”);

}

else

{

result=mysql_store_result(&mysql);//获得结果集

rowcount=mysql_num_rows(result);//获得行数

row=mysql_fetch_row(result);

//获取结果集的行

printf(“t 图书编号:”);

scanf(“%s”,id);

/*输入图书编号*/

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)

{

/*判断输入的编号是否存在*/

do

{

//存在相同编号

if(!strcmp(id,row[0]))

{

// printf(“%s”,row[0]);

printf(“nt 记录存在,按任意键继续!n”);

getch();

mysql_free_result(result);

/*释放结果集*/ mysql_close(&mysql);

/*释放连接*/

inquire();

/*询问是否显示主菜单*/

return;

}

}while(row=mysql_fetch_row(result));

}

bookname =(char*)malloc(50);

author =(char*)malloc(50);

bookconcern =(char*)malloc(50);

//不存在相同的编号

printf(“t 图书名:”);

scanf(“%s”,bookname);

/*输入图书名*/

strcat(dest,bookname);

/*将图书编号追加到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);

//释放结果集

}

mysql_close(&mysql);

//释放连接

}

inquire();

/*询问是否显示主菜单*/ }

void ModifyBook()

/*修改图书信息*/ {

char id[10];

/*结果集中的行数*/

char *sql;

char dest[500] ={“

”};

char dest1[500] ={“

”};

char *bookname;

char *author;

char *bookconcern;

if(!mysql_real_connect(&mysql,“127.0.0.1”,“root”,“111”,“db_books”,0,NULL,0))

{

printf(“t 不能连接数据库!n”);

}

else

{

/*数据库连接成功*/

// printf(“连接成功”);

printf(“t 请输入您想要修改的图书编号.”);

scanf(“%s”,id);

/*输入图书编号*/

sql = “select * from tb_book where id=”;

strcat(dest,sql);

strcat(dest,id);

/*将图书编号追加到sql语句后面*/

//printf(“%sn”,dest);

/*查询该图书信息是否存在*/

if(mysql_query(&mysql,dest))

{

//如果查询失败

printf(“n 查询 tb_book 数据表失败!n”);

}

else

{

result=mysql_store_result(&mysql);//获得结果集

if(mysql_num_rows(result)!=NULL)

{

//有记录的情况,只有有记录取数据才有意义

printf(“t 发现记录信息,是否显示?(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图书编号

图书名

作者

出版社

n”);

printf(“t-------------------------n”);

while((row=mysql_fetch_row(result)))

{

//取出结果集中记录

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 没有发现要修改的信息!n”);

}

}

mysql_free_result(result);

//释放结果集

}

mysql_close(&mysql);

//释放连接

inquire();

/*询问是否显示主菜单*/ }

void DeleteBook()

/*删除图书信息*/ {

char id[10];

/*结果集中的行数*/

char *sql;

char dest[100] ={“

”};

char dest1[100] ={“

”};

if(!mysql_real_connect(&mysql,“127.0.0.1”,“root”,“111”,“db_books”,0,NULL,0))

{

printf(“t 不能连接数据库!n”);

}

else

{

printf(“t 请输入您想要删除的图书编号.”);

scanf(“%s”,id);

/*输入图书编号*/

sql = “select * from tb_book where id=”;

strcat(dest,sql);

strcat(dest,id);

/*将图书编号追加到sql语句后面*/

//printf(“%sn”,dest);

/*查询该图书信息是否存在*/

if(mysql_query(&mysql,dest))

{

//如果查询失败

printf(“n 查询 tb_book 数据表失败!n”);

}

else

{

result=mysql_store_result(&mysql);//获得结果集

if(mysql_num_rows(result)!=NULL)

{ //有记录的情况,只有有记录取数据才有意义

printf(“t 发现记录信息,是否显示?(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图书编号

图书名

作者

出版社

n”);

printf(“t-------------------------n”);

while((row=mysql_fetch_row(result)))

{

//取出结果集中记录

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 没有发现要删除的信息!n”);

}

}

mysql_free_result(result);

//释放结果集

}

mysql_close(&mysql);

inquire();

/*询问是否显示主菜单*/ }

void QueryBook()

/*查询图书信息*/ {

char id[10];

/*结果集中的行数*/

char *sql;

char dest[100] ={“

”};

if(!mysql_real_connect(&mysql,“127.0.0.1”,“root”,“111”,“db_books”,0,NULL,0))

{

printf(“t 不能连接数据库!n”);

}

else

{

printf(“t 请输入您想要查询的图书编号:”);

scanf(“%s”,id);

/*输入图书编号*/

sql = “select * from tb_book where id=”;

strcat(dest,sql);

strcat(dest,id);

/*将图书编号追加到sql语句后面*/

if(mysql_query(&mysql,dest))

{

//如果查询失败

printf(“n 查询 tb_book 数据表失败!n”);

}

else

{

result=mysql_store_result(&mysql);//获得结果集

if(mysql_num_rows(result)!=NULL)

{ //有记录的情况,只有有记录取数据才有意义

printf(“t ════════════════════════════

n”);

printf(“t

显示图书信息

n”);

printf(“t ════════════════════════════ n”);

printf(“t图书编号

图书名

作者

出版社

n”);

printf(“t-------------------------n”);

while((row=mysql_fetch_row(result)))

{

//取出结果集中记录

fprintf(stdout,“t

%s

%s

%s

%s

n”,row[0],row[1],row[2],row[3]);//输出这行记录

}

printf(“t ════════════════════════════ n”);

}

else

{

printf(“t 没有发现要查询的信息!n”);

}

mysql_free_result(result);

//释放结果集

}

mysql_close(&mysql);

//释放连接

}

inquire();

/*询问是否显示主菜单*/ }

说明部分

附加MySQL数据库

将工程文件夹中的data文件夹下的db_books文件夹拷贝到本地Mysql数据库安装文件夹的data文件夹中。即可完成对数据库的附加。

连接MySql的步骤

MySQL为C语言提供了连接数据库的API,要想正常使用这些API,需要做以下两件事情:(1)包含这些API的声明文件,即mysql.h。

(2)让编译器找到这些API的可执行程序,即DLL库。下面介绍一下详细的步骤: 1.

下面解决,让编译器找到mysql.h的问题。需要在编译环境中作如下的设置: 在Visual C++ 6.0中,选择Tools(工具)/Options(选项)菜单项,如下图所示。

选择菜单命令

即可打开Options对话框,在Options对话框中选择Directories选项卡,在Show directories for下拉列表框中选择Include files选项,在Directiories列表框中添加本地安装MySQL的include目录路径。如下图所示。默认的路径应该在C:Program FilesMySQLMySQL Server 5.0include。

添加mysql.h文件

通过上述设置,编译器就可以知道MySQL的API接口中有哪些函数,以及函数的原型是怎样的。在编译时,所编写的程序已经能够通过编译(compile)这步了。

2.引入库函数

经过上一步的设置,程序已经可以编译通过了,但是编译通过并不等于可以生成可执行文件。还需要告诉编译器这些API函数的可执行文件在哪个DLL文件(libmysql.dll)中。

在工程中选择Tools/Options菜单命令,将弹出Options对话框,在该对话框中选择Directories选项卡,在Show directories for下拉列表框中选择Include files选项。添加本地安装的MySQL的Lib目录路径。默认的安装路径是C:Program FilesMySQLMySQL Server 5.0libdebug 或者C:Program

FilesMySQLMySQL Server 5.0libopt)。设置完成的效果如下图所示。

引用库

单击OK按钮,关闭Options对话框。选择Project/Settings菜单命令。如下图所示。

选择Project/Settings菜单项

下面添加libmysql.lib到工程中。选择Project/Settings菜单项,将弹出Project Settings对话框,在该对话框中选择Link选项卡。在Object/library modules文本框末尾添加libmysql.lib。如下图所示。

添加libmysql.lib到工程中

最好将libmysql.lib以及libmysql.dll文件拷贝到工程的目录下。设置完成后就可以运行程序了程序运行界面如下图所示:

C语言程序设计图书管理系统

C语言程序设计实验报告题 目: 图书管理管理系统 院 系: 信息科技学院 专 业: 姓 名: 学 号:指导教师: 杨呈勇 日 期: 09-09-181 问题定义 …………………………………………………......

图书管理系统

图书管理系统源代码#include #include cla Book{ // 书籍基类 protected: char Title[40]; // 书名 long Code; // 条码 int Type; // 0表示书,1表示杂志 public: Book();......

图书管理系统

经过大学四年理论课程的学习,以及校内校外的实践,极大的丰富了自身的理论基础,并且也具备了一些处理简单问题的能力,但即将踏上社会的我深知这还远远不够,因此我利用了毕业设计的......

图书管理系统

图书管理系统背景:当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使......

图书管理系统

课程设计任务书一、题目:二、课程设计班级及小组成员:三、课程设计起止时间:四、原始数据及主要任务:1、系统分析与设计:对系统进行调研,详细分析系统,设计出图书管理系统网络版实......

《c语言图书管理系统.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
c语言图书管理系统
点击下载文档
相关专题 c语言版图书管理系统 语言 图书管理系统 c语言版图书管理系统 语言 图书管理系统
[其他范文]相关推荐
[其他范文]热门文章
下载全文