/*
*
* ┏┓ ┏┓
* ┏┛┻━━━┛┻┓
* ┃ ┃
* ┃ ━ ┃
* ┃ > < ┃
* ┃ ┃
* ┃... ⌒ ... ┃
* ┃ ┃
* ┗━┓ ┏━┛
* ┃ ┃
* ┃ ┃
* ┃ ┃
* ┃ ┃ 神兽保佑
* ┃ ┃ 代码无bug
* ┃ ┃
* ┃ ┗━━━┓
* ┃ ┣┓
* ┃ ┏┛
* ┗┓┓┏━┳┓┏┛
* ┃┫┫ ┃┫┫
* ┗┻┛ ┗┻┛
*
* @Author: Ye Yi
* @Date: 2020-12-28 19:21:35
* @LastEditTime: 2021-01-01 16:53:15
* @LastEditors: Ye Yi
* @Description:
* @FilePath: \v2.1\cs.cpp
*/
#include <stdio.h>
#include <stdlib.h> //清屏函数需要的头文件
#include <string.h> //字符复制,比较,连接函数需要的头文件
#include <time.h> //获取时间的函数需要的头文件
#include <conio.h> //输入不实时打印函数需要的头文件
#include <ctype.h> //判断是否能打印函数需要的头文件
#include <windows.h> //改变字体颜色需要的头文件
#define MAXSIZE 100
struct INF //用户基本信息结构体
{
int tes;
char name[MAXSIZE];
char id[MAXSIZE];
char passwd[MAXSIZE];
char booknum[MAXSIZE][MAXSIZE]; //记录书号
int bookn; //变量,用来存储书的标记号
int booknu[MAXSIZE]; //记入每种书借了多少本
int y[MAXSIZE];
int m[MAXSIZE];
int d[MAXSIZE];
};
typedef struct Node //存储书籍基本信息的结构体
{
char num[MAXSIZE];
char name[MAXSIZE];
char author[MAXSIZE];
int bookflag;
int now;
int all;
struct Node *next;
} Node, *LinkList;
INF inf[MAXSIZE];
int logout = 0;
int fl = 0;
int main();
int login(int); //登录系统
int init(LinkList &); //书籍信息初始化
void initinf(); //添加5个用户 管理员账户为1,密码为1;普通账户2,3,4,5,密码分别为2,3,4,5。
int in(LinkList &); //录入书籍信息
void switchl(LinkList &, int); //选择借阅书籍方式
int lend(LinkList &, char *, int, int); //通过书号借阅书籍
int lend1(LinkList &, char *, int, int); //通过书名借出书籍
void switchr(LinkList &, int); //选择归还书籍方式
int returnb(LinkList &, char *, int, int); //通过书号归还书籍
int returnb1(LinkList &, char *, int, int); //通过书名归还书籍
int show(LinkList &); //显示图书馆中所有书籍
int own(LinkList &, int); //查看自己借的书籍以及归还时间
int bookdataw(LinkList &); //存储图书馆中所有书籍数据
int bookdatar(LinkList &); //读取存储图书馆中所有书籍的数据
int userdataw(LinkList &, int); //存储用户借阅所有书籍数据
int userdatar(int); //读取用户借阅所有书籍数据
void color(short); //改变字体颜色
void getpwd(char *, int); //密码转星号
int main()
{
int flag0 = 0;
printf("\t\t\t\t\t\t欢迎来到海南大学图书管理系统\n");
do
{
char tell[MAXSIZE], pas[MAXSIZE];
int r = 0, r1, r2 = 0;
int flag1 = 0, flag2 = 0; //循环标志
inf[0].tes = 0;
initinf();
do
{
printf("\t\t请输入你的账号:");
scanf("%s", tell);
fflush(stdin);
if (inf[0].tes == 0)
{
color(4);
printf("没有录入学生!\n");
color(16);
flag0 = 1;
}
if (!strcmp(tell, "\r"))
flag1 = 1;
while (strcmp(inf[r].id, tell) && strcmp(tell, "\r"))
{
if (r >= MAXSIZE)
{
color(4);
printf("不存在此用户!!\n");
color(16);
flag1 = 1;
break;
}
else
{
flag1 = 0;
flag0 = 0;
}
r++;
}
r1 = r;
if (!strcmp(inf[r].id, tell))
{
flag0 = 0;
flag1 = 0;
}
r = 0;
} while (flag1);
if (flag0 == 1)
break;
do //用户输入密码
{
printf("\t\t请输入你的密码:");
r2++;
getpwd(pas, MAXSIZE + 1);
fflush(stdin);
if (r2 > 2)
{
system("cls");
color(4);
printf("密码输入错误超过3次,请检查你的账号是否正确!!\n");
color(16);
flag0 = 1;
break;
}
if (strcmp(inf[r1].passwd, pas))
{
color(4);
printf("密码错误,请重新输入!\n");
color(16);
flag2 = 1;
}
else //账户密码正确,登录系统
{
system("cls"); //使用system("cls")出现bug,启用手动清屏
flag2 = 0;
flag0 = 0;
login(r1);
}
} while (flag2);
} while (flag0);
}
int login(int r2) //登录系统
{
int a, flag = 0;
LinkList Ctr;
bookdatar(Ctr);
userdatar(r2);
if (logout == 1)
init(Ctr);
logout = 0;
while (!flag)
{
if (r2 == 0)
{
if (fl == 0)
{
printf("\t\t\t\t\t%s,欢迎来到海南大学图书管理系统\n", inf[r2].name);
fl++;
}
else
{
printf("\t\t\t\t\t\t请选择:\n");
}
printf("\t\t\t\t\t\t1.采编入库\n"
"\t\t\t\t\t\t2.借阅\n"
"\t\t\t\t\t\t3.归还\n"
"\t\t\t\t\t\t4.查看图书馆书籍\n"
"\t\t\t\t\t\t5.查看已借阅书籍\n"
"\t\t\t\t\t\t6.注销\n"
"\t\t\t\t\t\t7.退出\n");
printf("\t\t\t\t\t请选择你的操作:");
scanf("%d", &a);
fflush(stdin);
switch (a)
{
case 1:
in(Ctr);
bookdataw(Ctr);
break;
case 2:
if (Ctr->next == NULL)
{
color(4);
printf("\t\t\t图书馆还未采购书籍,请采购\n");
color(16);
break;
}
else
{
switchl(Ctr, r2);
userdataw(Ctr, r2);
bookdataw(Ctr);
break;
}
case 3:
if (Ctr->next == NULL)
{
color(4);
printf("\t\t\t\t\t\t图书馆还未采购书籍,请采购!\n");
color(16);
break;
}
else
{
switchr(Ctr, r2);
userdataw(Ctr, r2);
bookdataw(Ctr);
break;
}
case 4:
if (Ctr->next == NULL)
{
color(4);
printf("\t\t\t\t\t\t图书馆还未采购书籍,请采购!\n");
color(16);
break;
}
else
{
show(Ctr);
break;
}
case 5:
own(Ctr, r2);
break;
case 6:
system("cls");
main();
logout = 1;
break;
case 7:
printf("\t\t\t\t按任意键退出...");
getch();
flag = 1;
break;
default:
system("cls");
color(4);
printf("\t\t\t\t\t\t不存在此操作,请重新选择!!!\n");
color(16);
break;
}
}
else
{
bookdataw(Ctr);
if (fl == 0)
{
printf("\t\t\t\t\t%s,欢迎来到海南大学图书管理系统\n", inf[r2].name);
fl++;
}
els
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目资源具有较高的学习借鉴价值,也可直接拿来修改复现。可以在这些基础上学习借鉴进行修改和扩展,实现其它功能。可下载学习借鉴,你会有所收获。 源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可 项目资源具有较高的学习借鉴价值,也可直接拿来修改复现。可以在这些基础上学习借鉴进行修改和扩展,实现其它功能。可下载学习借鉴,你会有所收获。 源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可 可下载学习借鉴,你会有所收获。可下载学习借鉴,你会有所收获。可下载学习借鉴,你会有所收获。# 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。2. 部分字体以及插图等来自网络,若是侵权请联系删除。
资源推荐
资源详情
资源评论
收起资源包目录
数据结构c语言课程设计图书管理系统.zip (2000个子文件)
1_20201220170500.c 8KB
1_20201220170500.c 8KB
1_20201220185450.c 8KB
1_20201220185450.c 8KB
1_20201220170117.c 8KB
1_20201220170117.c 8KB
1_20201220170229.c 8KB
1_20201220170135.c 8KB
1_20201220170229.c 8KB
1_20201220170135.c 8KB
1_20201220170229.c 8KB
1_20201220172713.c 8KB
1_20201220172713.c 8KB
1_20201220172307.c 8KB
1_20201220172307.c 8KB
1_20201220172318.c 8KB
1_20201220172318.c 8KB
1_20201220172344.c 8KB
1_20201220171048.c 8KB
1_20201220171955.c 8KB
1_20201220172403.c 8KB
1_20201220170606.c 8KB
1_20201220172522.c 8KB
1_20201220172726.c 8KB
1_20201220170811.c 8KB
1_20201220171648.c 8KB
1_20201220172344.c 8KB
1_20201220171048.c 8KB
1_20201220171955.c 8KB
1_20201220172403.c 8KB
1_20201220170606.c 8KB
1_20201220172522.c 8KB
1_20201220172726.c 8KB
1_20201220170811.c 8KB
1_20201220171648.c 8KB
1_20201220170025.c 8KB
1_20201220172229.c 8KB
1_20201220170025.c 8KB
1_20201220172229.c 8KB
1_20201220170018.c 8KB
1_20201220173408.c 8KB
1_20201220172237.c 8KB
1_20201220173346.c 8KB
1_20201220170018.c 8KB
1_20201220173408.c 8KB
1_20201220172237.c 8KB
1_20201220173346.c 8KB
1_20201220172452.c 8KB
1_20201220171934.c 8KB
1_20201220171032.c 8KB
1_20201220172452.c 8KB
1_20201220171934.c 8KB
1_20201220171032.c 8KB
1_20201220172149.c 8KB
1_20201220172149.c 8KB
1_20201220184935.c 8KB
1_20201220171006.c 8KB
1_20201220184935.c 8KB
1_20201220171006.c 8KB
1_20201220165700.c 8KB
1_20201220165349.c 8KB
1_20201220165518.c 8KB
1_20201220165519.c 8KB
1_20201220165238.c 8KB
1_20201220165313.c 8KB
1_20201220165700.c 8KB
1_20201220165349.c 8KB
1_20201220165518.c 8KB
1_20201220165519.c 8KB
1_20201220165238.c 8KB
1_20201220165313.c 8KB
1_20201220165537.c 8KB
1_20201220164422.c 8KB
1_20201220165500.c 8KB
1_20201220165259.c 8KB
1_20201220165537.c 8KB
1_20201220164422.c 8KB
1_20201220165500.c 8KB
1_20201220165259.c 8KB
1_20201220171633.c 8KB
1_20201220171633.c 8KB
1_20201220170745.c 8KB
1_20201220170745.c 8KB
cs_20210101165316.cpp 31KB
cs_20201228210454.cpp 30KB
cs_20201228202229.cpp 30KB
cs_20201228201653.cpp 30KB
cs_20201228193746.cpp 28KB
cs_20201228171941.cpp 28KB
cs_20201228171110.cpp 28KB
cs_20201228193636.cpp 28KB
cs_20201228193518.cpp 27KB
1_20201225173344.cpp 27KB
1_20201225173445.cpp 27KB
1_20201225173343.cpp 27KB
1_20201225173445.cpp 27KB
1_20201225173344.cpp 27KB
1_20201225173343.cpp 27KB
1_20201225173622.cpp 27KB
1_20201225173232.cpp 27KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
阿齐Archie
- 粉丝: 3w+
- 资源: 2463
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 现在微信小程序能用的mqtt.min.js
- 基于MPC的非线性摆锤系统轨迹跟踪控制matlab仿真,包括程序中文注释,仿真操作步骤
- 基于MATLAB的ITS信道模型数值模拟仿真,包括程序中文注释,仿真操作步骤
- 基于Java、JavaScript、CSS的电子产品商城设计与实现源码
- 基于Vue 2的zjc项目设计源码,适用于赶项目需求
- 基于跨语言统一的C++头文件设计源码开发方案
- 基于MindSpore 1.3的T-GCNTemporal Graph Convolutional Network设计源码
- 基于Java的贝塞尔曲线绘制酷炫轮廓背景设计源码
- 基于Vue框架的Oracle数据库实训大作业设计与实现源码
- 基于SpringBoot和Vue的共享单车管理系统设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功