图书管理系统(C语言实现)

这篇具有很好参考价值的文章主要介绍了图书管理系统(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--len
	if(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--len
	
	for(int i=indexT;i<len;i++){
		L.elem[i] = L.elem[i+1]; 
	}
	L.len--; //长度-1 
	
}

7.图书信息总览文章来源地址https://www.toymoban.com/news/detail-522780.html

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  name
	int 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);
	//图书信息 整合 到了 t
	insertBook(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 中删除 下标indexT
			deleteBook(L,indexT); 	
			printf("图书删除成功!\n");
		}
		
	}else{//==0
		printf("图书不存在!\n");
	}
	
	
	printf("\n-------------图书展示------------\n");
	display(L);	

	return 0;
}

到了这里,关于图书管理系统(C语言实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 图书管理系统:从数据库设计到前端展示的实战经验分享

    ✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 | SpringBoot/SSM Python实战项目 | Django 微信小

    2024年01月16日
    浏览(44)
  • 图书管理系统【C语言】

    咱就是说这太令人绝望了! !! 这是一个平平无奇的系统。 一、系统要求 1、实现以下基本功能      1.添加图书          2.删除图书      3.保存图书          4.图书列表      5.修改图书          6.查找图书       7.图书排序          8.图书统计            

    2024年02月02日
    浏览(43)
  • C语言图书管理系统

    操作系统:windows10, windows11, linux, mac等。 开发工具:Qt, vscode, visual studio等 开发语言:c 这个功能的主要任务是保存和管理图书的所有信息。这应该包括: 添加新书:输入新书的信息,包括书名、作者、出版社、ISBN、库存数量等,并将其添加到数据库中。 修改书籍信息:如果

    2024年02月16日
    浏览(34)
  • 图书管理系统——C语言课程设计

    新进图书基本信息的输入 图书借本信息的查询 对撤销图书的删除 办理借书手续 办理还书手续 提供使用文件方式存储数据 新进图书的输入,首先要输入要添加的书的基本信息,如:书名、书号、价格、作者,再通过fprintf()函数将输入的信息写入文件中 图书信息的查询可分为

    2024年02月09日
    浏览(41)
  • 【C语言课程设计】图书管理系统

    引言 : 图书管理系统是一个重要的信息管理系统,对于图书馆和书店等机构来说,它能够方便地管理图书的录入、显示、查询、修改和删除等操作。本实验基于C语言开发了一个简单的图书管理系统,通过账户名和密码进行系统访问和权限控制,并实现了上述功能。在本实验

    2024年02月15日
    浏览(37)
  • C语言课程设计-图书管理系统

    需求分析:   为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询

    2024年02月04日
    浏览(42)
  • C语言课设:图书管理系统

    一、系统功能        图书管理系统要求实现图书管理的基本功能,包括图书的录入、删除、查找和导入/导出等。图书的属性包括书号、书名、第一作者、版次、出版社、出版年等信息。 1.创建:创建图书管理系统,用逐条输入的方式; 2.显示:分屏显示图书管理系统中的

    2024年02月11日
    浏览(37)
  • 【开源】基于JAVA语言的图书管理系统

    图书管理系统是一个用于管理图书馆资源的软件系统,该系统包括图书馆模块、图书类型模块、图书模块、图书借阅模块和公告模块。 图书馆模块 是系统的核心模块,用于管理图书馆的基本信息,包括图书馆名称、地址、联系方式等。管理员可以通过该模块进行图书馆信息

    2024年01月24日
    浏览(78)
  • 学校图书管理系统的开发

    摘要 1 Abstract. 1 1 引言 2 1.1 图书管理的现状 2 1.2 现有图书管理系统的概述 3 1.3 选题的目的、意义 3 1.4 图书管理系统的可行性分析 4 1.5 系统开发运行环境 4 2 图书管理系统开发相关技术的介绍 5 2.1 Asp.net的介绍 5 2.1.1 Asp.net的优势介绍 5 2.1.2 Asp.net的特点 5 2.2 SQL Server 2005 概述

    2024年02月04日
    浏览(43)
  • c语言课程设计(图书馆管理系统)

    大一c语言课程设计:图书馆管理系统。 图书管理系统,功能齐全拿来就能用 1.主界面   代码段  2.图书录入界面 运用文件录入多次使用   代码段  3.图书查询界面 根据输入书的数据与文件中数据进行比对 ,查找后输出。 代码段 4.图书修改 输入修改图书数据并在文件中查找

    2024年02月11日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包