本课程设计旨在通过C语言实现一个基本的图书管理系统的开发,涵盖图书信息的增删改查等功能,以提升学生的编程实践能力。
```c
#include
#include
#include
typedef struct {
char number[10]; //书号
char name[20]; //书名
char author[20]; //作者
char publish[50];//出版社
char time[20]; //出版时间
float price; //价格
} mbook;
typedef struct {
int count;//书的本数
mbook book[100]; //最大可有100本书
} mlibrary;
mlibrary library;
void save()//保存图书信息。
{
FILE *fp = fopen(library.doc, wb);
if (fp == NULL) return;
fwrite(&library.count, sizeof(int), 1, fp);
fwrite(library.book,sizeof(mbook), library.count, fp);
fclose(fp);
}
void putin()
{
FILE *fp;
int i;
for(i=0;i<99 && strcmp(library.book[i].number,);i++);
if (i>=98) { printf(已达到最大数量\n); fflush(stdin); getchar(); return; }
mbook book;
printf(\t请输入图书号:); scanf(%s,book.number);
printf(\t请输入书名:); scanf(%s,book.name);
printf(\t请输入作者名字:);scanf(%s,book.author);
printf(\t输入出版社名称:);scanf(%s,book.publish);
printf(\t输入出版日期(如2019-5): );scanf(%s, book.time);
printf(\t输入价格(元):); scanf(%f,&book.price);
strcpy(library.book[i].name,book.name);
strcpy(library.book[i].number,book.number);
strcpy(library.book[i].publish,book.publish);
strcpy(library.book[i].author,book.author);
library.book[i].price=book.price;
library.count++;
save();
fflush(stdin); getchar();
}
void lookup()
{
int i;
for(i=0;i0 && a<=i)
{
for(i=a-1;i<98 ;i++)
{
strcpy(library.book[i].number, library.book[i+1].number);
strcpy(library.book[i].name ,library.book[i+1].name );
strcpy(library.book[i].author,library.book[i+1].author);
strcpy(library.book[i].publish,library.book[i+1].publish);
}
library.count--;
}
save();
break;
case 5:
for(i=0;i<98 ;i++)
{
printf(%-10d %-25s %-8s %3d元\n, i+1,
library.book[i].name ,