【问题描述】 设计一个计算机管理系统完成图书管理基本业务。 【基本要求】 1) 每种书的登记内容包括书号、书名、著作者、现存量和库存量; 2) 对书号建立索引表(线性表)以提高查找效率; 3) 系统主要功能如下: *采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加; *借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量; *归还:注销对借阅者的登记,改变该书的现存量。 二、 涉及的主要知识点 1. C语言知识:结构体,函数,指针等。 2. 线表的顺序及链式存储结构。
时间: 2024-01-21 11:20:18 浏览: 122
这是一个比较典型的图书管理系统,需要使用C语言实现。下面是基本的代码框架:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_BOOK_NUM 1000
#define MAX_BORROWER_NUM 1000
struct Book {
char id[20];
char name[50];
char author[50];
int total;
int stock;
};
struct Borrower {
char id[20];
char name[50];
char phone[20];
};
struct BorrowRecord {
char book_id[20];
char borrower_id[20];
char borrow_date[20];
char return_date[20];
};
struct Book books[MAX_BOOK_NUM];
int book_num = 0;
struct Borrower borrowers[MAX_BORROWER_NUM];
int borrower_num = 0;
struct BorrowRecord records[MAX_BOOK_NUM];
int record_num = 0;
void add_book();
void add_borrower();
void borrow_book();
void return_book();
void save_data();
void load_data();
int main() {
load_data();
int choice;
printf("Welcome to the library management system!\n");
while (1) {
printf("Please choose a function:\n");
printf("1. Add book\n");
printf("2. Add borrower\n");
printf("3. Borrow book\n");
printf("4. Return book\n");
printf("5. Exit\n");
scanf("%d", &choice);
switch (choice) {
case 1:
add_book();
break;
case 2:
add_borrower();
break;
case 3:
borrow_book();
break;
case 4:
return_book();
break;
case 5:
save_data();
printf("Thanks for using the system!\n");
return 0;
default:
printf("Invalid choice!\n");
}
}
}
void add_book() {
// TODO: 实现添加书籍的功能
}
void add_borrower() {
// TODO: 实现添加借阅者的功能
}
void borrow_book() {
// TODO: 实现借书的功能
}
void return_book() {
// TODO: 实现还书的功能
}
void save_data() {
// TODO: 实现将数据保存到文件中的功能
}
void load_data() {
// TODO: 实现从文件中加载数据的功能
}
```
你需要根据该框架自行实现各个函数的具体功能。其中,add_book()函数用于添加书籍;add_borrower()函数用于添加借阅者;borrow_book()函数用于借书;return_book()函数用于还书。save_data()函数用于将数据保存到文件中;load_data()函数用于从文件中加载数据。
阅读全文