A、借阅资料管理要求把书籍、期刊、报刊分类管理这样的话操作会更加灵活和方便可以随时对其相关资料进行添加、删除、修改、查询等操作。用C语言实现以上功能
要用C语言实现借阅资料管理系统,你可以使用数据结构和文件操作来完成。下面是一个简单的实现示例:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Book {
char title[100];
char author[100];
int year;
};
void addBook() {
struct Book book;
printf("Enter book title: ");
scanf("%s", book.title);
printf("Enter book author: ");
scanf("%s", book.author);
printf("Enter publication year: ");
scanf("%d", &book.year);
FILE *file = fopen("books.dat", "ab");
if (file == NULL) {
printf("Unable to open file.\n");
return;
}
fwrite(&book, sizeof(struct Book), 1, file);
fclose(file);
printf("Book added successfully.\n");
}
void displayBooks() {
struct Book book;
FILE *file = fopen("books.dat", "rb");
if (file == NULL) {
printf("Unable to open file.\n");
return;
}
while (fread(&book, sizeof(struct Book), 1, file)) {
printf("Title: %s\n", book.title);
printf("Author: %s\n", book.author);
printf("Year: %d\n", book.year);
printf("\n");
}
fclose(file);
}
void deleteBook() {
char title[100];
printf("Enter book title to delete: ");
scanf("%s", title);
FILE *file = fopen("books.dat", "r+b");
if (file == NULL) {
printf("Unable to open file.\n");
return;
}
struct Book book;
int found = 0;
while (fread(&book, sizeof(struct Book), 1, file)) {
if (strcmp(book.title, title) == 0) {
found = 1;
break;
}
}
if (found) {
fseek(file, -sizeof(struct Book), SEEK_CUR);
struct Book emptyBook = { "", "", 0 };
fwrite(&emptyBook, sizeof(struct Book), 1, file);
printf("Book deleted successfully.\n");
} else {
printf("Book not found.\n");
}
fclose(file);
}
int main() {
int choice;
while (1) {
printf("1. Add Book\n");
printf("2. Display Books\n");
printf("3. Delete Book\n");
printf("4. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
addBook();
break;
case 2:
displayBooks();
break;
case 3:
deleteBook();
break;
case 4:
exit(0);
default:
printf("Invalid choice. Please try again.\n");
}
printf("\n");
}
return 0;
}
该示例代码中,使用了一个结构体 struct Book 来表示书籍的信息,包括标题、作者和出版年份。函数 addBook 实现了添加书籍的功能,将书籍信息写入名为 books.dat 的二进制文件中。函数 displayBooks 实现了展示所有书籍的功能,从文件中读取书籍信息并打印到控制台。函数 deleteBook 实现了删除书籍的功能,根据用户输入的书籍标题在文件中查找并删除相应的书籍信息。
主函数 main 中通过循环提供了一个菜单,让用户选择要执行的操作。用户可以根据菜单选择添加书籍、展示所有书籍、删除书籍或退出程序。
请注意,在实际应用中,可能需要更多的功能和更复杂的数据结构来满足具体的需求。这只是一个简单的示例,你可以根据自己的实际需求进行修改和扩展
原文地址: http://www.cveoy.top/t/topic/hG4s 著作权归作者所有。请勿转载和采集!