图书管理系统【C语言课设】【附源码】

图书管理系统

这是一个符合大学生课设实训的系统。

一、系统功能

        1.登录                2.添加图书

        3.查询图书        4.借阅图书

        5.归还图书        6.图书热度排行

        7.删除图书        8.密码修改

运行展示:

 二、功能概述

1.登录功能的实现

效果展示

代码模块

void login(void)
{
	char inputPwd[20];
	A:
	printf("请输入密码:");
	anwen(inputPwd);
	
	if(strcmp(inputPwd, pwd) == 0)
	{
		printf("密码正确,欢迎使用图书管理系统!\n");
        sleep(1);		//延迟
		system("cls");	//清屏 
		return ;
	}
	else
	{
		printf("密码错误,请重新输入!\n");	
		goto A;
	}
}

输入密码的使用使用暗文进行遮挡密码

void anwen(char *p)
{
	char ch;	 //接收字符
	int i = 0;  //下标
	while(1)
	{
		ch = getch();	//获取字符,不显示 
		// \b退格,\n换行,\r回车 
		if(!(ch == '\n' || ch == '\r') && (ch != '\b'))
		{
			p[i] = ch;   //将字符写到空间
			printf("*"); //显示* 
			i++;         //改变下标 	
		}
		else if(ch == '\b')
		{
			//判断是否到顶 
			if(i != 0)
			{
				p[i-1] = '\0';   //删除数据补\0 
				i--;             //改变下标
				printf("\b \b"); //退格原来位置补空 
			}	
		}
		else if(ch == '\n' || ch == '\r')
		{
			p[i] = '\0';	//输入结束 \0
			printf("\n"); 
			break;	
		}	
	}  
}

2.界面展示及功能的选择的实现

效果展示

代码模块

void shouUI(void) 
{
    printf("************************************************\n"); 
    printf("*------------ 欢迎来到图书管理系统 ------------*\r\n");
    printf("*-------- [1] 查询图书    [2] 添加图书 --------*\r\n");
    printf("*-------- [3] 删除图书    [4] 借阅图书 --------*\r\n");
    printf("*-------- [5] 归还排行    [6] 热度排行 --------*\r\n");
    printf("*-------- [7] 修改密码    [0] 退出系统 --------*\r\n");
    printf("************************************************\n"); 
    printf("请选择操作(0~7):");
}
void opt(void)
{
	int m;
	char n;
	START:
		scanf("%d",&m);  //输入选择功能 
	AGAIN:
		switch(m)
		{
			case 1:
				demand();//查询 
				break;	
			case 2:
				add_book();//添加 
				break;
			case 3:
				strike_out();//删除 
				break;
			case 4:
				borrow();//借阅
				break;
			case 5:
				recede();//归还 
				break;
			case 6:
				ranking();//热度
				break;
			case 7:
				modify();//修改密码
				return;
			case 0:
				exit(0);//退出进程
			default:
				printf("输入无效,请重新输入:");
				goto START; 				
		}
		//让用户控制程序执行
		printf("是否继续当前操作...(y/n)\n") ;
		n = getch();
		if(n == 'y' || n == 'Y')
		{
			goto AGAIN;
		}
		system("cls");
		
}

3.添加图书功能的实现

效果展示

首先是是图书的信息定义

typedef struct book
{
	unsigned int bookNumber;	//图书编号 
	char bookName[30];			//图书名称 
	char writer[20];			//作者 
	float price;				//价格 
	int hot;					//热度 
	int kc;						//库存 
}BK;
// 3、结构体数组 -- 用来存储所有图书的信息
BK arr[200];

然后是添加图书

void add_book(void)
{
	printf("-----------------------------------------\n");
	printf("请输入第%d本书的信息\n",bookNum+1);
	
	printf("请输入图书的编号:");
	scanf("%d",&arr[bookNum].bookNumber);
	
	printf("请输入图书的书名:"); 
	scanf("%s",arr
  • 13
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值