图书馆管理系统-数据结构大作业_第1页
图书馆管理系统-数据结构大作业_第2页
图书馆管理系统-数据结构大作业_第3页
图书馆管理系统-数据结构大作业_第4页
图书馆管理系统-数据结构大作业_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

封面

数据结构

课程设计报告

图书管理信息系统

二O一三年十二月

本程序是图书管理信息系统的实现,具体功能包括读者注册、登录、新书增添、图书查

询、图书搜索、借还书、读存盘等。

程序流程如下:

图书管理信息系统

管理员登录读者登录管理员注册读者注册

入库

退出系统

借书还书个人信息查询

任务分析:

1.新书入库:

新到书籍入库包含几方面的操作:首先查询该书名的书籍在图书馆信息中是否已经存在,

若存在,则增加可借数量和总库存量,若不存在,则新增加概述信息,从界面输入书籍的编

号(0~999999的长整型X书名(字符串类型X作者名(字符串类型X出版社信息(字

符串类型、出版日期(整型入该书的现存量(整型卜该书的总量(整型卜输入该信息之

后将该节点插入到书籍信息链表中去。该节点的插入位置根据查找找到合适的位置插入,

这样可以保证整个数据都是有序的,方便查找。

2.读者注册:

没有账号和密码读者和管理员都不能登录系统,系统默认第一个注册系统的是系统管理

员,借阅号为1000,权限是1,并输入密码000000及基本信息,并将所借书信息区全部

置零。不是第一个注册的读者,借阅号从1000往后顺延,自己设置密码,权限为0,其余

信息与管理员相同,因此登陆之后,管理员可以看到“入库”菜单选项,普通读者不能看到该

选项。

3.借书:

书籍借阅主要涉及存书库和读者信息库的更新。用户首先登陆系统,通过3种查询方

设置为空,然后每从文件中读取一组数据,则将该数据存入新开辟的空间,链接到读者信息

链表中,再将该数据的next置空。

3、图书信息存储

书籍信息存储采用单链表存储,设置头结点,头结点不存储数据,头结点的next为空,

初始化时,从文件中读取一个格式化的数据,则将该数据存入新开辟的空间,并将该节点链

接到链表中去,将next置空。

程序主要函数:

1.增加图书:voidinsert(book*bhead);输入书号,判断是否合法,然后输入图书信息。

流程图如下

Y

2.借书:voidborrow(reader*temp,book*Bhead);通过书号、书名、作者三种查找方式查

询借书,借书成功后,该书的可借书量减1,读者借书量减1o

流程图如下:

退出

3.还书:voidreturnbook(book*bhead,reader*temp);输入书号,查询是否存在,

然后还书,该书的可借书量加1,读者借书量加1o

流程图如下:

详细程序模块

1、头文件定义

头文件library.h定义了3个结构体:书籍结构体、读者结构体和索引表结构体,

书籍结构体的定义如下:

typedefstructREADER{

longnumber;〃借阅号

charname[15];〃读者姓名

charsex;〃读者性别

charpassword[16];//读者的密码

intresidue;〃读者的剩余可借书籍数量

longborrowed[10];〃读者已经借阅的书籍编号

intlimit;〃读者权限

structREADER*next;

}reader;

读者结构体的定义如下:

typedefstructBOOK{

longnumber;〃书籍编号

charname[30];〃书名

charauthor[30];〃作者

charpress[30];〃出版社信息

longpresstime;〃出版日期

intexist//在库数量

inttotal;//总数量

structBOOK*next;

}book;

索引表结构体的定义如下:

typedefstructKEY{

longkey;

book*adress;

structKEY*next;

Jkeynode;

头文件还包含一些系统头文件的声明:

#include"stdio.h"

#include"string.hn

#include"conio.h"

#include"windows.hn

还有一些函数的声明,用#1门€^、#endif来包含,以免重复包含。

2、插入模块

插入模块分为书籍入库、注册、登陆3大块,分3个函数,声明如下:

voidinsert(book*bhead);〃入库

voidreg(reader*head);〃注册

reader*login(reader*rhead,book*bhead);//^Pi

这3个函数分别实现新书入库、读者注册、登陆等功能,入库功能只有管理员才能调

用,其余函数均可以调用。

3、读写模块

此模块主要实现向文件写入、读取数,主要是2个文件:reader.txt、book.txt,分为4

个函数:读者读写函数,书籍读写函数。定义如下:

book*Bload();〃书籍链表读取

reader*Rload();〃读者链表读入

voidBsave(book*Bhead);〃书籍链表写入

voidRsave(reader*Rhead,book*bhead);〃读者链表写入

读者和书籍链表的初始化就由读取函数完成,若文件为空则返回空指针,若不为空,则

将文件里面的信息写入到链表中,每读出一个数据,分配一个空间,将该信息输入。

4、查找模块

查找模块分书籍查找模块、读者查找模块,书籍查找模块分线性链表查询、遍历查询、

索引表查询,读者查询直接遍历读者链表,查找该读者,若存在,返回指针,不存在则

返回NULU查找模块的定义如下:

book*S_name(book*head,charname[]);〃按书籍名查找函数

voidS_author(book*head);〃按作者查找

keynode*in市ndex(book*head);〃初始化建立索弓I表

book*S_number(longnum,book*bhead);〃按书号查找

reader*S_reader(reader*rhead,longnum);〃查找读者

5、显示模块

根据给出的节点指针,显示该节点所包含的信息,显示分为读者显示和书籍信息显示,

读者信息显示包含书籍信息显示以便显示读者所借书的信息。这两个函数的声明如下:

voidshowR(reader*t「,book*bhead);〃显示读者信息函数

voidshowB(book*p);〃显示书籍信息函数

这个模块还有2个小函数,用于将存入的性别‘F'、’M'转化成汉字,将存的权限“1”、“0”

转化成管理员”、“读者”输出,这两个函数的定义如下:

char*sc(charp)

(

if(p=='F'||p==T)

return"女

else

return"男”;

}

char*lc(inti)

(

if(i==1)

return"管理员";

else

return“读者”;

}

程序运行结果

1.登录界面:

2.入库界面:

售输大用容高等数学

请输入本书作者:王

请输入本书出版社:北京大学出版社

请输入本书出版时间:2002

■-----------------------T■:赢

3.借书界面:

■------------155}----------------------------------------■

请输入您要查找借阅书籍的方式「二二一二二一一

1、按书号查找

2、按作者查找

3、按书名查找

4、返回主菜单

请输入您要查找的书籍编号

初始化索引表开始

r--------------------------------I----------------------------------------------------r[出版时间]

书本编号书籍名称出版社名称作者______

1数据结构长安大学出版社李晓辉iola

书本编号书籍名称出版社名称出版时间作者_______巴直

1数据结构长安大学出版社2002李晓辉108

请问你是否要借阅该书籍?”N

借阅成功,

,K,,t,-»-(i■、一

4.还书界面:

-还书

请输入您所还书的编号:1

初始化索弓I表开始...

书籍名称出版社名称出版时间作者_______

1数据结构长安大学出版社2002李晓辉109

索引表清空?

书籍名称出版社名称出版时间_______

1__鳌遇竺姆长安大学出版社2002_________季晓辉

燧认归坏该书籍?Y/N

5.个人信息查询界面:

吊车编号_至籍刍强—出名称出版时间_____型目期

1__数据结构王区理遐区一2002________李晓辉20131217工*后一

体会

这次的大作业让我复习并实际运用本学期学的数据结构的有关知识,例如数据的存储、

排序、调用、查找等,加深了对数据结构和C语言的理解,总的来说,收获颇丰。

代码

头文件library.h

#ifndefUBRARY」NCLUDE

#defineLIBRARYJNCLUDE

#include<stdio.h>

#include<string.h>

#include<conio.h>

#include<stdlib.h>

#include<windows.h>

#include<time.h>

typedefstructBOOK{

longnumber;

charname[30];

charauthor[30];

charpress[30];

longpresstime;

intexist;

inttotal;

structBOOK*next;

}book;

typedefstructKEY{

longkey;

book*adress;

structKEY*next;

}keynode;

typedefstructREADER{

longnumber;

charname[15];

charsex;

charpassword[16];

intresidue;

longborrowed[10][2];

intlimit;

structREADER*next;

}reader;

char*lc(inti);

char*sc(charp);

voidshowR(reader*tr,bo3k*bhead);

voidshowB(book*p);

book*S_name(book*head,charname[]);

voidS_author(book*head);

keynode*initindex(book*head);

voiddelkey(keynode*keyhead);

book*S_number(longnum,book*bhead);

reader*S_reader(reader*rhead,longnum);

book*Bload();

reader*Rload();

voidBsave(book*Bhead);

voidRsave(reader*Rhead,book*bhead);

voidinsert(book*bhead);

voidreg(reader*head);

reader*login(reader*rhead,book*bhead);

voidborrow(reader*temp,book*Bhead);

voidreturnbook(book*bhead,reader*temp);

voidstyle();

voidintpsd(char*psd);

voidmenu(structBOOK*Bhead,reader*Rhead);

voidmenu2(reader*temp,reader*rhead,book*bhead);

longbacktime();

#endif

借还书文件borrow_retum.cpp

#include"library.h"

voidborrow(reader*temp,book*Bhead)

(

style();

longnum;

inti;

chart,k,name[30];

book*Bbook;

getch();

system("cls");

while(1)

(

printf("\n「----------

");

printfC'n,.......................|借书T);

printf(H\nL----------------

");

printf("\n请输入您要查找借阅书籍的方式:");

printf("\n1、按书号查找\n");

printf("\n2、按作者查找\n”);

printf("\n3、按书名查找\n”);

printf("\n4、返回主菜单\n");

t=getch();

switch(t)

(

case'T:

(

printfCn请输入您要查找的书籍编号

scanf("%d"1&num);

if((Bbook=S_number(num,Bhead))!=NULL)

showB(Bbook);

printf(”\n请问你是否要借阅该书籍?丫仪”);

k=getch();

if(k=='Y'||k==y)

gotoborrow;

else

break;

)

else

break;

)

case'2':

(

S_author(Bhead);

break;

)

case'3,:

(

printf("\n请渝如您要查找的书籍名:");

scanf("%s",name);

if((Bbook=S_name(Bhead,name))!=NULL)

showB(Bbook);

printf("\n请问你是否要借阅该书籍?Y,N”);

k=getch();

if(k=='Y'||k==y)

gotoborrow;

else

break;

)

else

continue;

break;

)

default:

return;

borrow:if(Bbook!=NULL&&temp->residue>0&&Bbook->exist>0)

(

temp->residue--;

Bbook->exist-;

for(i=0;i<10;i++)

if(temp->borrowed[i][0]==0)

temp->borrowed[i][0]=Bbook->number;

temp->borrowed[i][1]=backtime(i;

break;

)

)

printf”n借阅成功!】

)

else

if(!(temp->residue>0))

printf("\n您只能借阅10本书籍巧;

else

if(!(Bbcok->exist>0))

printf("\n该书没有库存,请借阅其他书籍!)

printf("\n您要继续借阅书籍吗?Y/N“);

t=getch();

if(t==y||t==*Y')

continue;

else

break;

)

}

)

voidreturnbook(book*bhead,reader*temp)

(

longnum;

inti,j=0;

chart;

book*p;

printf("\n।---------------------1

printf("\n|---------------------1还书|--------------1");

printf("\n1---------------------1

printf("\n\n请输入您所还书的编号:");

scanf("%d”,&num);

for(i=0;i<10;i++)

(

it(num==temp->borrowed[i][0])

j=1;

}

p=S_number(num,bhead);

if(p!=NULL&&j==1)

pr>ntf("\n।---------1-------------1---------------1---------1---------------1");

printf(”\n|书本编号|书籍名称|出版社名称|出版时间|作者

");

pnntf('>\n|---------1-------------1---------------1---------1---------------1");

printf(n\n|%8d|%12s|%14s|%8d|%14s

H

,p->number,p->name,p->press)p->presstime,p->author);

printf("\n1---------1-------------1---------------1---------1---------------1\n");

printf("\n确认归还该书籍?丫/N)

t=getch();

if(t=='Y'||t=='y')

(

p->exist++;

temp->residue++;

for(i=0;i<10;i++)

(

if(temp->borrowed[i][0]==num)

(

temp->borrowed[i][0]=0;

temp->borrowed[i][1]=0;

break;

)

)

)

elsereturn;

)

else

(

printf("\n编号有误,请仔细检查巧;

}

)

新书入库insert.cpp

include"library.h"

voidinsert(book*bhead)

(

style();

longt;

book*temp1,*temp,*temp2;

tempi=bhead->next;

printf("\n

printf("\nj入库

printf(H\n

while(1)

(

printf(n\n请输入您给定书的编号(6位以内的正整数):");

scanf("%d",&t);

if(t<=0||t>999999)

(

printf("\n您的编号不在处理范围(M999999)之内!”);

fflush(stdin);

continue;

)

else

(

temp2=S_number(t,bhead);

if(temp2==NULL)

(

break;

)

else

(

temp2->total++;

temp2->exist++;

printf("\n编号为%d的书已存在,入库成功!,t);

return;

)

}

)

temp=(book*)malloc(sizeof(book));

temp->number=t;

printf("\n请输入书名:");

scanf("%s",temp->name);

printf("\n请输入本书作者:");

scanf("%s",temp->author);

printf("\n请输入本书出版社:");

scanf("%s",temp->press);

printf("\n请输入本书出版时间:");

scanf("%d",&temp->presstime);

temp->next=NULL;

temp->total=1;

temp->exist=1;

if(bhead->next==NU^L)

bhead->next=temp;

else

while(temp1->next!=NULL&&temp1->number<temp->number)

tempi=temo1->next;

temp->next=temp1->next;

tempi->next=temp;

)

printf("\nI--------------------1

printf("\n|---------------------1入库成功|--------------1");

printf("\n1--------------------1

)

voidreg(reader*head)

(

style();

longi=1000;

intj;

chart1[16],t2[16];

reader*temp=head->next;

reader*p;

p=new(reader);

printf("\n

printf("\nj注册

printf("\n1--------------------1”);

printf("\n请输入姓名:");

scanf("%s",p->name);

fflush(stdin);

while(1)

(

printf(n\n请输入性别:\n

M:男性:\nF:女性:");

p->sex=getchar();

if(p->sex=='F'||p->sex==T||p->sex=='M'||p->sex=='m')

break;

else

printf("\n阁下既非男,又非女,莫非来自泰国?”);

)

while(1)

(

while(1)

(

printf("\n请输入您的密码:");

intpsd(tl);

if(strlen(t1)<=4)

printf("\n您设置的密码过于简单,请重新设置

else

break;

)

printf("\n请确认您的密码

intpsd(t2);

if(strcmp(t1,t2)==0)

strcpy(p->password,t1);

break;

)

else

printf("\n您两次输入的密码不一致巧;

)

p->residue=10;

p->next=NULL;

for(j=0;j<10;j++)

(

p->borrowed[j][0]=0;

p->borrowed[j][1]=0;

)

if(temp==NULL)

p->number=i;

head->next=p;

p->limit=1;

)

else

(

++i;

while(temp->next!=NULL)

(

++i;

temp=temp->next;

)

p->number=i;

p->limit=O;

temp->next=p;

)

showR(p.NULL);

}

reader*login(reader*rhead,book*bhead)

longnum;

charpass[16];

inti=5;

reader*reader;

style();

printf("\n][

printf("\n|---------------------1登录|--------------1");

printf("\n1--------------------1

while(1)

(

printf("\n请输入您的借阅证号:");

scanf("%d",&num);

if((reader=S_reader(rhead,num))==NULL)

(

printfCn没有找到您所在编号的读者

getch();

returnNULL;

)

else

break;

}

while(i>0)

printf('*\n请输入密码:");

intpsd(pass);

if(strcmp(pass,reader->password)==0)

returnreader;

else

(

printf(',n密码错误)

returnNULL;

)

)

)

文件读、写load_save.cpp

include"library.h"

book*Bload()

(

FILE*p;

book*Bhead=(book*)malloc(sizeof(book));

book*temp,*temp1;

Bhead->next=NULL;

if((p=fopen("book.txt","r,'))==NULL)

printf("\n打开文件book.txt失败,请检查...");

returnBhead;

)

else

(

fgetc(p);

if(!feof(p))

(

printf("\n非空)

rewind(p);

temp=(book*)malloc(sizeof(book));

,,

fscanf(p1"%14d%12s%18s%8d%14s%4d%4d\n,&temp->number,temp->name,temp

->press,&temp->presstime,temp->author,&temp->total,&temp->exist);

temp->next=NULL;

Bhead->next=temp;

)

while(!feof(p))

(

tempi=(book*)malloc(sizeof(book));

fscanf(p,"%14d%12s%18s%8d%14s%4d%4d\n",&temp1->number,tempi->name,te

mp1->press,&temp1->presstime,tempi->author,&temp1->total,&temp1->exist);

temp1->next=NULL;

temp->next=temp1;

temp=temp->next;

)

printf(n\n书籍信息读取成功...");

returnBhead;

)

)

reader*Rload()

(

FILE*p;

inti;

reader*temp,*temp1;

reader*Rhead=(reader*)malloc(sizeof(reader));

Rhead->next=NULL;

if((p=fopen("reader.txt","r"))==NULL)

(

printf("\n打开文件reader.txt失败,请检查)

returnRhead;

}

else

fgetc(p);

if(!feof(p))

(

rewind(p);

temp=(reader*)malloc(sizeof(reader));

fscanf(p,,,%12d%10s%3c%8d%2d%12s",&temp->number,temp->name,&temp->sex,

&temp->residue,&temp->limit,temp->password);

for(i=0;i<10;i++)

(

fscanf(p,"%6d,,,&temp->borrowed[i][0]);

fscanf(p,"%10d",&temp->borrowed[i]|1]);

)

temp->next=NULL;

Rhead->next=temp;

)

while(!feof(p))

(

printf("\a");

tempi=(reader*)malloc(sizeof(reader));

fread(tempi,sizeof(reader),1,p);

temp1->next=NULL;

temp->next=temp1;

temp=temp->next;

)

printf(n\n读者信息读取成功...");

returnRhead;

)

)

voidBsave(book*Bhead)

(

FILE*p;

book*temp=Bhead->next;

if(temp==NULL)

return;

else

(

if((p=fopen("book.txt","w"))==NULL)

printf("\n打开book.txt失败

while(temp!=NULL)

showB(temp);

fprintf(p,"%14d%12s%14s%8d%14s%4d%4d\n",temp->number,temp->name,temp->

press,temp->presstime,temp->author,temp->total,temp->exist);

temp=temp->next;

)

printf(”\n存储书藉成功...”);

)

)

voidRsave(reader*Rhead,book*Bhead)

(

FILE*p;

inti;

reader*temp=Rhead->next;

if(temp==NULL)

return;

else

(

if((p=fopen("reader.txt","w"))==NULL)

printf(,r\n打开reader.txt失败

while(temp!=NULL)

Sleep(IOOO);

showR(temp,Bhead);

fprintf(p,"%12d%10s%3c%8d%2d%12s,,,temp->number,temp->name,temp->sex,tem

p->residue,temp->limit,temp->password);

for(i=0;i<10;i++)

(

fprintf(p,"%6d",temp->borrowed[i][0]);

fprintf(p,"%10d",temp->borrowed[i][1;);

)

temp=temp->next;

)

printfC*\n存储读者成功

)

)

图书搜索search.cpp

#include"library.h"

book*S_name(book*head,charname[])

book*temp=head->next;

if(temp==NULL)

printf("\n书库中还没有书籍,请入库巧;

else

(

while(temp!=NULL)

(

if(strcmp(temp->name,name)==O)

(

printf(”\n书名为<v%s>>的书存在匚name);

break;

)

else

temp=temp->next;

)

)

returntemp;

}

voidS_author(book*head)

charauthor[30];

book*temp=head->next;

if(temp==NULL)

printf("\n书库中还没有书籍,请入库巧;

else

(

printf(n\n请输入您要查找的作者名:“);

scanf("%s",author);

while(temp!=NULL)

(

if(strcmp(author.temp->author)==0)

showBitemp);

temp=temp->next;

)

}

getch();

)

keynode*initindex(book*head)

(

inti;

book*temp=head->next;

keynode*tempkey,*p;

printf("\n初始化索引表开始…”);

keynode*keyhead=(keynode*)malloc(sizeof(keynode));

keyhead->next=NULL;

tempkey=keyhead->next;

if(temp!=NULL)

(

p=(keynode*)malloc(sizeof(keynode));

p->key=temp->number;

p->adress=temp;

p->next=NULL;

keyhead->next=p;

tempkey=keyhead->next;

)

while(temp!=NULL)

(

for(i=0;i<5&&temp->next!=NULL;i++)

(

temp=temp->next;

)

if(i<4)

returnkeyhead;

else

p=(keynode*)malloc(sizeof(keynode));

p->key=temp->number;

p->adress=temp;

p->next=NULL;

tempkey->rext=p;

tempkey=tempkey->next;

)

}

getch();

returnkeyhead;

}

voiddelkey(keynode*keyhead)

(

keynode*temp;

if(keyhead->next==NULL)

(

free(keyhead);

)

else

while(keyhead!=NULL)

temp=keyhead;

keyhead=keyhead->next;

free(temp);

)

)

printfC”索引表清空!”);

)

book*S_number(longnum,book*bhead)

(

inti;

book*p;

keynode*keyhead=initindex(bhead);

keynode*tempkey=keyhead->next;

if(tempkey==NULL)

(

printf("\n书库无记录,请输入!");

delkey(keyhead);

returnNULL;

}

else

while(tempkey->next!=NULL)

(

if(tempkey->key<num&&tempkey->next->key<num)

tempkey=tempkey->next;

elsebreak;

)

if(tempkey==NULL)

(

printf("没有找到编号为%d的书籍匚num);

delkey(keyhead);

returnNULL;

)

else

(

p=tempkey->adress;

for(i=0;i<5&&p!=NULL;i++)

if(p->number==num)

showB(p);

delkey(keyhead);

returnp;

)

else

p=p->next;

)

delkey(keyhead);

returnNULL;

)

)

}

reader*S_reader(reader*rhead,longnum)

(

reader*temp=rhead->next;

if(temp==NULL)

(

printf(”\n文件中没有数据导入,请检查修复系统!)

returnNULL;

}

else

while(temp)

if(temp->number==num)

returntemp;

else

temp=temp->next;

)

returntemp;

)

)

显示图书及读者信息showing.cpp

#include"library.h"

voidshowR(reader*tr,book*bhead)

(

inti;

book*p;

printf("\nfi----------------iT);

printf("\n\\||读者信息||『');

printf("\n||H--------------」l||");

printf("\n|)Hnnnn||");

printf("\n||借阅证号姓名||性别||剩余可借||已借本数||权限||");

p「intf(“\n||||I||I);

printf("\n||%12d||%10s||%6s||%8d||%8d||%6s||

",tr->number,tr->name,sc(tr->sex),tr->residue,10-tr->residue,lc(tr->limit));

pnnt.fr(/.ii\nI】I"||"11"||"||"11"II)..x;

printf("\n以下为所借书籍信息:\n");

for(i=0;i<10;i++)

(

if(tr->borrowed[i|[0]==0)

continue;

else

(

printf("\n%d",tr->borrowed[i][0]);

p=S_number(tr->borrowed[i][0],bhead);

printfCn।---------1-------------1---------------1---------1---------------1---------1---------1");

printf”n|书本编号|书籍名称|出版社名称|出版时间|作者

|借书日期|可借时间|");

printf("\n|---------1-------------1---------------1---------1---------------1---------1---------1");

printf("\n|%8d|%12s|%14s|%8d|%14s|%8d|2个月|

",p->number,p->name,p->press)p->presstime,p->author,tr->borrowed[i][1]);

printf("\n\n”);

)

}

)

voidshowB(book*p)

(

Pfintf("\n।---------1-------------1---------------1---------1--------------1~~II");

printf(”\n|书本编号|书籍名称|出版社名称|出版时间|作者|共计

I可借I”);

printf("\n|---------1-------------1---------------1---------1--------------1—I~I");

printf("\n|%8d|%12s|%14s|%8d|%14s|%4d|%4d|

",p->number,p->name,p->press,p->presstime,p->author,p->total,p->exist);

printf("\n1---------1-------------1---------------1---------1--------------1一~11\n");

)

char*sc(charp)

(

jf(p=='F'||p==r)

return'女,;

else

return"男

)

char*lc(inti)

if(i==1)

return”管理员”;

else

return"读者”;

)

菜单menu.cpp

include"library.h',

voidstyle()

(

system("modeconcols=90lines=30");

system("colorOf);

system("clsH);

}

voidintpsd(char*psd)

(

inti=0;charc;

while((c=getch())!=13)

if(c!='\b'&&c!='\t'&&i<20)

psd[i]=c;

putchar('*');

i++;

)

if(c==W&&i>0)

(

print"3\b");

i-;

)

}

psd[i]='\O';

return;

)

voidmenu(book*Bhead,reader*Rhead)

(

reader*tempr;

style();

charm;inti;

while(1)

printf("\n\tI-------------1");

printf("\n\t^----------------------1长安大学图书馆卜2;

printf("\n\t|1--------------------1I1);

printf("\n\t|।।I");

printf("\n\t|

I");

printf("\n\t|

I");

printf("\n\t||1登陆

");

printf("\n\t|

I");

printf("\n\t||2、注册

”);

printf("\n\t|

I");

printf("\n\t|

I");

printf("\n\t|

I");

printf("\n\t|1----------------1->按任意键退出V-「);

printf("\n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论