图书管理系统源代码.docx

上传人:b****4 文档编号:4887800 上传时间:2023-05-07 格式:DOCX 页数:29 大小:20.03KB
下载 相关 举报
图书管理系统源代码.docx_第1页
第1页 / 共29页
图书管理系统源代码.docx_第2页
第2页 / 共29页
图书管理系统源代码.docx_第3页
第3页 / 共29页
图书管理系统源代码.docx_第4页
第4页 / 共29页
图书管理系统源代码.docx_第5页
第5页 / 共29页
图书管理系统源代码.docx_第6页
第6页 / 共29页
图书管理系统源代码.docx_第7页
第7页 / 共29页
图书管理系统源代码.docx_第8页
第8页 / 共29页
图书管理系统源代码.docx_第9页
第9页 / 共29页
图书管理系统源代码.docx_第10页
第10页 / 共29页
图书管理系统源代码.docx_第11页
第11页 / 共29页
图书管理系统源代码.docx_第12页
第12页 / 共29页
图书管理系统源代码.docx_第13页
第13页 / 共29页
图书管理系统源代码.docx_第14页
第14页 / 共29页
图书管理系统源代码.docx_第15页
第15页 / 共29页
图书管理系统源代码.docx_第16页
第16页 / 共29页
图书管理系统源代码.docx_第17页
第17页 / 共29页
图书管理系统源代码.docx_第18页
第18页 / 共29页
图书管理系统源代码.docx_第19页
第19页 / 共29页
图书管理系统源代码.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图书管理系统源代码.docx

《图书管理系统源代码.docx》由会员分享,可在线阅读,更多相关《图书管理系统源代码.docx(29页珍藏版)》请在冰点文库上搜索。

图书管理系统源代码.docx

图书管理系统源代码

#include"header.h"

#include"Struct.h"

intprintMainUI()//主界面,并返回选择,

{

intret=0;

system("cls");

printf("\n");

printf("\n┌──────────────────────────────┐");

printf("\n││");

printf("\n││");

printf("\n│*****欢迎来到图书管理系统*****│");

printf("\n││");

printf("\n││");

printf("\n│*1管理员│");

printf("\n││");

printf("\n│*2教师│");

printf("\n││");

printf("\n│*3学生│");

printf("\n││");

printf("\n│*0退出程序│");

printf("\n││");

printf("\n││");

printf("\n└──────────────────────────────┘\n");

printf("");

scanf("%d",&ret);

returnret;

}

intprintAdminUI()//管理员界面

{

intret=0;

system("cls");

printf("\n");

printf("\n┌──────────────────────────────┐");

printf("\n││");

printf("\n││");

printf("\n│*****尊贵的管理员你好*****│");

printf("\n││");

printf("\n││");

printf("\n│*1图书上架│");

printf("\n││");

printf("\n│*2图书下架│");

printf("\n││");

printf("\n│*3图书浏览│");

printf("\n││");

printf("\n│*4用户管理│");

printf("\n││");

printf("\n│*0上一层│");

printf("\n││");

printf("\n││");

printf("\n└──────────────────────────────┘\n");

printf("");

scanf("%d",&ret);

returnret;

}

intprintUerManageUI()

{

intret=0;

system("cls");

printf("\n");

printf("\n┌──────────────────────────────┐");

printf("\n││");

printf("\n││");

printf("\n│*****尊贵的管理员你好*****│");

printf("\n││");

printf("\n││");

printf("\n│*1教师用户│");

printf("\n││");

printf("\n│*2学生用户│");

printf("\n││");

printf("\n│*3浏览全部│");

printf("\n││");

printf("\n│*0上一层│");

printf("\n││");

printf("\n││");

printf("\n└──────────────────────────────┘\n");

printf("");

scanf("%d",&ret);

returnret;

}

intprintUerFunUI()

{

intret=0;

system("cls");

printf("\n");

printf("\n┌──────────────────────────────┐");

printf("\n││");

printf("\n││");

printf("\n│*****尊贵的管理员你好*****│");

printf("\n││");

printf("\n││");

printf("\n│*1查询│");

printf("\n││");

printf("\n│*2增加│");

printf("\n││");

printf("\n│*3删除│");

printf("\n││");

printf("\n│*0上一层│");

printf("\n││");

printf("\n││");

printf("\n└──────────────────────────────┘\n");

printf("");

scanf("%d",&ret);

returnret;

}

intprintTeacherUI()//教师界面

