用C语言结构体指针写一个图书管理系统代码
时间: 2023-04-08 15:02:13 浏览: 69
我可以回答这个问题。以下是一个简单的图书管理系统的代码示例:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BOOKS 100
typedef struct {
char title[50];
char author[50];
int year;
} Book;
typedef struct {
Book* books[MAX_BOOKS];
int num_books;
} Library;
void add_book(Library* library, Book* book) {
if (library->num_books < MAX_BOOKS) {
library->books[library->num_books++] = book;
} else {
printf("Library is full!\n");
}
}
void print_book(Book* book) {
printf("%s by %s (%d)\n", book->title, book->author, book->year);
}
void print_library(Library* library) {
printf("Library contains %d books:\n", library->num_books);
for (int i = 0; i < library->num_books; i++) {
print_book(library->books[i]);
}
}
int main() {
Library library = { .num_books = 0 };
Book book1 = { .title = "The Great Gatsby", .author = "F. Scott Fitzgerald", .year = 1925 };
Book book2 = { .title = "To Kill a Mockingbird", .author = "Harper Lee", .year = 1960 };
add_book(&library, &book1);
add_book(&library, &book2);
print_library(&library);
return 0;
}