失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 安徽科技学院 信网学院网络文化节 李彤彤

安徽科技学院 信网学院网络文化节 李彤彤

时间:2021-03-02 11:35:17

相关推荐

安徽科技学院 信网学院网络文化节 李彤彤

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#define MAX 100

///全局变量

static char glzhanghao[MAX]={“aaaaaa”};///管理员账户唯一

static char glmima[MAX]={“k666666”};

///图书结构体///

typedef struct book

{

char shuming[MAX]; //书名定义char shuhao[MAX];//书号定义char zuozhe[MAX];//作者int shuliang;//书的数量char fenlei[MAX];//书的分类char chubanshe[MAX];//书的出版社定义char banci[MAX];//版次double jiage;//价格struct book *next;///下一本书

}Book;//图书结构体

Book * book_head;///图书的头指针

int book_sum;///图书的总数\

//用户结构体

typedef struct user

{

int xuhao1;///用户的序号,用于确定用户

char name[MAX]; //用户姓名定义

char user_zhanghao[MAX];//账号定义

char user_mima[MAX];//账号密码

int zhengjianhao;///证件号

char jieyue[MAX];///用户正在借阅的图书int n;///用户正在借阅的数量struct user *next;///下一个用户

}User;//用户结构体

User * user_head;///用户的头指针

int user_sum;///用户的总数

/

void save() //保存数据到文件

{

FILE* fp = fopen(“user.txt”, “wb”);///定义一个指向文件的指针fp,并以只写的方式打开文件

User* t = user_head->next;

while (t)

{

fwrite(t, sizeof(User), 1, fp);

t = t->next;

}

fclose(fp);

FILE *fp1 = fopen("book.txt", "wb");///定义一个指向文件的指针fp,并以只写的方式打开文件Book* s = book_head->next;while (s){fwrite(s, sizeof(Book), 1, fp1);///将所有数据输出到fp指向磁盘文件中s = s->next;}fclose(fp1);

}

//创建链表//

void creatbooklist(char *shuming,char *shuhao,char *zuozhe,int shuliang,double jiage,char *fenlei,char *chubanshe,char *banci)///创建图书链表

{

Bookp1=(Book)malloc(sizeof(Book));///

p1=book_head;///将头指针赋给p1

while(p1->next)///当p1的next为真时

p1=p1->next;///p1始终指向尾结点

Book *p2=(Book*)malloc(sizeof(Book));strcpy(p2->shuming ,shuming);strcpy(p2->shuhao ,shuhao);strcpy(p2->zuozhe ,zuozhe);p2->shuliang =shuliang;p2->jiage =jiage;strcpy(p2->fenlei ,fenlei);strcpy(p2->chubanshe ,chubanshe);strcpy(p2->banci ,banci);p2->next=NULL;p1->next=p2;save();

}

void creatuserlist(char *name,char *user_zhanghao,char *user_mima,int zhengjianhao,char *jieyue)///创建用户信息链表

{

Userp1=(User)malloc(sizeof(User));///

p1=user_head;///将头指针赋给p1

while(p1->next)///当p1的next为真时

p1=p1->next;///p1始终指向尾结点

User *p2=(User*)malloc(sizeof(User));strcpy(p2->name,name);strcpy(p2->user_zhanghao ,user_zhanghao);strcpy(p2->user_mima ,user_mima);p2->zhengjianhao =zhengjianhao;strcpy(p2->jieyue ,jieyue);p2->next=NULL;p1->next=p2;save();

}

图书管理部分//

void addbook()///添加图书

