项目 :C语言实现图书管理系统
编译环境 :Visual Studio 2019
作者 :wddkxg
时间 : 2019

LibraryManagementSystem.cpp

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#pragma warning(disable:4996)
struct book
{int id;char name[31];char author[27];char publish[31];int store;int total;int usr[10];int days[10];
}books[100];
main()
{void page_title(char* menu_item);void return_confirm();void book_add();int book_show();int book_search();int book_edit();int book_del();void book_out();void book_in(void);
meum:page_title("操作菜单");printf("用数字键选择操作\n\n");printf("\t\t1 注册新书 \t\t2 显示图书 \n");printf("\t\t3 查询图书信息 \t\t4 修改图书信息\n");printf("\t\t5 删除图书\t\t6 借阅图书\n");printf("\t\t7 归还图书\t\t8 退出系统\n");printf("请按数字键:\n");switch (getchar()){case'1':book_add(); break;case'2':book_show(); break;case'3':book_search(); break;case'4':book_edit(); break;case'5':book_del(); break;case'6':book_out(); break;case'7':book_in(); break;case'8':exit(0);}
}void page_title(char* menu_item)
{printf("\t\t**********欢迎使用**大学图书管理系统**********\n\n-%s-%s\n\n", menu_item);
}
void return_confirm()
{printf("\n按任意键返回……\n");getchar();
}
void book_add()
{int i;system("cls");page_title("注册新书");for (i = 0; i < 100; i++) if (books[i].id == 0)break;printf("序号");scanf_s("%d", &books[i].id);printf("书名");scanf_s("%s", &books[i].name);printf("作者");scanf_s("%s", &books[i].author);printf("出版社");scanf_s("%s", &books[i].publish);printf("数量");scanf_s("%d", &books[i].total);books[i].store = books[i].total;return_confirm();
}
int book_show()
{int i, flag = 0;system("cls");for (i = 0; i < 100; i++){if (strlen(books[i].name) != 0){printf("序号:%d\t", books[i].id);printf("书名:%d\t", books[i].name);printf("作者:%d\t", books[i].author);printf("出版社;%d\t", books[i].publish);printf("存数:%d\t", books[i].store);printf("总数:%d\t", books[i].total);flag = 1;}}if (flag == 0)printf("\n没有找到相关记录.\n");return i;
}
int book_search()
{int n, i, flag = 0;char nam[30];system("cls");printf("输入书名");scanf_s("%s", &nam);for (i = 0; i < 100; i++){if (strcmp(books[i].name, nam) == 0){printf("序号:%d\t", books[i].id);printf("书名:%s\t", books[i].name);printf("作者:%s\t", books[i].author);printf("出版社:%s\t", books[i].publish);printf("存数:%d\t", books[i].store);printf("总数:%d\n", books[i].total);n = i;flag = 1;break;}}if (flag == 0){printf("\n没有找到相关记录.\n");return -1;}return n;
}
int book_edit()
{int i, id_change;system("cls");page_title("修改图书信息");printf("输入要修改的图书编号:");scanf_s("%d", &id_change);for (i = 0; i < 100; i++){if (books[i].id == id_change){printf("修改书名:");scanf_s("%s", books[i].name);printf("修改作者:");scanf_s("%s", books[i].author);printf("修改出版社名:");scanf_s("%s", books[i].publish);printf("修改总数:");scanf_s("%s", books[i].total);printf("修改图书信息成功.\n");books[i].store = books[i].total;return i;}}printf("\n没有找到相关记录.\n");return -1;
}
int book_del()
{int i, num, j;system("cls");page_title("删除图书");printf("输入要删除的书的编号:");scanf_s("%d", &num);for (i = 0; i < 100; i++){if (books[i].id == num)for (j = i; j < 100; j++){books[j].id = books[j + 1].id;strcpy(books[j].name, books[j + 1].name);strcpy(books[j].publish, books[j + 1].publish);printf("该书已删除.\n");return i;}}printf("没有找到相关记录\n");return -1;
}
void book_out()
{int n, s, i, d;system("cls");page_title("借阅图书");n = book_search();if (n != -1 && books[n].store > 0){printf("请输入借书证序号:");scanf_s("%d", &s);printf("输入可借天数:");scanf_s("%d", &d);for (i = 0; i < 10; i++)if (books[n].usr[i] == 0){books[n].usr[i] = 0;books[n].usr[i] = 0;break;}books[n].store--;}else if (n != -1 && books[n].store == 0)printf("此书已经全部借出.\n");else;return_confirm();
}
void book_in(void)
{int n, s, i;page_title("归还图书");n = book_search();if (n != -1 && books[n].store < books[n].total){printf("借阅图书证列表:\n");for (i = 0; i < 100; i++) if (books[n].usr[i] != 0)printf("[%d]-[%d]天\n", books[n].usr[i], books[n].days[i]);printf("输入借书证序号:");scanf_s("%d", &s);for (i = 0; i < 10; i++){if (books[n].usr[i] == s){books[n].usr[i] = 0;books[n].days[i] = 0;break;}}books[n].store++;}if (n != -1 && books[n].store == books[n].total)printf("全部归还.\n");else if (n != -1 && books[n].store < books[n].total)printf("归还成功.\n");else;return_confirm();
}

