设计并实现一个简单的图书管理系统

本次实训内容主要在于训练学生的C语言的基本编程能力,通过C语言输入输出、循环语句、子函数设计、数组、结构体等知识点,完成一个简单图书管理系统的设计开发。实现录入图书、删除指定图书、修改指定图书和查询指定图书的基本信息等主要功能。

1.创建图书节点

#include<iostream>
#include<stdlib.h>
#include<string.h>
using namespace std;
struct Book{char id[101];// ISBN char name[101];// 书名double price;//价格
}; 

2.构建顺序表

typedef struct{Book *elem;//顺序表首地址int len;//表长
}Sqlist; 

3.图书信息的展示

void display(Sqlist L){ //不需要修改里面的信息 //展示表L中所有的图书信息int maxIndex = L.len;for(int i=1;i<=maxIndex;i++){printf("%s\t%s\t%lf\n",L.elem[i].id , L.elem[i].name , L.elem[i].price);//\n换行 \tTab          }
} 

4.图书信息的查找

int findBook(Sqlist L,char id[]){//在表L 中查找 是否有 ISBN码为id的图书//遍历 表 L,如果出现了L中 图书的id  ==   id int index = 0;//假设不存在int len = L.len;for(int i=1;i<=len;i++){if(strcmp(L.elem[i].id,id) == 0){//strcmp() index = i;//修正假设   (假设修正法)break;}}return index;
}

5.图书信息的插入

void insertBook(Sqlist &L,Book t,int x){//判断x 是否合法int len = L.len;//1--lenif(x<1 || x>len){printf("位置不合法!\n");}else{//将len 至 x位置的图书全部向后移动一个位置 for(int i=len;i>=x;i--){L.elem[i+1] = L.elem[i]; }//将图书 t 加入 L的x位置L.elem[x] = t;L.len++;printf("图书插入成功!\n");}
}

6.图书信息的删除

