图书管理系统 (C语言实现) (全部代码)!

直接上代码不解释,文章末尾有惊喜哦!

typedef struct book{

    char*name;

    int id;

    int count;

    int status;

    structbook *next;

Book *head = NULL;

intnbook =0;

int main(){

    welcome();

    return0;

}void welcome(){

    printf("*************************欢迎使用图书管理系统*************************\n");

    while(1){

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

        printf("请输入项目前编号执行相关操作:\n");

        printf("\n[1] 管理员入口\n\n[2] 学生入口\n\n[0] 退出\n\n");

        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;

            }

        }elseif(i ==0){

            continue;

        }

        error("[请输入命令: 1 / 2 / 0 选择项目]");

    }

    return'\0';

}voiderror(char*s){

    fprintf(stderr, "%s\n", s);

}char dostudent(){

    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 =='3'|| flag =='0'){

                return flag;

            }

        }elseif(i ==0){

            continue;

        }

        error("[请输入命令: 1 / 2 / 3/ 0 选择项目]");

    }

}int usrstudent(){

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

    printf("请输入项目前编号执行相关操作:\n\n");

    printf("[1] 借阅图书\n[2] 归还图书\n[3] 查看馆存图书\n");

    printf("[0] 返回主页\n");

    switch(dostudent()){

        case'1':

            borrowbook();

            break;

        case'2':

            returnbook();

            break;

        case'3':

            viewbook();

            break;

        case'0'

  • 9
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值