【C语言 实现图书管理系统】相关推荐

  1. c语言图书管理系统用什么软件,编写c语言的软件 纯C语言编写图书管理系统.doc...

    编写c语言的软件 纯C语言编写图书管理系统 编写c语言的软件 纯C语言编写图书管理系统WORD文档bbszp 导读:就爱阅读网友为您分享以下"纯C语言编写图书管理系统WORD文档bbszp& ...

  2. c语言之bbs管理系统,编写c语言的软件 纯C语言编写图书管理系统WORD文档bbszp.doc...

    编写c语言的软件 纯C语言编写图书管理系统WORD文档bbszp 编写c语言的软件 纯C语言编写图书管理系统WORD文档bbszp 导读:就爱阅读网友为您分享以下"纯C语言编写图书管理系统W ...

  3. C语言实现图书管理系统

    C语言实现图书管理系统 代码如下: # include "stdio.h" # include "stdlib.h" # include "strin ...

  4. c语言图书管理系统解析,基于C语言的图书管理系统的设计与实现解析.doc

    毕业论文 题目:基于C语言的图书管理系统的设计与实现 英文题目:Design and Implementation of Books Management System Based on C Lang ...

  5. 教材征订管理系统c语言,基于C语言的图书管理系统的设计与实现范文.doc

    毕业论文 题目:基于C语言的图书管理系统的设计与实现 英文题目:Design and Implementation of Books Management System Based on C Lang ...

  6. c语言注册登录系统代码6,C语言程序设计(图书管理系统)源代码.doc(6)

    h"#include#include/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...

  7. 利用C语言制作图书管理系统

    利用C语言制作图书管理系统 #include<stdio.h> #include<windows.h> #define LEN sizeof(commdity) #define ...

  8. php语言设计图书管理系统,图书馆管理系统PHP版_7tmu7b

    图书馆管理系统PHP版_7tmu7b 所属分类:其他 开发工具:PHP 文件大小:15765KB 下载次数:0 上传日期:2020-11-22 11:12:53 上 传 者:ygrdmbji 说明:  ...

  9. C语言完成图书管理系统

    引言:这个系统是我大一下册编写的,也没有再修改,C语言只学到简单的指针为止,对C的认识非常肤浅,并且没有代码经验,可以说这是我第一个能算上能实现功能的系统,仅仅借助书籍:程序设计第四版(谭浩强).数据 ...

最新文章

  1. js校验复选框(多选按钮)是否被选中的方法
  2. linux压缩图片脚本,说明Ubuntu压缩图片脚本批量方法
  3. 深入实践Spring Boot2.3.2 文档建模
  4. 将标签one-hot化的方法
  5. Go指南练习_rot13Reader
  6. 安装虚拟机Ubuntu,搭建lnmp环境碰到的坑(一)
  7. Codeforces Round #301 (Div. 2) B. School Marks
  8. 16g版nexus5 升级带android 4.4,Nexus 5升级如何Android 4.4.1 Nexus 5升级到4.4.1方法教程
  9. 多任务学习在推荐算法中的应用
  10. http协议报文体_HTTP报文基本概念学习
  11. 你竟是这样的月饼-今年中秋节折腾的月饼2.0
  12. Google 要放弃 Android 了?
  13. python switch语句的多种实现方法
  14. flash与CPU连接及flash属性描述文件
  15. 2.7.PHP7.1 狐教程-【PHP控制语句 if...else】
  16. Kali最新2020.1版本之U盘启动加密与持久化存储制作流程
  17. flask中的jinjia2模板引擎详解1
  18. 书籍《Python股票量化交易从入门到实践》学习进阶路线
  19. Jira管理员配置手册
  20. Android 9 (P)在user模式下无法使用fastboot烧录怎么破

热门文章

  1. 用PS将照片修改为358*441并且小于20k的符合社保要求
  2. 山东建筑大学计算机学院孙倩,山东建筑大学毕业设计答辩.pdf
  3. 淘宝短视频,为什么搬运的短视频没有流量?从算法角度分析
  4. 2021年危险化学品经营单位安全管理人员考试报名及危险化学品经营单位安全管理人员最新解析
  5. 2021年危险化学品经营单位安全管理人员考试试卷及危险化学品经营单位安全管理人员实操考试视频
  6. OKHTTP和retrofit 网络框架集成的有https验证的APP破解抓包
  7. linux子进程崩溃父进程如何得知并重启子进程,子进程崩溃父进程如何得知并重启子进程...
  8. PS入门(1-4) CMYK色彩模式
  9. hive计算航班某型号个数_机型分配就是把航班集合按照机型分割成子集。( )...
  10. work english words