void deleteBook(Sqlist &L,int indexT){int len = L.len;//1--lenfor(int i=indexT;i<len;i++){L.elem[i] = L.elem[i+1]; }L.len--; //长度-1 }

7.图书信息总览

int main(){int n;//顺序存储结构Sqlist L;L.elem =(Book *)malloc(sizeof(Book)*100); L.len=0;printf("-------------图书录入------------\n");printf("请输入图书的数目:\n");scanf("%d",&n);for(int i=1;i<=n;i++){printf("请输入第 %d 本图书的ISBN码:\n",i);scanf("%s",L.elem[i].id);getchar();printf("请输入第 %d 本图书的书名:\n",i);scanf("%s",L.elem[i].name);getchar();printf("请输入第 %d 本图书的价格:\n",i);scanf("%lf",&L.elem[i].price);L.len++; }//展示所有的图书printf("\n-------------图书展示------------\n");display(L);    //图书查找功能printf("\n-------------图书查找------------\n"); printf("请输入要查询图书的ISBN码:\n");char name[101];scanf("%s",name);//图书查找函数:返回值如果是0 则表示系统中无此图书,返回值非0  则表示系统中有次图书,返回值代表下标//参数:L  nameint index = findBook(L,name);if(index==0){printf("ISBN码为:%s的图书不存在!",name);}else{//图书存在 printf("图书存在,要查找的图书信息如下:\n");printf("%s\t%s\t%lf\n",L.elem[index].id, L.elem[index].name, L.elem[index].price);}//图书插入//提示用户输入图书信息Book t;int x; printf("\n-------------图书插入------------\n");printf("请输入要插入图书的ISBN码:\n");scanf("%s",t.id);printf("请输入要插入图书的名称:\n");scanf("%s",t.name);printf("请输入要插入图书的价格:\n");scanf("%lf",&t.price);printf("请输入要插入图书的位置(下标1--98):\n");scanf("%d", &x);//图书信息 整合 到了 tinsertBook(L,t,x);//展示所有的图书printf("\n-------------图书展示------------\n");display(L);   //图书删除int indexT;char idT[101];printf("\n-------------图书删除------------\n"); printf("请输入要删除图书的编码:\n");scanf("%s",idT);//用户要删除 ISBN码为 idT 的图书indexT = findBook(L,idT);//如果 0 则idT不存在,如果非0则返回的是下标 if(indexT!=0){//图书存在 printf("图书存在,确定删除请按1\n");int d;scanf("%d",&d);if(d==1){//从表L 中删除 下标indexTdeleteBook(L,indexT);     printf("图书删除成功!\n");}}else{//==0printf("图书不存在!\n");}printf("\n-------------图书展示------------\n");display(L); return 0;
}

图书管理系统(C语言实现)相关推荐

  1. c语言学生综合测评系统_c语言图书管理系统_c语言学生综合测评系统_c语言个人账本管理系统...

    c语言销售管理系统设计 c语言设计管理系统,c图书管理系统设计,学生管理系统c语言,职工管理系统c语言,c语言图书管理系统,c语言成绩管理系统,c语言管理系统,c语言银行管理系统,c语言工资管理系统, ...

  2. 课程设计图书管理系统c语言,图书管理系统c语言课程设计c语言课程设计作业获得95分全院第一......

    > 下载中心  >   > 图书管理系统 c语言课程设计 english version 图书管理系统 c语言课程设计 所属分类: 开发工具:c/c++ 文件大小:2720kb 下载 ...

  3. 图书管理系统C语言程序设计课程,vs c语言图书管理平台课程设计_图书管理平台c语言程序设计_c语言课程设计 图书管理系统...

    #include #include #include #include //#include #define MAX 100 struct Student { int num;/*书代号*/ char ...

  4. 图书管理系统 C语言链表实现 学校大作业功能齐全(书籍信息以及用户信息保存在附带的txt文件中)

    不废话直接附上源代码下载链接(一杯奶茶钱就能换一套图书管理系统哦~): C语言链表实现图书管理系统功能齐全(书籍信息以及用户信息保存在附带的txt文件中)-C文档类资源-CSDN文库 抱歉本人总是忘记 ...

  5. c语言大作业书店图书管理系统,c语言课程设计 书店管理系统.pdf

    c语言课程设计 书店管理系统 计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24 日 一.选题背景: 设计一 ...

  6. c语言大作业书店图书管理系统,C语言_课程设计—书店图书管理系统.doc

    计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24日 一.选题背景: 设计一个图书管理系统,管理员通过登陆账 ...

  7. c语言大作业书店图书管理系统,C语言课程设计书店管理系统.pdf

    计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24 日 一.选题背景: 设计一个图书管理系统,管理员通过登陆 ...

  8. 图书管理系统C语言版

    图书管理系统是一种用于组织.存储和管理图书相关信息的软件系统.C语言版的图书管理系统是使用C语言开发的一种图书管理软件.这种系统通常可以实现图书的借阅.归还.查询等功能,方便图书馆工作人员和读者使用.

  9. c语言图书管理系统(c语言图书管理系统源代码)

    如何使用C语言编写图书管理系统? 图书管理系统是运行于Windows系统下的应用软件,主要用于对图书馆中的图书信息进行增.删.改.查等操作,并且还可对使用该系统的用户进行登录名和密码的管理等.系统给用 ...

  10. 图书管理系统python语言-Python简易版图书管理系统

    本文实例为大家分享了python图书管理系统的具体代码,供大家参考,具体内容如下 """ 图书管理系统 """ import random ...

最新文章

  1. 从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史
  2. python filter内置函数_python 内置函数filter
  3. linux ssh认证(公钥机)配置
  4. 数据库SQL ServerSQL Server教程:详细学习游标
  5. 谈谈如何在面试中发掘程序猿的核心竞争力 什么是程序员的核心竞争力?
  6. PAT-甲级之树遍历问题的总结
  7. python实战1.1——根据1.0做词云图
  8. 吴恩达机器学习2——单变量线性回归
  9. c语言实现文档中字符串的替换,C语言 16行代码实现字符串中指定字符串替换
  10. C++ list 基础用法合集;list 增减元素 list删除某一个元素 遍历list
  11. 手机可以python编程吗_如何在安卓手机上编程Python代码并运行-百度经验
  12. 如何看旷视南京负责人魏秀参跳槽高校工作?
  13. MySQL-存储过程-高效清理数据
  14. 北京大学C语言学习第4天
  15. 如何按数字或者日期时间顺序对多个文件夹进行批量重命名?
  16. Karl Guttag:谈MicroLED AR光学难点,Mojo Vision还有很多问题
  17. Hi3519v101 uart驱动
  18. OWASP TOP 10 2017中文译文
  19. 3行代码,搞定AI自动抠图
  20. #分治#poj 3889 Fractal Streets

热门文章

  1. IOS: iPhone键盘通知与键盘定制
  2. 技术人员要拿百万年薪的修仙之路
  3. linux重新初始化mysql 并修改大小写铭感_在Linux(Centos 7)环境下安装Mysql的完整过程...
  4. opencv特效编辑之雕刻效果
  5. 一图理解ceil和floor的区别
  6. WINDOWS下主机名找IP IP找主机名
  7. android opencl sdk,在新的Android Studio中使用OpenCL
  8. GoAhead服务器编程
  9. 基于Matlab的车牌识别系统(带界面、模板库)
  10. 驱动该如何入门 关于file_operations和Linux设备模型