项目演示
项目源码
代码语言:javascript复制/**
* @author: 冲哥
* @date: 2020/12/13 18:20
* @description:图书管理系统
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define AVAILABLE 0
#define UNAVAILABLE 1
#define MAXNAME 30
#define CLEAR "cls"
//微信关注公众号【C语言中文社区】,免费领取200G精品学习资源
typedef struct book{
char *name;
int id;
int count;
int status;
struct book *next;
}Book;
void welcome();
void error(char *); // [异常提醒]
char land(); // [主页面项目]
int usrstudent(); // [学生入口]返回 0表示返回主页 1表示继续执行本函数
int usrmanager(); // [管理员入口]返回 0表示返回主页 1表示继续执行本函数
int viewbook(); // [查看图书]返回打印的图书个数 失败返回-1
int addbook(); // [注册图书]添加图书成功 返回图书id 失败返回-1
int modbook(); // [修改图书]修改图书信息 成功后返回id 失败 -1
int delbook(); // [注销图书]删除成功 返回被删除图书的id 失败返回-1
void printbook(Book *); // [打印图书]
Book *lookup(char *, int); // [搜索图书]
int borrowbook(); // [借阅图书]
int returnbook(); // [归还图书]
Book *head = NULL;
int nbook = 0;
int main(){
welcome();
return 0;
}
void welcome(){
printf("*************************欢迎使用图书管理系统*************************n");
while(1){
printf("-------------------------------------n");
printf("请输入项目前编号执行相关操作:n");
printf("n[1] 管理员入口nn[2] 学生入口nn[0] 退出nn");
switch(land()){
case '1':
while(1){
if(usrmanager()){
continue;
}else{
break;
}
}
break;
case '2':
while(1){
if(usrstudent()){
continue;
}else{
break;
}
}
break;
case '0':
exit(0);
default:
error("采集项目参数失败");
}
}
}
char land(){
char c, flag;
int i;
while(1){
for(i = 0; (c = getchar()) != 'n'; flag = c, i)
;
if(i == 1){
if(flag == '1' || flag == '2' || flag == '0'){
return flag;
}
}else if(i == 0){
continue;
}
error("[请输入命令:1 / 2 / 0 选择项目]");
}
return '