{intret=0;

system("cls");

printf("\n");

printf("\n┌──────────────────────────────┐");

printf("\n││");

printf("\n││");

printf("\n│*****尊敬的老师你好*****│");

printf("\n││");

printf("\n││");

printf("\n│*1借书│");

printf("\n││");

printf("\n│*2还书│");

printf("\n││");

printf("\n│*3图书浏览│");

printf("\n││");

printf("\n│*4续借书籍│");

printf("\n││");

printf("\n│*0上一层│");

printf("\n││");

printf("\n││");

printf("\n└──────────────────────────────┘\n");

printf("");

scanf("%d",&ret);

returnret;

}

intprintStudentUI()//学生界面

{intret=0;

system("cls");

printf("\n");

printf("\n┌──────────────────────────────┐");

printf("\n││");

printf("\n││");

printf("\n│*****亲爱的同学你好*****│");

printf("\n││");

printf("\n││");

printf("\n│*1借书│");

printf("\n││");

printf("\n│*2还书│");

printf("\n││");

printf("\n│*3图书浏览│");

printf("\n││");

printf("\n│*4续借书籍│");

printf("\n││");

printf("\n│*0上一层│");

printf("\n││");

printf("\n││");

printf("\n└──────────────────────────────┘\n");

printf("");

scanf("%d",&ret);

returnret;

}

intlogin()//登陆

{

return-1;

}

intAdminOperation(intchoice);//管理员界面的操作声明

Book*scanBooks(Book*books,int*count);//读取书籍信息

voidprintBooks(Book*books,intcount);//打印书籍信息

voidprintBook(Bookbook);

Book*uploadBooks();//图书上架

voidsaveBook(Bookbook,FILE*fp);//保存书籍信息

voidsaveBooks(Book*books,Bookbook,intlastCount,intupdateCount);

voidsaveUser(Useruser,FILE*fp);//保存用户信息

voidsaveUsers(User*users,Useruser,intlastCount,intupdateCount,char*fileName);

Book*downBooks();

User*scanUers(User*users,int*count,char*fileName);

voidprintUsers(User*users,intcount);

voidprintUser(Useruser);

voiduserFunRealized(intchoice,char*fileName);

voiduerManageRealized(intchoice);

voidaddUser(char*fileName);

voiddelUser(char*fileName);

voidtip();//提示信息

voidmainOperation(intchoice)//对于主界面的选择操作

{

intchoice1=0;

switch(choice)

{

case1:

{

do

{

choice1=printAdminUI();

AdminOperation(choice1);

}while(choice1!

=0);

}break;

case2:

{

printTeacherUI();

}break;

case3:

{

printStudentUI();

}break;

case0:

{}break;

default:

break;

}

}

intAdminOperation(intchoice)//管理员界面的操作

{

intcount=0;

switch(choice)

{

case1:

{

uploadBooks();

system("PAUSE");

}break;

case2:

{

downBooks();

system("PAUSE");

}break;

case3:

{

intcount=0;

Book*books=0;

books=scanBooks(books,&count);

printBooks(books,count);

system("PAUSE");

}break;

case4:

{

intchoice1=0;

do

{

choice1=printUerManageUI();

uerManageRealized(choice1);

}while(choice1!

=0);

}break;

case0:

{}break;

default:

break;

}

returnchoice;

}

Book*scanBooks(Book*books,int*count)