{

char shuming[MAX]; //书名定义

char shuhao[MAX];//书号定义

char zuozhe[MAX];//作者

int shuliang;//书的数量

double jiage;

char fenlei[MAX];//书的分类

char chubanshe[MAX];//书的出版社定义

char banci[MAX];//版次

printf(“请输入要添加图书的书名、书号、作者、数量、类别\n”);

printf("书名:");scanf("%s",shuming);printf("书号:");scanf("%s",shuhao);Book *b=(Book*)malloc(sizeof(Book));b=book_head;while(b){if(strcmp(b->shuhao,shuhao)==0) {printf("该书号已存在,请重新输入!");addbook();}b=b->next;}printf("作者:");scanf("%s",zuozhe);printf("书的数量:");scanf("%d",&shuliang );if(shuliang<=0) {printf("数量输入有问题!请重新输入数量!\n");addbook();}printf("书的价格:");scanf("%lf",&jiage );if(jiage<=0) {printf("价格输入有问题!请重新输入价格!\n");addbook();}printf("书的分类:");scanf("%s",fenlei);printf("书的出版社:");scanf("%s",chubanshe);printf("书的版次:");scanf("%s",banci);++book_sum;creatbooklist(shuming,shuhao,zuozhe,shuliang,jiage,fenlei,chubanshe,banci);printf("添加书籍%s成功!\n",shuming);system("pause");system("cls");

}

void outbook()///输出全部图书信息

{

int xuhao=1;

if(!book_sum)

{

printf(“本系统内暂无图书,请联系管理员添加图书!\n”);

return ;

}

Bookb=(Book)malloc(sizeof(Book));

b=book_head->next;

printf(“全部图书信息如下所示:\n”);

printf(“序号 书名 书号 作者 数量 价格 分类 出版社 版次\n”);

while(b)

{

printf("%-9d",xuhao);

printf("%-16s",b->shuming );

printf("%-9s",b->shuhao);

printf("%-9s",b->zuozhe);

printf("%-9d",b->shuliang);

printf("%-9.2lf",b->jiage);

printf("%-9s",b->fenlei);

printf("%-15s",b->chubanshe);

printf("%-9s\n",b->banci);

b=b->next;

++xuhao;

}

}

/查找方式///

void zuozhe()/按作者查找

{

int xuhao=1;

int t=0;

char zuozhe[MAX];

Bookb=(Book)malloc(sizeof(Book));

b=book_head->next;

printf(“请输入需要查找的作者的图书:”);

scanf("%s",zuozhe);

printf(“该作者的图书信息如下所示:\n”);

printf(“序号 书名 书号 作者 数量 价格 分类 出版社 版次\n”);

while(b)

{

if(strcmp(b->zuozhe,zuozhe)==0)

{

printf("%-9d",xuhao);

printf("%-16s",b->shuming );

printf("%-9s",b->shuhao);

printf("%-9s",b->zuozhe);

printf("%-9d",b->shuliang);

printf("%-9.2lf",b->jiage);

printf("%-9s",b->fenlei);

printf("%-15s",b->chubanshe);

printf("%-9s\n",b->banci);

t=1;

}

b=b->next;

++xuhao;

}

if(t==0)printf("本系统内暂无该作者的图书的信息!!!");system("pause");system("cls");

}

void fenlei()按分类查找

{

int xuhao=1;

int t=0;

char fenlei[MAX];

Bookb=(Book)malloc(sizeof(Book));

b=book_head->next;

printf(“请输入需要查找的分类的图书:”);

scanf("%s",fenlei);

printf(" 该分类的图书信息如下所示:\n");

printf(“序号 书名 书号 作者 数量 价格 分类 出版社 版次\n”);

while(b)

{

if(strcmp(b->fenlei,fenlei)==0)

{

printf("%-9d",xuhao);

printf("%-16s",b->shuming );

printf("%-9s",b->shuhao);

printf("%-9s",b->zuozhe);

printf("%-9d",b->shuliang);

printf("%-9.2lf",b->jiage);

printf("%-9s",b->fenlei);

printf("%-15s",b->chubanshe);

printf("%-9s\n",b->banci);

t=1;

}b=b->next;++xuhao;}if(t==0)printf("本系统内暂无该分类的图书的信息!!!");system("pause");system("cls");

}

void shuming()/按书名查找

