sizeof是什么
第三章 图书管理系统的设计与实现
3.1系统的需求分析
图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。根据系统界面的提示信息对图书馆信息进行查询、初始化等操作
系统功能需求分析描述如下
(1)系统主菜单:进入系统和退出系统
(2)功能菜单:显示可以进行的操作
(3)查询主菜单:根据图书编号、书名、作者进行查询,并可显示所有图书信息
(4)借还书主菜单:可以进行借书和还书等操作
3.2系统的设计
3.2.1 系统的总统设计
    下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。
(1)总体思想
    本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、借书、还书等主要功能。系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。
2)系统模块结构图
    根据需求分析结果,图书管理系统可以分为三大模块:查询图书模块、借书功能模块、还书功能模块。
系统模块结构如图:   
3.2.2 系统的概要设计
    ㈠系统主菜单。
    显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。功能主要包括:退出系统、查询图书、借书、还书。
    ㈡查询图书信息
    进入此菜单功能模块,输入您要查询的图书的编号、名字、作者等。
    图书查询模块流程如图:
                                             
否          是                             
                    是
                                否
3.3 测试结果
系统主界面
功能菜单
查询系统菜单
借还系统菜单
3.4 源代码
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
typedef struct link
{
char number[100];
char bookname[100];
char author[100];
char publish[100];
char time[100];
float price;
char status[100];
struct link *next;
}link;
link *Cbook()
{
int n=0;
link *p,*q,*head;
FILE *fp;
fp=fopen("图书信息.txt","r+");
if(fp==NULL)
printf("没有到文件,请检查……");
p=(link *)malloc(sizeof(link));
if(p==NULL)
printf("申请内存出错\n");
fscanf(fp,"%s%s%s%s%s",p->number,p->bookname,p->author,p->publish,p->time);
fscanf(fp,"%f",&p->price);
fscanf(fp,"%s",p->status);
while(feof(fp)==0)
{
n++;
if(n==1)
{
    head=p;
}
else
{
q=p;
p=(link *)malloc(sizeof(link));
if(p==NULL)
printf("申请内存出错\n");
fscanf(fp,"%s%s%s%s%s",p->number,p->bookname,p->author,p->publish,p->time);
fscanf(fp,"%f",&p->price);
fscanf(fp,"%s",p->status);
q->next=p;
}
}
p->next=NULL;
fclose(fp);
printf("信息已录入");
return head;
}
void mainmenu()
{
printf("\n*****************************************\n");
printf("\n**        欢迎使用图书管理系统        **\n");
printf("\n**    1.进入系统      0.退出系统      **\n");
printf("\n*****************************************\n");
printf("\n  请选择");
}
void menu1()
{
printf("\n*****************************************\n");
printf("\n**      1.进入图书查询系统            **\n");
printf("\n**      2.进入图书借还系统            **\n");
printf("\n**      3.保存所有图书信息            **\n");
printf("\n**      4.返回上级菜单                **\n");
printf("\n*****************************************\n");
printf("\n请选择");
}
void cxmenu()
{
printf("\n*****************************************\n");
printf("\n**    1.显示所有图书信息            **\n");
printf("\n**    2.按编号查询图书              **\n");
printf("\n**    3.按书名查询图书              **\n");