C语言实现图书馆管理系统

本文实例为大家分享了C语言实现图书馆管理系统的具体代码,供大家参考,具体内容如下

全部代码如下:

#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include <mysql.h>
#pragma comment (lib,"libmysql.lib")

//#pragma comment ( lib,"xxx.lib" )
//表示鏈接xxx.lib這個庫,告訴編譯器你要用到xxx.lib庫
//和在工程設置裡寫上鍊入xxx.lib的效果一樣,不過這種方法寫的程序別人在使用你的代碼的時候就不用再設置工程settings了。

MYSQL mysql;
MYSQL_RES *result;  //定义结果集变量
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|    图书编号       图书名       作者       出版社    |\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);//关闭连接
 }
}

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);//关闭连接
 }
}

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("请输入你要修改的图书编号:");
  scanf("%s", id);
  sql = "select * from tb_book where ID = ";
  strcat(dest, sql);
  strcat(dest, id);
  if (mysql_query(&mysql, dest)) {
   printf("\n  查询数据表失败\n");
  }
  else {
   result = mysql_store_result(&mysql);
   if (mysql_num_rows(result)) {
    puts("\t|=====================================================|\n");
    puts("\t|              显 示 所 有 图 书 信 息                |\n");
    puts("\t|=====================================================|\n");
    puts("\t|    图书编号       图书名       作者       出版社    |\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("没有发现要修改的信息\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("你想要删除的编号:");
  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  查询数据表失败\n");
  }
  else {
   result = mysql_store_result(&mysql);
   if (mysql_num_rows(result)) {
    puts("\t|=====================================================|\n");
    puts("\t|              显 示 所 有 图 书 信 息                |\n");
    puts("\t|=====================================================|\n");
    puts("\t|    图书编号       图书名       作者       出版社    |\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("没有查询到此数据\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("请输入要查询的图书编号:\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|    图书编号       图书名       作者       出版社    |\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("没有发现要查询的数据\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 - 退出图书系统                         |\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();
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

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

    这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念. C 源代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> struct book{ char book_name[30]; int bianhao; double price; char author[20]; char state[20]; cha

  • C语言实现图书管理系统

    目前为止跟着学校进度学习C语言大概半年左右,基础学习只学到了指针,学得非常浅.说实话,起初对C语言的印象---只是一个学习计算机语言的敲门砖,对具体C语言如何应用等,非常迷茫.直到大一下半学期的高级语言设计课程之后,试过dos运行的图形化界面的完整小程序,才发现C语言的魅力. ok,废话不多说了,下面是我第二节课的作品----C语言的图书管理系统.一个简单的小程序.并非纯原创,是基于网络搜索到的"学生管理系统"改编而成的.通过直接浏览.修改一个完整的代码,我的收获颇丰.我认为这样比枯燥

  • C语言实现简单的图书管理系统

    本文实例为大家分享了C语言实现简单图书管理系统的具体代码,供大家参考,具体内容如下 代码: /* 课程设计项目名称:图书查询系统 作者:施瑞文 时间:2018.3.4 */ #include<stdio.h> #include<string.h> #include<windows.h> #include<conio.h> #include<stdlib.h> #define N sizeof(struct BOOK) struct BOOK //

  • C语言设计图书登记系统与停车场管理系统的实例分享

    图书登记管理系统 图书登记管理系统应该具有下列功能: (1). 通过键盘输入某本图书的信息: (2) .给定图书编号,显示该本图书的信息: (3) .给定作者姓名,显示所有该作者编写的图书信息: (4) .给定出版社,显示该出版社的所有图书信息: (5) .给定图书编号,删除该本图书的信息: (6) .提供一些统计各类信息的功能. 程序完整的实现代码如下: #include "stdio.h" #include "stdlib.h" #include "s

  • C语言链表实现图书管理系统

    之前参照网上的资料用链表实现了图书管理系统,包括简单的增删改查功能以及借书还书功能,我是VC6.0下写的一个控制台程序,格式参照的网上的.在动手编码之前,你需要理清自己的思路.首先,需要确定图书馆里系统中主要有那几个对象,这里我写了学生对象和图书对象.不妨在纸上写出或画出它们主要包括哪些属性以及其可能的对应关系,这里根据不同人的要求会有所不同.清楚这些之后,就可以设计学生和图书的数据结构,比如这里我用的结构体存储其信息.然后就需要考虑,我想要哪些功能,除了基本的增删改查之外,我还想要哪些功能?比

  • C语言图书管理系统简洁版

    DOS界面的图书管理系统,具体内容如下 程序分为两块:管理员操作(收录图书.删除图书等)和会员操作(注册.借书.还书等): 1.管理员操作界面 2.会员操作界面 global.h头文件:(程序中只使用了一个编写的头文件,在这里存放了所有的接口函数以及需要使用到的头文件,还有结构体的定义) #include "iostream" #include "string" #include "fstream" #include "conio.h&

  • C语言实现图书馆管理系统

    本文实例为大家分享了C语言实现图书馆管理系统的具体代码,供大家参考,具体内容如下 全部代码如下: #include <stdio.h> #include<string.h> #include<stdlib.h> #include <mysql.h> #pragma comment (lib,"libmysql.lib") //#pragma comment ( lib,"xxx.lib" ) //表示鏈接xxx.lib

  • C语言实现图书管理系统(文件数据库)

    本文实例为大家分享了C语言实现图书管理系统的具体代码,供大家参考,具体内容如下 简介 c语言的一个大作业,发上来纪念下嘿嘿.写的不是很好,很多东西都揉在一起来,不过注释写的也挺多,希望能帮到有需要的朋友. 题目要求 简单文件数据库-模拟图书馆管理系统 涉及知识点:文件读写.内存管理.结构体定义.基本数据结构.高级格式化输入输出 要求: 编写一个程序模拟图书管理系统.用户分为管理员和读者两类,分别显示不同文本格式菜单,通过菜单项对应数字进行选择.读者菜单包括借书.还书.查询等功能.管理员菜单包括图

  • C++实现图书馆管理系统

    本文实例为大家分享了C++实现图书馆管理系统的具体代码,供大家参考,具体内容如下 一.实验名称 图书馆管理系统 二.实验目的 利用C++语言设计开发一个小型的图书馆管理系统模拟程序,具有如下功能:退出系统.增加图书.删除图书.借阅图书.归还图书.显示图书信息.查询图书等功能.实验中应掌握继承结构,并掌握对象.类.链表的使用和成员函数.构造函数的定义及调用,并掌握使用实验设备的技能技巧和程序的调试方法. 三.实验平台 运行环境:VC++6.0 四.问题分析 图书馆管理系统模拟程序可划分为7个模块:

  • C语言学生成绩管理系统小设计

    本文实例为大家分享了C语言学生成绩管理系统的具体代码,供大家参考,具体内容如下 一.本设计涉及的重要C语言知识有: 1.单链表的各种操作 2.文件流的操作 3.单链表的排序 二.本设计主要以下几个模块组成 1.学生成绩添加模块 2.学生成绩删除模块 3.学生成绩修改模块 4.学生成绩检索模块 5.学生成绩显示模块(包括成绩排序) 6.学生成绩保存模块 效果图: 本设计大概5.6百行代码左右,通过这个设计,本人感觉C语言熟练了很多, 希望能对像我一样的C语言菜鸟同学会有点帮助,废话少说,咱们上代码

  • C语言学生成绩管理系统课程设计

    学生成绩管理系统是比较适合初学者的.它涵盖了c语言几乎知识.对于学了c语言的人,把这个课程设计搞好(当然自己能设计出来是要有很好的基础).不管自己能不能够完成,最重要的是能弄懂.参考其他资料,试着自己编写是不错的选择.这个课程设计也是我参照资料,自己编写的.自己适当地增加了一些功能.不过,编的不够那么专业吧. #include<stdio.h> #include<string.h> #include<stdlib.h> #define size 100 char* cl

  • C语言学生信息管理系统小项目

    本文为大家分享了C语言学生信息管理系统小项目,供大家参考,具体内容如下 /* 运行环境:我是在linux里面用gcc编译的,在windows里应该也能运行,用的一些文件库函数都是c标准库,没有用linux的系统调用(纠正一下:system("clear")这个系统调用是linux的,windows里面用system("cls") ) (1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等.试设计一学生信息管理系统,使之能提供以下功

  • C语言学生学籍管理系统课程设计

    C语言学生学籍管理系统做了好长时间的,里面有点小问题,希望大佬找到并帮忙改改,注意输入密码三次错误会自动注销用户,密码123456 代码: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<conio.h> struct student { char xuehao[100];//输入学号 char name[100];//输入姓名 char sex[100];//输入性别 int

  • C语言职工信息管理系统源码

    本文实例为大家分享了C语言职工信息管理系统的具体代码,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> struct worker { char ID[20];//工号 char name[20];//姓名 char sex[5];//性别 char born[20];//生日 char edu[20];//学历 char po

  • C语言学生成绩管理系统源代码

    大学C语言实训课,C语言学生成绩管理系统,供大家参考,具体内容如下 #include<stdio.h> #include<string.h> #include<math.h> struct student { int num; char name[20]; float pingshi; float shiyan; float kaoshi; double zongping; }stu[4]; void main() { void a(); void b(); void

随机推荐