{

intnum=0;//用于存储读取到的书籍种数

inti;

FILE*fp;

books=0;

fp=fopen("Book.txt","r");

fscanf(fp,"%d",&num);

*count=num;

if(num>0)

{

books=(Book*)malloc(num*sizeof(Book));

for(i=0;i

{

books[i].bookID=(char*)malloc(sizeof(char)*256);

books[i].bookName=(char*)malloc(sizeof(char)*256);

books[i].author=(char*)malloc(sizeof(char)*256);

books[i].pubDate=(char*)malloc(sizeof(char)*256);

books[i].price=(char*)malloc(sizeof(char)*256);

books[i].style=(char*)malloc(sizeof(char)*256);

fscanf(fp,"%s",books[i].bookID);//读取数编号

fscanf(fp,"%s",books[i].bookName);//读取书名

fscanf(fp,"%s",books[i].author);//读取作者

fscanf(fp,"%s",books[i].pubDate);//读取出版日期

fscanf(fp,"%s",books[i].price);//读取金额

fscanf(fp,"%s",books[i].style);//读取类别

fscanf(fp,"%d",&(books[i].totalCount));//总入库量

fscanf(fp,"%d",&(books[i].nowCount));//库存量

fscanf(fp,"%d",&(books[i].outCount));//借出数量

}

}

fclose(fp);

returnbooks;

}

voidprintBooks(Book*books,intcount)

{

inti;

if(count<=0)

{

printf("");

printf("图书信息为空!

");

return;

}

for(i=0;i

{

printf("\t第%d款图书\n",i+1);

printBook(books[i]);

}

}

voidprintBook(Bookbook)

{

printf("\n┌──────────────────────────────┐");

printf("\n图书编号:

%s\t图书名称:

%s\t作者:

%s\t",book.bookID,book.bookName,book.author);

printf("\n出版日期:

%s\t金额:

%s\t\t类别:

%s\t",book.pubDate,book.price,book.style);

printf("\n入库总量:

%d\t现库存量:

%d\t\t借出数量:

%d\t",book.totalCount,book.nowCount,book.outCount);

printf("\n└──────────────────────────────┘\n");

}

Book*uploadBooks()

{

Bookone;

Book*books=0;

charchoice='z';

intcount=0;

inti=0;

charbookID[256];

intflag=-1;//是否库存已有该书籍标志,-1无,大于等于0则有增加

books=scanBooks(books,&count);//读取原书籍信息

system("cls");//以下开始进行添加操作

tip();//输出提示信息

printf("\n请你输入图书编号:

");

scanf("%s",bookID);

for(i=0;i

{

if(strcmp(bookID,books[i].bookID)==0)

{

flag=i;

}

}

//存在某种书籍只需要改变数量

if(flag!

=-1)

{

printf("\n管理员你好,你正在添加编号为%s的书籍为已有书籍。

",bookID);

printBook(books[flag]);

printf("\n你确定更新其数量吗?

(1-y,0-n)");

while(!

(choice=='y'||choice=='Y'||choice=='n'||choice=='N'))

{

scanf("%c",&choice);

}

if(choice=='y'||choice=='Y')//更改入库量,现存数量

{

printf("\n输入更新数量:

");

scanf("%d",&one.totalCount);

books[flag].totalCount+=one.totalCount;

books[flag].nowCount+=one.totalCount;

saveBooks(books,one,count,0);

printf("\n成功添加编号为%s的书籍:

%d本\n",bookID,one.totalCount);

}

}

else

{

one.bookID=(char*)malloc(sizeof(char)*256);

one.bookName=(char*)malloc(sizeof(char)*256);

one.author=(char*)malloc(sizeof(char)*256);

one.pubDate=(char*)malloc(sizeof(char)*256);

one.price=(char*)malloc(sizeof(char)*256);

one.style=(char*)malloc(sizeof(char)*256);

printf("\n管理员你好,你正在添加编号为%s的书籍为新进书籍。

你确定归类它吗?

(1-y,0-n)",bookID);

while(!

(choice=='y'||choice=='Y'||choice=='n'||choice=='N'))

{

scanf("%c",&choice);

}

if(choice=='y'||choice=='Y')//录取新书籍信息

{

printf("\n图书编号:

");

scanf("%s",one.bookID);//读取数编号

printf("\n图书名称:

");

scanf("%s",one.bookName);//读取书名

printf("\n作者:

");

scanf("%s",one.author);//读取作者

printf("\n出版日期:

");

scanf("%s",one.pubDate);//读取出版日期

printf("\n金额:

");

scanf("%s",one.price);//读取金额

printf("\n类别:

");

scanf("%s",one.style);//读取类别

printf("\n入库总量:

");

scanf("%d",&one.totalCount);//总入库量

printf("\n现库存量:

");

scanf("%d",&one.nowCount);//库存量

printf("\n借出数量:

");

scanf("%d",&one.outCount);//借出数量

saveBooks(books,one,count,1);//写入文件

}

}

returnbooks;

}

Book*downBooks()

{

Bookone;

Book*books=0;

charchoice='z';

intcount=0;

inti=0;

charbookID[256];

intflag=-1;//是否库存已有该书籍标志,-1无,大于等于0则有

books=scanBooks(books,&count);//读取原书籍信息

system("cls");//以下开始进行添加操作

tip();//输出提示信息

printf("\n请你输入图书编号:

");

scanf("%s",bookID);

for(i=0;i

{

if(strcmp(bookID,books[i].bookID)==0)

{

flag=i;

}

}

//存在某种书籍只需要改变数量

if(flag!

=-1)

{

printf("\n管理员你好,你正在下架编号为%s的书籍为已有书籍。

",bookID);

printBook(books[flag]);

printf("\n请核对是否有未归还的书籍,若有建议不要下架。

\n你确定让其下架吗?

(1-y,0-n)");

while(!

(choice=='y'||choice=='Y'||choice=='n'||choice=='N'))

{

scanf("%c",&choice);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2