{

int xuhao=1;

int t=0;

char shuming[MAX];

Bookb=(Book)malloc(sizeof(Book));

b=book_head->next;

printf(“请输入需要查找的书名:”);

scanf("%s",shuming);

printf(“序号 书名 书号 作者 数量 价格 分类 出版社 版次\n”);

while(b){if(strcmp(b->shuming,shuming)==0){printf("%-9d",xuhao);printf("%-16s",b->shuming );printf("%-9s",b->shuhao);printf("%-9s",b->zuozhe);printf("%-9d",b->shuliang);printf("%-9.2lf",b->jiage);printf("%-9s",b->fenlei);printf("%-15s",b->chubanshe);printf("%-9s\n",b->banci);t=1;break;}b=b->next;++xuhao;}if(t==0)printf("本系统内暂无%s的信息!!!",shuming[MAX]);system("pause");system("cls");

}

/更改库存///

void kucun()

{

int xuhao=1;

int t=0;

int kucun;

char shuming[MAX];

Bookb=(Book)malloc(sizeof(Book));

b=book_head->next;

printf(“请输入需要修改库存的书名:”);

scanf("%s",shuming);

printf(“序号 书名 书号 作者 数量 价格 分类 出版社 版次\n”);

while(b)

{

if(strcmp(b->shuming,shuming)==0)

{

printf("%-9d",xuhao);printf("%-16s",b->shuming );printf("%-9s",b->shuhao);printf("%-9s",b->zuozhe);printf("%-9d",b->shuliang);printf("%-9.2lf",b->jiage);printf("%-9s",b->fenlei);printf("%-15s",b->chubanshe);printf("%-9s\n",b->banci);t=1;break;}b=b->next;++xuhao;}if(t==0)printf("本系统内暂无%s的信息!!!",shuming[MAX]);printf("请输入修改后的库存:");scanf("%d",&kucun);printf("是否确认修改?1.是 2.否(请输入1或2选择功能)\n");int a;scanf("%d",&a);if(a==1||a==2){if(a==1){b->shuliang =kucun;save();printf("更改库存成功!!!");}if(a==2)return;}else printf("指令选择有误!!!\n");system("pause");system("cls");

}

void sum()

{

int a;

int sum1=0;

int sum2=0;

double sum=0;

printf(“1.查看图书总图书库存量\n”);

printf(“2.查看图书总用户量\n”);

printf(“3.查看图书总图书资产\n”);

scanf("%d",&a);

if(a==1)

{

Bookb=(Book)malloc(sizeof(Book));

b=book_head->next;

while(b)

{

sum1=sum1+b->shuliang;

b=b->next;

}

printf(“本图书馆的总图书库存为%d\n”,sum1);

}

if(a==2)

{

User *b=(User*)malloc(sizeof(User));b=user_head->next;if(b) sum2++;printf("用户一共有%d位!\n",sum2);

}

if(a==3)

{

Bookb=(Book)malloc(sizeof(Book));

b=book_head->next;

while(b)

{

double c;

c=b->shuliang*b->jiage;

sum=sum+c;

b=b->next;

}

printf(“本图书馆的图书总价为%.2lf\n”,sum);

}

}

void delbook() //删除图书信息

