要實現一個C語言圖書管理系統,可以按照以下步驟進行:
struct Book {
char title[100];
char author[100];
char publisher[100];
float price;
};
定義圖書管理系統的功能:根據需求,確定圖書管理系統需要提供的功能,例如添加圖書、刪除圖書、查找圖書、顯示所有圖書等。
實現添加圖書功能:通過用戶輸入,創建一個新的圖書對象,并將其添加到圖書管理系統的圖書列表中。
void addBook(struct Book *books, int *count) {
printf("請輸入書名:");
scanf("%s", books[*count].title);
printf("請輸入作者:");
scanf("%s", books[*count].author);
printf("請輸入出版社:");
scanf("%s", books[*count].publisher);
printf("請輸入價格:");
scanf("%f", &books[*count].price);
(*count)++;
}
void deleteBook(struct Book *books, int *count, char *title) {
int i, j;
for (i = 0; i < *count; i++) {
if (strcmp(books[i].title, title) == 0) {
for (j = i; j < *count - 1; j++) {
books[j] = books[j + 1];
}
(*count)--;
printf("刪除成功!\n");
return;
}
}
printf("未找到該書籍!\n");
}
void searchBook(struct Book *books, int count, char *title) {
int i;
for (i = 0; i < count; i++) {
if (strcmp(books[i].title, title) == 0) {
printf("書名:%s\n", books[i].title);
printf("作者:%s\n", books[i].author);
printf("出版社:%s\n", books[i].publisher);
printf("價格:%.2f\n", books[i].price);
return;
}
}
printf("未找到該書籍!\n");
}
void displayBooks(struct Book *books, int count) {
int i;
for (i = 0; i < count; i++) {
printf("書名:%s\n", books[i].title);
printf("作者:%s\n", books[i].author);
printf("出版社:%s\n", books[i].publisher);
printf("價格:%.2f\n", books[i].price);
printf("--------------------\n");
}
}
int main() {
struct Book books[100];
int count = 0;
int choice;
char title[100];
while (1) {
printf("請選擇功能:\n");
printf("1. 添加圖書\n");
printf("2. 刪除圖書\n");
printf("3. 查找圖書\n");
printf("4. 顯示所有圖書\n");
printf("0. 退出\n");
scanf("%d", &choice);
switch (choice) {
case 1:
addBook(books, &count);
break;
case 2:
printf("請輸入要刪除的書名:");
scanf("%s", title);
deleteBook(books, &count, title);
break;
case 3:
printf("請輸入要查找的書名:");
scanf("%s", title);
searchBook(books, count, title);
break;
case 4:
displayBooks(books, count);
break;
case 0:
return 0;
default:
printf("無效的選擇!\n");
break;
}
}
}
這樣,一個簡單的C語言圖書管理系統就實現了。可以根據需求進行擴展和優化。