图书管理系统(C语言实现)
设计并实现一个简单的图书管理系统
本次实训内容主要在于训练学生的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语言实现)相关推荐
- c语言学生综合测评系统_c语言图书管理系统_c语言学生综合测评系统_c语言个人账本管理系统...
c语言销售管理系统设计 c语言设计管理系统,c图书管理系统设计,学生管理系统c语言,职工管理系统c语言,c语言图书管理系统,c语言成绩管理系统,c语言管理系统,c语言银行管理系统,c语言工资管理系统, ...
- 课程设计图书管理系统c语言,图书管理系统c语言课程设计c语言课程设计作业获得95分全院第一......
> 下载中心 > > 图书管理系统 c语言课程设计 english version 图书管理系统 c语言课程设计 所属分类: 开发工具:c/c++ 文件大小:2720kb 下载 ...
- 图书管理系统C语言程序设计课程,vs c语言图书管理平台课程设计_图书管理平台c语言程序设计_c语言课程设计 图书管理系统...
#include #include #include #include //#include #define MAX 100 struct Student { int num;/*书代号*/ char ...
- 图书管理系统 C语言链表实现 学校大作业功能齐全(书籍信息以及用户信息保存在附带的txt文件中)
不废话直接附上源代码下载链接(一杯奶茶钱就能换一套图书管理系统哦~): C语言链表实现图书管理系统功能齐全(书籍信息以及用户信息保存在附带的txt文件中)-C文档类资源-CSDN文库 抱歉本人总是忘记 ...
- c语言大作业书店图书管理系统,c语言课程设计 书店管理系统.pdf
c语言课程设计 书店管理系统 计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24 日 一.选题背景: 设计一 ...
- c语言大作业书店图书管理系统,C语言_课程设计—书店图书管理系统.doc
计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24日 一.选题背景: 设计一个图书管理系统,管理员通过登陆账 ...
- c语言大作业书店图书管理系统,C语言课程设计书店管理系统.pdf
计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24 日 一.选题背景: 设计一个图书管理系统,管理员通过登陆 ...
- 图书管理系统C语言版
图书管理系统是一种用于组织.存储和管理图书相关信息的软件系统.C语言版的图书管理系统是使用C语言开发的一种图书管理软件.这种系统通常可以实现图书的借阅.归还.查询等功能,方便图书馆工作人员和读者使用.
- c语言图书管理系统(c语言图书管理系统源代码)
如何使用C语言编写图书管理系统? 图书管理系统是运行于Windows系统下的应用软件,主要用于对图书馆中的图书信息进行增.删.改.查等操作,并且还可对使用该系统的用户进行登录名和密码的管理等.系统给用 ...
- 图书管理系统python语言-Python简易版图书管理系统
本文实例为大家分享了python图书管理系统的具体代码,供大家参考,具体内容如下 """ 图书管理系统 """ import random ...
最新文章
- 从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史
- python filter内置函数_python 内置函数filter
- linux ssh认证(公钥机)配置
- 数据库SQL ServerSQL Server教程:详细学习游标
- 谈谈如何在面试中发掘程序猿的核心竞争力 什么是程序员的核心竞争力?
- PAT-甲级之树遍历问题的总结
- python实战1.1——根据1.0做词云图
- 吴恩达机器学习2——单变量线性回归
- c语言实现文档中字符串的替换,C语言 16行代码实现字符串中指定字符串替换
- C++ list 基础用法合集;list 增减元素 list删除某一个元素 遍历list
- 手机可以python编程吗_如何在安卓手机上编程Python代码并运行-百度经验
- 如何看旷视南京负责人魏秀参跳槽高校工作?
- MySQL-存储过程-高效清理数据
- 北京大学C语言学习第4天
- 如何按数字或者日期时间顺序对多个文件夹进行批量重命名?
- Karl Guttag:谈MicroLED AR光学难点,Mojo Vision还有很多问题
- Hi3519v101 uart驱动
- OWASP TOP 10 2017中文译文
- 3行代码,搞定AI自动抠图
- #分治#poj 3889 Fractal Streets
热门文章
- IOS: iPhone键盘通知与键盘定制
- 技术人员要拿百万年薪的修仙之路
- linux重新初始化mysql 并修改大小写铭感_在Linux(Centos 7)环境下安装Mysql的完整过程...
- opencv特效编辑之雕刻效果
- 一图理解ceil和floor的区别
- WINDOWS下主机名找IP IP找主机名
- android opencl sdk,在新的Android Studio中使用OpenCL
- GoAhead服务器编程
- 基于Matlab的车牌识别系统(带界面、模板库)
- 驱动该如何入门 关于file_operations和Linux设备模型