小型图书信息管理系统(C语言)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.题目
《小型图书信息管理系统》的设计与实现
2.功能
(1)每一条记录包括一本图书的书名、ISBN、作者、出版社、定价、出版日期和数量。
(2)输入功能:可以一次完成无数条记录的输入。
(3)显示功能:完成全部图书信息的显示。
(4)查找功能:完成按书名查找图书信息,并显示。
(5)排序功能:按图书价格进行排序。
(6)插入功能:按图书价格高低插入一条图书信息。
(7)保存功能:将图书信息保存在任何自定义的文件中,如保存在:c:\book。
(8)读取功能:将保存在文件中的图书信息读取出来。
(9)有一个清晰美观界面来调用各个功能
3.要求
(1)整个系统均用C语言实现;
(2)利用指针、链表来实现学生成绩的数据结构设计;
(3)系统具有输入、显示、查询、删除、排序、插入,保存、读取基本功能;
(4)系统的各个功能模块都用函数的形式来实现;
(5)可以将图书信息保存在文件中。
(6)可以将图书信息从文件中读取出来。
4.源程序
#include
#include
#include
#include
#include
#define LL sizeof(BOOK_TYPE)
int maininterface();
void infor_input();
void refer();
void refer_1();
void refer_2();
void modify();
void delete();
void findbook();
void findbook1();
void findbook2();
void devise();
void main()
{
int a=0;
do
{
a=maininterface();
switch(a)
{
case 1:system("CLS");infor_input();break;
case 2:system("CLS");refer();break;
case 3:system("CLS");modify();break;
case 4:system("CLS");delete();break;
case 5:exit(0);
default:system("CLS");printf("\n\n\n\n\t\t\t无此操作,请按任意键返回:\n");getch();system("CLS");
}
}while(a!=6);
}
int maininterface()
{
int n;
printf("\n\n\n\t\t------------小型图书登记管理系统-----------\n");
printf("\n\t\t\t\t1:<录入图书信息>\n");
printf("\n\t\t\t\t2:<查询信息>\n");
printf("\n\t\t\t\t3:<修改图书信息>\n");
printf("\n\t\t\t\t4:<删除图书信息>\n");
printf("\n\t\t\t\t5:<退出系统>\n");
printf("\n\t\t\t请输入1--5,其他输入非法!\n");
scanf("%d",&n);
return n;
}
typedef struct
{
int month;
int day;
int year;
}DATES;
DATES day;
typedef struct books
{
char bookname[50];
char ISBN[50];
char author[50];
char publisher[50];
float money;
DA TES day;
int count;
struct books *next;
}BOOK_TYPE;
BOOK_TYPE ts;
struct books *head = NULL;
void infor_input()
{
FILE *fp;
int n=0;
BOOK_TYPE ts;
printf("---------------图书资料基本信息录入--------------\n");
do
{
printf("请输入书名\n");
scanf("%s",ts.bookname);
printf("请输入ISBN\n");
scanf("%s",ts.ISBN);
printf("请输入作者\n");
scanf("%s",ts.author);
printf("请输入出版社\n");
scanf("%s",ts.publisher);
printf("请输入定价\n");
scanf("%f",&ts.money);
printf("请输入出版日期\n");
scanf("%d/%d/%d",&ts.day.month,&ts.day.day,&ts.day.year);
printf("请输入数量\n");
scanf("%d",&ts.count);
printf("\n\t\t\t请选择(1:确定\t2:取消\t0:重新输入):");
scanf("%d",&n);
}while(n==0);
if(n==1)
{
if((fp=fopen("book.txt","a"))==NULL) /* 若"book.txt"文件不存在,则以创建方式打开文件*/
{
fp=fopen("book.txt","w+");
}
fwrite(&ts,LL,1,fp); /* 将输入的图书信息写入磁盘文件