c语言程序设计课设图书管理系统
时间: 2024-05-12 08:10:07 浏览: 29
根据提供的引用内容,C语言程序设计课设的图书管理系统主要包括以下功能:图书的录入、删除、查找和导入/导出等。图书的属性包括书号、书名、第一作者、版次、出版社、出版年等信息。
以下是一个简单的C语言程序设计课设图书管理系统的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BOOKS 100
struct Book {
char bookId[20];
char title[100];
char author[100];
int edition;
char publisher[100];
int year;
};
struct Book books[MAX_BOOKS];
int numBooks = 0;
void addBook() {
if (numBooks >= MAX_BOOKS) {
printf("图书库已满,无法添加新书。\n");
return;
}
struct Book newBook;
printf("请输入书号:");
scanf("%s", newBook.bookId);
printf("请输入书名:");
scanf("%s", newBook.title);
printf("请输入第一作者:");
scanf("%s", newBook.author);
printf("请输入版次:");
scanf("%d", &newBook.edition);
printf("请输入出版社:");
scanf("%s", newBook.publisher);
printf("请输入出版年:");
scanf("%d", &newBook.year);
books[numBooks] = newBook;
numBooks++;
printf("图书添加成功。\n");
}
void deleteBook() {
char bookId[20];
printf("请输入要删除的书号:");
scanf("%s", bookId);
int found = 0;
for (int i = 0; i < numBooks; i++) {
if (strcmp(books[i].bookId, bookId) == 0) {
for (int j = i; j < numBooks - 1; j++) {
books[j] = books[j + 1];
}
numBooks--;
found = 1;
break;
}
}
if (found) {
printf("图书删除成功。\n");
} else {
printf("未找到该书号的图书。\n");
}
}
void searchBook() {
char bookId[20];
printf("请输入要查找的书号:"); scanf("%s", bookId);
int found = 0;
for (int i = 0; i < numBooks; i++) {
if (strcmp(books[i].bookId, bookId) == 0) {
printf("书号:%s\n", books[i].bookId);
printf("书名:%s\n", books[i].title);
printf("第一作者:%s\n", books[i].author);
printf("版次:%d\n", books[i].edition);
printf("出版社:%s\n", books[i].publisher);
printf("出版年:%d\n", books[i].year);
found = 1;
break;
}
}
if (!found) {
printf("未找到该书号的图书。\n");
}
}
void exportBooks() {
FILE *file = fopen("books.txt", "w");
if (file == NULL) {
printf("无法打开文件。\n");
return;
}
for (int i = 0; i < numBooks; i++) {
fprintf(file, "%s,%s,%s,%d,%s,%d\n", books[i].bookId, books[i].title, books[i].author, books[i].edition, books[i].publisher, books[i].year);
}
fclose(file);
printf("图书导出成功。\n");
}
void importBooks() {
FILE *file = fopen("books.txt", "r");
if (file == NULL) {
printf("无法打开文件。\n");
return;
}
numBooks = 0;
while (fscanf(file, "%[^,],%[^,],%[^,],%d,%[^,],%d\n", books[numBooks].bookId, books[numBooks].title, books[numBooks].author, &books[numBooks].edition, books[numBooks].publisher, &books[numBooks].year) != EOF) {
numBooks++;
}
fclose(file);
printf("图书导入成功。\n");
}
int main() {
int choice;
do {
printf("图书管理系统\n");
printf("1. 添加图书\n");
printf("2. 删除图书\n");
printf("3. 查找图书\n");
printf("4. 导出图书\n");
printf("5. 导入图书\n");
printf("0. 退出\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
addBook();
break;
case 2:
deleteBook();
break;
case 3:
searchBook();
break;
case 4:
exportBooks();
break;
case 5:
importBooks();
break;
case 0:
printf("感谢使用图书管理系统,再见!\n");
break;
default:
printf("无效的选择,请重新输入。\n");
break;
}
} while (choice != 0);
return 0;
}
```
这个示例实现了图书管理系统的基本功能,包括添加图书、删除图书、查找图书、导入图书和导出图书等操作。你可以根据需要进行修改和完善。