C语言编写简易图书管理系统

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct link *AppendNode(struct link *head);///创建链表,输入数据
void DisplyNode(struct link *head);//将链表中的数据在屏幕上显示出来
void DeleteMemory(struct link *head);///释放链表中的占用内存
struct link * liu(struct link *head);//链表中的数据删除
void hui(struct link *head);//链表中的数据修改
void hai(struct link *head);//链表中的数据查找
void liuliu(struct link *head);
void  xiongdi(int a);
struct link * ww(int b);
struct link *  you(int a); 
struct link
{
	int data;
	char book[10];
	char writer[10];
	int kindofnumber;
	char publisher[20];
	int time;
	int price;
	struct link *next;
}CLASS;
int main()
{
	int i=0,k=0,nodeData=0;char c;struct link *head=NULL;char m[10];
	printf("*********欢迎进入图书管理系统***********\n");
	printf("********************由于本系统内无数据请先执行录入功能****************\n");
     printf("%d new nodes have been apended!\n",i);
	printf("*         1:信息查找              *\n");
	printf("*         2:修改数据              *\n");
	printf("*         3:删除数据              *\n");
	printf("*         4:数据排序              *\n");
	printf("*         5:录入功能              *\n");
    printf("*         6:浏览功能              *\n");
	printf("*         0:程序结束              *\n");
	scanf("%d",&k);
	while(k!=0&&k<=6)
	{
	switch(k)
	{
	    case 1:printf("请输入编号\n");hai(head);
			break;
		case 2:printf("请输入修改的数据\n");hui(head);DisplyNode(head);
			break;
		case 3:printf("请输入删除的数据\n");head=liu(head); DisplyNode(head);
			break;
        case 4:printf("请输入数据排序\n");liuliu(head);
			break;
		case 5:printf("请输入录入功能\n");head=you(2);
			break;
        case 6:printf("请输入浏览功能\n");head=ww(2);DisplyNode(head);
			break;
	}printf("*        1:信息查找              *\n");
	printf("*         2:修改数据              *\n");
	printf("*         3:删除数据              *\n");
	printf("*         4:数据排序              *\n");
	printf(&#
以下是一个简单的图书管理系统的 C 语言实现,包括添加图书、查找图书、删除图书和显示所有图书的功能。 ```c #include <stdio.h> #include <string.h> #define MAX_BOOKS 100 // 图书结构体 struct Book { char id[10]; // 图书编号 char title[50]; // 图书标题 char author[30]; // 图书作者 int year; // 出版年份 }; // 图书数组 struct Book books[MAX_BOOKS]; int num_books = 0; // 当前图书数量 // 添加图书 void add_book() { if (num_books >= MAX_BOOKS) { printf("Sorry, the library is full.\n"); return; } struct Book book; printf("Please enter book ID: "); scanf("%s", book.id); printf("Please enter book title: "); scanf("%s", book.title); printf("Please enter book author: "); scanf("%s", book.author); printf("Please enter publication year: "); scanf("%d", &book.year); books[num_books++] = book; printf("Book added successfully.\n"); } // 查找图书 void find_book() { char id[10]; printf("Please enter book ID: "); scanf("%s", id); for (int i = 0; i < num_books; i++) { if (strcmp(id, books[i].id) == 0) { printf("Book found:\n"); printf("ID: %s\n", books[i].id); printf("Title: %s\n", books[i].title); printf("Author: %s\n", books[i].author); printf("Publication year: %d\n", books[i].year); return; } } printf("Sorry, book not found.\n"); } // 删除图书 void delete_book() { char id[10]; printf("Please enter book ID: "); scanf("%s", id); for (int i = 0; i < num_books; i++) { if (strcmp(id, books[i].id) == 0) { for (int j = i; j < num_books - 1; j++) { books[j] = books[j+1]; } num_books--; printf("Book deleted successfully.\n"); return; } } printf("Sorry, book not found.\n"); } // 显示所有图书 void display_books() { printf("Library contains %d books:\n", num_books); for (int i = 0; i < num_books; i++) { printf("ID: %s\n", books[i].id); printf("Title: %s\n", books[i].title); printf("Author: %s\n", books[i].author); printf("Publication year: %d\n", books[i].year); } } int main() { int choice; do { printf("\nLibrary Management System\n"); printf("1. Add book\n"); printf("2. Find book\n"); printf("3. Delete book\n"); printf("4. Display all books\n"); printf("0. Exit\n"); printf("Please enter your choice: "); scanf("%d", &choice); switch (choice) { case 1: add_book(); break; case 2: find_book(); break; case 3: delete_book(); break; case 4: display_books(); break; case 0: printf("Goodbye!\n"); break; default: printf("Invalid choice.\n"); } } while (choice != 0); return 0; } ``` 注意:此为简单的实现,未考虑并发、安全性等问题。在实际开发中需要进行更加严谨的设计和实现。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值