{

outbook();printf("请输入待删除的书籍序号(输入 -1 退出删除操作):\n");int xuhao; scanf("%d", &xuhao);if (xuhao == -1){printf("已成功退出删除系统!\n");system("pause"); system("cls");return;}else if (xuhao > book_sum || xuhao <= 0){printf("请正确输入待删除的图书序号!\n");}else{Book* tb = (Book*)malloc(sizeof(Book));Book* np = (Book*)malloc(sizeof(Book));np = book_head;tb = book_head->next;for (int i = 1; i < xuhao; ++i)///找到需要删除的位置{np = tb;tb = tb->next;} np->next = tb->next;free(tb);--book_sum;save();printf("该图书已从系统内删除成功!\n");}system("pause");system("cls");

}

用户信息管理/

void outuser()///输出全部用户信息

{

int xuhao1=1;

if(!user_sum)

{

printf(“本系统内暂无用户账号,请联系管理员添加账号!\n”);

return ;

}

Userb=(User)malloc(sizeof(User));

b=user_head->next;

printf(“全部用户信息如下所示:\n”);

while(b)

{

printf(“序号:%d\n”,xuhao1);

printf(“姓名:%s\n”,b->name );

printf("账号:%s\n",b->user_zhanghao );printf("密码:%s\n",b->user_mima);printf("证件号:%d\n",b->zhengjianhao );printf("正在借阅的书籍:%s\n" ,b->jieyue);for(int i=0;i<b->n;i++){printf("%s",b->jieyue[i]);}b=b->next;++xuhao1;}

}

void adduser()///添加账户

{

char name[MAX]; //用户姓名定义

char user_zhanghao[MAX];//账号定义

char user_mima[MAX];//账号密码

int zhengjianhao;///证件号

// User_book b[10];

char jieyue[MAX];///用户正在借阅的图书

printf(“请输入要添加的账户信息(添加账户时请将用户正在借阅的书籍设为无):\n”);

printf("姓名:");scanf("%s",name);printf("账号:");scanf("%s",user_zhanghao);printf("密码:");scanf("%s",user_mima);printf("证件号:");scanf("%d",&zhengjianhao );printf("用户正在借阅的书:");scanf("%s",jieyue);++user_sum;creatuserlist(name,user_zhanghao,user_mima,zhengjianhao,jieyue);printf("添加用户:%s成功!\n",name);system("pause");system("cls");

}

void deluser() //删除用户账号

{

outuser();printf("请输入待删除的用户序号(输入 -1 退出删除操作):\n");int xuhao1;scanf("%d", &xuhao1);if (xuhao1 == -1){printf("已成功退出删除系统!\n");system("pause"); system("cls");return;}else if (xuhao1 > user_sum || xuhao1 <= 0){printf("请正确输入待删除的用户序号!\n");}else{User* tb = (User*)malloc(sizeof(User));User* np = (User*)malloc(sizeof(User));np = user_head;tb = user_head->next;for (int i = 1; i < xuhao1; ++i)///找到需要删除的位置{np = tb;tb = tb->next;}np->next = tb->next;free(tb);--user_sum;save();printf("该用户账号已从系统内删除成功!\n");}system("pause");system("cls");

}

//借阅部分///

void duzhejieyue()//按书号借阅图书

{

int n=0;

User *l=(User *)malloc(sizeof(User));

l=user_head->next ;

int t=0;

char zh[MAX];

int ID;

int xuhao1=1;

printf(“用户请再输入您的账号以进行接下来的操作!\n”);

scanf("%s",zh);

printf(“请输入您的证件号以进行接下来的操作!\n”);

scanf("%d",&ID);

while(l)

{

if((strcmp(l->user_zhanghao,zh)0)&&(l->zhengjianhaoID)) break;

else if((strcmp(l->user_zhanghao,zh)0)&&(l->zhengjianhao!=ID)) printf(“密码错误!请从新登陆!”);

l=l->next;

++xuhao1;

}

if(IDl->zhengjianhao)

{

int xuhao=1;

char shuhao[MAX];

Bookb=(Book)malloc(sizeof(Book));

b=book_head->next;

printf(“请输入需要查找的书号的图书:”);

scanf("%s",shuhao);

while(b)

{

if(strcmp(b->shuhao,shuhao)0)

{

printf(" 该图书信息如下所示:\n");

printf(“书名:%s\n”,b->shuming);

printf(“书号:%s\n”,b->shuhao);

printf(“作者:%s\n”,b->zuozhe);

printf(“书的数量:%d\n”,b->shuliang);

printf(“书的价格:%.2lf\n”,b->jiage);

printf(“书的分类:%s\n”,b->fenlei);

printf(“书的出版社:%s\n”,b->chubanshe);

printf(“书的版次:%s\n”,b->banci);

t=1;

break;

}

b=b->next;

}

if(t0)

printf(“本系统内暂无该书号的图书的信息!!!”);

while(b)

{

if(b->shuliang>0)

{

printf(“该图书可以借阅!\n”);

printf(“1.确定借阅!\n”);

printf(“2.退出系统!\n”);

int s;

scanf("%d",&s);

switch(s)

{

case 1:

{

b->shuliang=b->shuliang-1;

Useru1=(User)malloc(sizeof(User));

u1=user_head;//用u1指向用户

while(u1->next)

u1=u1->next; //u1始终指向尾结点

Useru2=(User)malloc(sizeof(User));

u2=user_head->next;

while(u2)

{

if(u2->zhengjianhao ==ID)

{

printf(“姓名:%s\n”,u2->name );

printf(“账号:%s\n”,u2->user_zhanghao );

printf(“证件号:%d\n”,u2->zhengjianhao );

break;

}

u2=u2->next;

}

while(u2)

{

strcat(u2->jieyue ,b->shuming);

break;

}

save();

printf(“借阅成功!!!”);

}

case 2:return ;

}

}else {printf("该图书库存不足,欢迎下次借阅!");break;}}}

}

void backbook() 还书

{

int n=0;

User *l=(User *)malloc(sizeof(User));

l=user_head->next ;

int t=0;

char zh[MAX];

int ID;

int xuhao1=1;

printf(“用户请再输入您的账号以进行接下来的操作!\n”);

scanf("%s",zh);

printf(“请输入您的证件号以进行接下来的操作!\n”);

scanf("%d",&ID);

while(l)

{

if((strcmp(l->user_zhanghao,zh)0)&&(l->zhengjianhaoID)) break;

l=l->next;

++xuhao1;

}

if(ID==l->zhengjianhao)

printf(“您借阅图书有:”);

printf("%s\n",l->jieyue);

printf(“请输入您要归还的图书书名:”);

char c[MAX];

scanf("%s",c);

int lent=strlen©;

charp;

while(p=strstr(l->jieyue,c))//找到l->jieyue中第一次与c匹配的地址,若找不到返回NULL

{//strstr

while((p+lent)!=’\0’)

{//能找到

p=(p+lent);//从开始找到的位置将去掉c的那部分复制过来

p++;

}

*p=’\0’;//s串打上结束标志

}

Bookb=(Book)malloc(sizeof(Book));

b=book_head->next;

while(b)

{

if(strcmp(b->shuming,c)==0)

{

b->shuliang=b->shuliang+1;

break;

}

b=b->next;}

printf(“您现在借阅图书有:”);

printf("%s\n",l->jieyue);

save();

}

//菜单//

void menu_chazhao()/查找方式的菜单/

{

int c;

system(“color 0B”);

system(“cls”);

printf("\t\t\t ◆◇请选择查找方式◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇1.按书名查找◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇2.按作者查找◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇3.按分类查找◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇0.退出◇◆\t\t\t\t\n" );

printf( “〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n” );

printf("\t\t\t ◆◇请选择功能◇◆\t\t\t\t\n");

scanf("%d",&c);system(“cls”);

switch©

{

case 1: shuming();system(“pause”);menu_chazhao();break;

case 2: zuozhe();system(“pause”);menu_chazhao();break;

case 3: fenlei();system(“pause”);menu_chazhao();break;

case 0: return ;

default:printf(“指令错误,请重新输入!!!\n”);system(“pause”);system(“cls”);break;

}

}

void menu_chazhaouser()/查找方式的菜单/

{

int c;

system(“color 0B”);

system(“cls”);

printf("\t\t\t ◆◇借阅图书◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇1.按书名查找◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇2.按作者查找◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇3.按分类查找◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇4.借阅图书◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇0.退出◇◆\t\t\t\t\n" );

printf( “〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n” );

printf("\t\t\t ◆◇请选择功能◇◆\t\t\t\t\n");

scanf("%d",&c);system(“cls”);

switch©

{

case 1: shuming();system(“pause”);menu_chazhaouser();break;

case 2: zuozhe();system(“pause”);menu_chazhaouser();break;

case 3: fenlei();system(“pause”);menu_chazhaouser();break;

case 4: duzhejieyue();system(“pause”);menu_chazhaouser();break;

case 0: return ;

default:printf(“指令错误,请重新输入!!!\n”);system(“pause”);system(“cls”);break;

}

}

void menu_gly()//管理员管理菜单

{

//load();

int b;

system(“color 0B”);

system(“cls”);

printf(“登录成功!!!欢迎使用图书管理系统!!!\n”);

printf( “〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n” );

printf( “\t\t\t◆◇管理员管理系统◇◆\t\t\t\t\n” );

printf( “〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n” );

printf("\t\t\t ◆◇请选择管理模式◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇1.添加图书◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇2.删除图书◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇3.查找图书◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇4.更改图书库存◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇5.显示全部图书◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇6.添加读者账户◇◆\n" );

printf("\t\t\t ◆◇7.浏览读者信息◇◆\t\t\t\t\n" );

printf("\t\t\t◆◇8.删除读者信息◇◆\n" );

printf("\t\t ◆◇9.查看图书库存和总读者量◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇0.退出◇◆\t\t\t\t\n" );

printf( “〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n” );

printf("\t\t\t ◆◇请选择功能◇◆\t\t\t\t\n");

scanf("%d",&b);system(“cls”);

switch(b)

{

case 1:addbook();system(“pause”);menu_gly();system(“pause”);break;

case 2: delbook();system(“pause”);menu_gly();system(“pause”);break;

case 3:menu_chazhao();system(“pause”);menu_gly();system(“pause”);break;

case 4:kucun();system(“pause”);menu_gly();system(“pasue”);break;

case 5: outbook();system(“pause”);menu_gly();system(“pause”);break;

case 6: adduser();system(“pause”);menu_gly();system(“pause”);break;

case 7: outuser();system(“pause”);menu_gly();system(“pause”);break;

case 8: deluser();system(“pause”);menu_gly();system(“pause”);break;

case 9: sum();system(“pause”);menu_gly();system(“pause”);break;

case 0:return ;

default:printf(“指令错误,请重新输入!!!\n”);system(“pause”);system(“cls”);break;

}

}

void menu_jyz()//借阅者/

{

int c;

system("color 0B");system("cls");printf( "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n" );printf( "\t\t\t ◆◇读者借阅系统◇◆\t\t\t\t\n" );printf( "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n" );printf("\t\t\t ◆◇请选择读者模式◇◆\t\t\t\t\n" );printf("\t\t\t ◆◇1.借阅图书◇◆\t\t\t\t\n" );printf("\t\t\t ◆◇2.归还图书◇◆\t\t\t\t\n" );printf("\t\t\t ◆◇3.退出系统◇◆\t\t\t\t\n" );printf( "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n" );printf("\t\t\t ◆◇请选择功能◇◆\t\t\t\t\n");scanf("%d",&c);system("cls");switch(c){case 1: menu_chazhaouser();system("pause");break;case 2: backbook();system("pause");break;case 3:return ;default:printf("指令错误,请重新输入!!!\n");system("pause");system("cls");break;}

}

void gly_dl()管理员登陆///

{

char zh[MAX];

char mm[MAX];

system(“color 0B”);

system(“cls”);

printf( “〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n” );

printf("\t\t\t ◆◇请登录管理员账户◇◆\t\t\t\t\n" );

printf( “〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n” );

printf("\t\t\t 温馨提示:请正确输入账号与密码!!\t\t\t\t\n" );

printf( “〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n” );

printf(“账号:”);

scanf("%s",zh);

printf(“密码:”);

scanf("%s",mm);

if(strcmp(glzhanghao,zh)==0&&strcmp(glmima,mm)==0) menu_gly();else {printf("账号或密码出错!!!");system("pause");system("cls");}

}

void user_jyz()借阅者登陆

{

system(“cls”);

char a[MAX],b[MAX];

printf( “〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n” );

printf("\t\t\t ◆◇请输入用户账户◇◆\t\t\t\t\n" );

printf("\t\t\t ◆◇请输入用户密码◇◆\t\t\t\t\n" );

printf( “〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n” );

scanf("%s",a);

scanf("%s",b);

//int xuhao1=1;

//int t=0;

Useru=(User)malloc(sizeof(User));

u=user_head->next;

while(u)

{

if(strcmp(u->user_zhanghao,a)==0)

{

if(strcmp(u->user_mima,b)==0) menu_jyz();

else {printf(“密码输入错误!”);system(“pause”);system(“cls”);break;}

}

//t=1;

u=u->next;

// ++xuhao1;

}

}

///

void load() //从文件中加载数据

{

book_head = (Book*)malloc(sizeof(Book));///创建图书头结点book_head->next = NULL;///将其next域置为NULLbook_sum = 0;///将图书总数初始化为0FILE* fp1;///定义一个指向文件的指针fp1fp1 = fopen("book.txt", "rb");///以只读的方式打开book.txtif (fp1 == NULL)///如果文件为空,存储失败{fp1 = fopen("book.txt", "wb");if (fp1 == NULL){printf("图书存储失败!\n"); exit(0);}fclose(fp1);}else///如果文件不为空{Book* bp = (Book*)malloc(sizeof(Book));///建立一个图书节点bp = book_head;///令他为头指针Book* tp = (Book*)malloc(sizeof(Book));while (fread(tp, sizeof(Book), 1, fp1))///fread从文件中读取一个数据块 读入数据///从fp1指向的文件中读入一个Book长度的数据,存储到节点中///读取book.txt文件,实现将文件中数据存入tp链表中{bp->next = tp;++book_sum;///图书总数加1tp = tp->next;///指针后移tp = (Book*)malloc(sizeof(Book));///再建立一个节点bp = bp->next;}fclose(fp1);}user_head = (User*)malloc(sizeof(User));user_head->next = NULL;user_sum = 0;FILE* fp2;fp2 = fopen("user.txt", "rb");if (fp2 == NULL){system("color 0B");printf("本系统暂时无读者用户账号,请管理员添加读者用户账号!!!\n");system("pause");system("cls");menu_gly(); return ;printf("账户存储失败!!!\n");exit(0);}User* np = (User*)malloc(sizeof(User));np = user_head;User* t = (User*)malloc(sizeof(User));while (fread(t, sizeof(User), 1, fp1)){np->next = t;++user_sum;///用户总数加1t = t->next;///指针后移t = (User*)malloc(sizeof(User));np = np->next;}fclose(fp2);

}

//主函数//

void main()

{

int i;

int a=0;

int sum=0;

char zh[MAX];

char mm[MAX];

load();system("color 0B");system("cls");printf( "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n" );printf( "\t\t\t ◆◇图书管理系统◇◆\t\t\t\t\n" );printf( "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n" );printf( "\t\t\t~~~欢迎使用图书管理系统~~~\t\t\t\n");printf( "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n" );printf("\t\t\t ◆◇请选择登录模式◇◆\t\t\t\t\n" );printf("\t\t\t ◆◇1.管理员登录◇◆\t\t\t\t\n" );printf("\t\t\t ◆◇2.读者登录◇◆\t\t\t\t\n" );printf("\t\t\t ◆◇3.退出系统◇◆\t\t\t\t\n" );printf( "〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n" );scanf("%d",&i);system("cls");switch(i){case 1:gly_dl();main();break;case 2: user_jyz();main();break;case 3:printf("\t\t\t ~~~谢谢使用!!!~~~\t\t\t \n" );exit(0);}

}

如果觉得《安徽科技学院 信网学院网络文化节 李彤彤》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。