中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C語言實現圖書管理系統(文件數據庫)

小云
132
2023-08-08 15:07:47
欄目: 編程語言

以下是一個簡單的C語言實現的圖書管理系統,使用文件數據庫進行數據的存儲和讀取。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定義圖書結構體
typedef struct Book {
int id;
char title[100];
char author[100];
float price;
} Book;
// 添加圖書
void addBook(FILE* fp) {
Book book;
printf("請輸入圖書ID: ");
scanf("%d", &book.id);
printf("請輸入圖書標題: ");
scanf("%s", book.title);
printf("請輸入圖書作者: ");
scanf("%s", book.author);
printf("請輸入圖書價格: ");
scanf("%f", &book.price);
// 寫入文件
fseek(fp, 0, SEEK_END);
fwrite(&book, sizeof(Book), 1, fp);
printf("圖書添加成功\n");
}
// 顯示所有圖書
void displayBooks(FILE* fp) {
Book book;
rewind(fp); // 將文件指針設置到文件開頭
printf("圖書列表:\n");
while (fread(&book, sizeof(Book), 1, fp) != 0) {
printf("ID: %d\n", book.id);
printf("標題: %s\n", book.title);
printf("作者: %s\n", book.author);
printf("價格: %.2f\n", book.price);
printf("---------\n");
}
}
// 查找圖書
void searchBook(FILE* fp) {
int id;
Book book;
printf("請輸入要查找的圖書ID: ");
scanf("%d", &id);
while (fread(&book, sizeof(Book), 1, fp) != 0) {
if (book.id == id) {
printf("ID: %d\n", book.id);
printf("標題: %s\n", book.title);
printf("作者: %s\n", book.author);
printf("價格: %.2f\n", book.price);
return;
}
}
printf("未找到該圖書\n");
}
int main() {
FILE* fp;
int choice;
fp = fopen("books.dat", "ab+"); // 打開文件,如果文件不存在則創建
if (fp == NULL) {
printf("文件打開失敗\n");
exit(1);
}
while (1) {
printf("圖書管理系統\n");
printf("1. 添加圖書\n");
printf("2. 顯示所有圖書\n");
printf("3. 查找圖書\n");
printf("0. 退出\n");
printf("請選擇操作: ");
scanf("%d", &choice);
switch (choice) {
case 1:
addBook(fp);
break;
case 2:
displayBooks(fp);
break;
case 3:
searchBook(fp);
break;
case 0:
fclose(fp); // 關閉文件
exit(0);
break;
default:
printf("無效的選擇\n");
break;
}
}
return 0;
}

這個程序使用了一個Book結構體來表示圖書信息,包括ID、標題、作者和價格。圖書信息被存儲在一個二進制文件中,每次操作時將文件指針設置到文件開頭或文件末尾來讀取或寫入數據。在程序運行過程中,用戶可以選擇添加圖書、顯示所有圖書或查找圖書。

0
蓝田县| 汪清县| 邵阳市| 康乐县| 旬阳县| 卫辉市| 东港市| 延川县| 汝南县| 阳泉市| 昭平县| 侯马市| 兴山县| 徐水县| 巴彦淖尔市| 东乡| 庄河市| 衡阳市| 盐源县| 台中市| 抚松县| 江阴市| 凤阳县| 南安市| 绍兴县| 二连浩特市| 黎城县| 新巴尔虎右旗| 浦江县| 襄汾县| 宁陕县| 蚌埠市| 于田县| 清丰县| 乌拉特中旗| 镇原县| 孙吴县| 屏东县| 克什克腾旗| 同心县| 长丰县|