C语言图书信息管理系统(链表+文件)

本文介绍了一款使用C语言编写的图书信息管理系统,该系统利用链表数据结构存储图书信息,并通过文件进行持久化存储。读者可以进行图书的添加、删除、查询等操作,实现了基本的图书管理功能。
摘要由CSDN通过智能技术生成
/*
         图书登记管理程序          
   
*/
#include<stdio.h>
#include<stdlib.h>
//定义一个图书结构体
typedef struct aBook{
   
	char ISBN[25];//国际标准书号(ISBN)	
	char name[25];//图书名称
	char publishHouse[20];//图书出版社
	char author[20];//图书作者 
	float price;//图书价格,并初始化 
	char publishDate[20];//出版日期
	int  amount ;//图书数量 
	struct BOOK *pNext;
}BOOK;//结构体别名 
BOOK head;//头结点,全局变量 
void displayMenu();//    显示菜单
void doMenu();//处理菜单 
void  addNewBook();//    从键盘输入添加新图书
void addBookFromFile();//   从文件中添加新图书
void displayAllBooks();//     显示书库所有图书信息
void saveBookToFile();//    保存所有图书信息到文件
void knowAuthorFindBook();//    根据作者,查找图书
void know_ISBN_FindBook();//     根据ISBN,查找图书
void know_ISBN_MotifyBook();//    根据ISBN,修改图书
void know_ISBN_DeleteBook();//   根据ISBN,删除图书
void displayBookAllCount ();
//程序入口 //=========main======main==========main===========main========main==========main
int main(){
   
	head.pNext=NULL; 
	while(1){
   	
	system(" mode con cols=130 lines=45 "); //cols为控制台的宽度,lines则代表控制台的高度。	
	displayMenu();
	doMenu();}
	return 0;
} 
//=========main======main==========main===========main========main==========main===========main
//   显示菜单
void displayMenu(){
   
	printf("\t\t                         \t\t \n");
	printf("\t\t*****************************************\n");
	printf("\t\t*                        \t\t\n");
	printf("\t\t*                  图书登记管理系统   \t\t\n");
	printf("\t\t*                        \t\t\n");
	printf("\t\t*\t\t1-从键盘输入添加新图书\t\t\n");
	printf("\t\t*                        \t\t\n");
	printf("\t\t*\t\t2-从文件中添加新图书\t\t\n");
	printf("\t\t*                        \t\t\n");
	printf("\t\t*\t\t3-保存所有图书信息到文件\t\t\n");
	printf("\t\t*                        \t\t\n");	
	printf("\t\t*\t\t4-显示书库所有图书信息\t\t\n");	
	printf("\t\t*                        \t\t\n");
	printf("\t\t*\t\t5-根据作者,查找图书\t\t\n");
	printf("\t\t*                        \t\t\n");
    printf("\t\t*\t\t6-根据ISBN,查找图书\t\t\n");
    printf("\t\t*                        \t\t\n");
    printf("\t\t*\t\t7-根据ISBN,修改图书\t\t\n");
    printf("\t\t*                        \t\t\n");
	printf("\t\t*\t\t8-根据ISBN,删除图书\t\t\n");
	printf("\t\t*\t\t   \t\t\n");
	printf("\t\t*\t\t9-查看图书总数量\t\t\n");
	printf("\t\t*\t\t    \t\t\n");
	printf("\t\t*\t\t0---退出---     \t\t\n");
	printf("\t\t*                        \t\t\n");
	printf("\t\t*                        \t\t\n");
	printf("\t\t*****************************************\n");
}
void doMenu(){
   
	int choice;
	printf("请输入数字进行选择\n");
	scanf("%d",&choice);
	switch(choice){
   
		case 1:
			system("cls");
			addNewBook();
			system("cls");
			displayMenu();
        	doMenu();
			break</
  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值