基于C语言的图书管理系统_c语言图书管理系统课程设计报告

基于C语言的图书管理系统_c语言图书管理系统课程设计报告该系统包括以下功能:1、注册账号2、登录账号3、修改密码4、录入功能5、添加功能6、删除功能7、修改功能8、浏览功能9、查询密码10、排序功能

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

文末获取源码

该系统是我们C语言课上的一个作业,本来是不打算写的,但是找了好久都没有找到心仪的代码,所以被迫写了该系统,该图书管理系统一共有十个功能,具体如下说明:

01、注册账号
02、登录账号
03、修改密码
04、录入功能
05、添加功能
06、删除功能
07、修改功能
08、浏览功能
09、查询密码
10、排序功能

该图书管理系统的运行及代码如下:

主界面是我们运行项目的时候,首先看到的界面,这里展示了各个选项,例如展示,登录账号,注册账号,修改密码,推出系统等。当我们登录之后,就算进入了该系统。

void user_menu(void)
{
	int choose;
	system("cls");
	printf("\n\n\t\t*****************************************");
	printf("\n\t\t*\t\t\t\t\t*");
	printf("\n\t\t*\t\t\t\t\t*");
	printf("\n\t\t*\t 欢迎来到小型图书管理系统\t*");
	printf("\n\t\t*\t\t\t\t\t*");
	printf("\n\t\t*\t      登录账号请按1\t\t*");
	printf("\n\t\t*\t\t\t\t\t*");
	printf("\n\t\t*\t      注册账号请按2\t\t*");
	printf("\n\t\t*\t\t\t\t\t*");
	printf("\n\t\t*\t      修改密码请按3\t\t*");
	printf("\n\t\t*\t\t\t\t\t*");
	printf("\n\t\t*\t      退出系统请按0\t\t*");
	printf("\n\t\t*\t\t\t\t\t*");
	printf("\n\t\t*****************************************");
	printf("\n\t\t\t\t");
	printf("\n\t\t\t       请输入选项:\n\t\t\t\t   ");
	scanf("%d",&choose);
	switch(choose)
	{
		case 1:
			login_user(); break;
		case 2:
			add_user(); break;
		case 3:
			reset_password(); break;
		case 0:
			return;
		default :
			printf("\n\t\t\t   输入错误,请重新输入\n\n\t\t\t    ");
			system("PAUSE");
	system("cls");
			user_menu();
	}
}

基于C语言的图书管理系统_c语言图书管理系统课程设计报告

注册界面,如果我们刚使用系统,没有账号,可以首先进行注册,注册成功后,就可以登录了,这里对账号做了一些简单的限制。

void add_user(void)//注册账号
{
    FILE *fp;
    int i;
    char str[101];
    system("cls");
    printf("\n");
    printf("\t\t\t请输入账号:\n\n\t\t\t   ");
    scanf("%s",str);
	if(strlen(str)>16)
	{
		printf("\t\t账号长度大于16位,请重新输入\n");
		system("PAUSE");
        system("cls");
        printf("\n");
        add_user();
		return;
	}
    for(i=0;i<user_count;i++)
        if(strcmp(user[i].ID,str)==0)
		{
            printf("\t\t该账号已被注册,请重新注册\n\n\t\t\t   ");
            system("PAUSE");//按任意键继续
            add_user();
        }
    strcpy(user[i].ID,str);
    printf("\t\t\t请输入密码:\n\n\t\t\t   ");
	scanf("%s",str);
	while(strlen(str)>16)
	{
		system("cls");
		printf("\n");
		printf("\t\t密码长度大于16位,请重新输入\n\n");
		printf("\t\t\t请输入密码:\n\n\t\t\t   ");
		scanf("%s",str);
	}
    strcpy(user[i].password,str);
    printf("\t\t\t请再次输入密码:\n\n\t\t\t   ");
    scanf("%s",str);
    if(strcmp(user[i].password,str)!=0)
	{
        printf("\t\t两次密码不一致,请重新申请\n\n\t\t\t");
        system("PAUSE");
        system("cls");
        printf("\n");
        add_user();
        return;
    }
    save_user();//将账号写入磁盘
    printf("\t\t\t账号申请成功\n\n\t\t\t");
    user_count++;
    system("PAUSE");
	user_menu();
}

基于C语言的图书管理系统_c语言图书管理系统课程设计报告

登录成功后的界面,登录成功后,我们就进入了主页面,也就是功能页面,主要包括图书馆里,开发人员介绍,图书功能介绍。

void choose_menu(void)//选择菜单
{
	int choose;
	while(1)
	{
		system("cls");
		printf("\n\n\t\t*****************************************");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*\t     欢迎来到选择菜单管理\t*");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*\t      图书功能管理请按1\t\t*");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*\t      开发人员介绍请按2\t\t*");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*\t      图书功能介绍请按3\t\t*");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*\t      返回到上一层请按0\t\t*");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*****************************************");
		printf("\n\t\t\t\t");
		printf("\n\t\t\t       请输入选项:\n\t\t\t\t   ");
		scanf("%d",&choose);
		switch(choose)
		{
			case 0:
				 user_menu(); return;
			case 1:
				 function_menue(); return;
			case 2:
				 developer_introduce(); return;
			case 3:
				 library_function(); return;
			default:
				printf("\n\t\t\t   输入错误,请重新输入\n\n\t\t\t    ");
			system("PAUSE");
	        system("cls");
		}
	}
}

基于C语言的图书管理系统_c语言图书管理系统课程设计报告

图书功能管理界面,主要包括录入功能,查找功能,添加功能,删除功能,修改功能和浏览功能。

void function_menue(void)//功能菜单
{
	int choose;
	while(1)
	{
		system("cls");
		printf("\n\n\t\t*****************************************");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*\t      录入功能请按1\t\t*");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*\t      查找功能请按2\t\t*");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*\t      排序功能请按3\t\t*");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*\t      添加功能请按4\t\t*");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*\t      删除功能请按5\t\t*");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*\t      修改功能请按6\t\t*");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*\t      浏览功能请按7\t\t*");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*\t     返回上一层请按0\t\t*");
		printf("\n\t\t*\t\t\t\t\t*");
		printf("\n\t\t*****************************************");
		printf("\n\t\t\t\t");
		printf("\n\t\t\t       请输入选项:\n\t\t\t\t   ");
		scanf("%d",&choose);
		switch(choose)
		{
			case 0:
				choose_menu();
			case 1:
				entering_function(); break;//录入功能
			case 2:
				 find_function(); break;//查找功能
			case 3:
				sort_function(); break;//排序功能
			case 4:
				add_function(); break;//添加功能
			case 5:
				delete_function(); break;//删除功能
			case 6:
				reset_function(); break;//修改功能
			case 7:
				look_function(); break;//浏览功能
			default :
				printf("\n\t\t\t   输入错误,请重新输入\n\n\t\t\t    ");
			system("PAUSE");
		}
	}
}

基于C语言的图书管理系统_c语言图书管理系统课程设计报告

写在末尾:

CSDN现在推出了一个机制,是发文助手,然后检测到我的文章质量较差,于是我联系客服,他说我的文字太少了,有一说一,这段话是凑字的,我不明白为啥会有这个机制,难道短文章就不配吗,难道凑了字数就比不凑字数好吗,难道我们就喜欢看啰嗦的文章吗,难道你想让用户查阅整个CSDN才能找到想要的结果吗,难道把问题说清楚的短文就这么不被待见吗

CSDN现在推出了一个机制,是发文助手,然后检测到我的文章质量较差,于是我联系客服,他说我的文字太少了,有一说一,这段话是凑字的,我不明白为啥会有这个机制,难道短文章就不配吗,难道凑了字数就比不凑字数好吗,难道我们就喜欢看啰嗦的文章吗,难道你想让用户查阅整个CSDN才能找到想要的结果吗,难道把问题说清楚的短文就这么不被待见吗

CSDN现在推出了一个机制,是发文助手,然后检测到我的文章质量较差,于是我联系客服,他说我的文字太少了,有一说一,这段话是凑字的,我不明白为啥会有这个机制,难道短文章就不配吗,难道凑了字数就比不凑字数好吗,难道我们就喜欢看啰嗦的文章吗,难道你想让用户查阅整个CSDN才能找到想要的结果吗,难道把问题说清楚的短文就这么不被待见吗

CSDN现在推出了一个机制,是发文助手,然后检测到我的文章质量较差,于是我联系客服,他说我的文字太少了,有一说一,这段话是凑字的,我不明白为啥会有这个机制,难道短文章就不配吗,难道凑了字数就比不凑字数好吗,难道我们就喜欢看啰嗦的文章吗,难道你想让用户查阅整个CSDN才能找到想要的结果吗,难道把问题说清楚的短文就这么不被待见吗

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183161.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 弦图与区间图「建议收藏」

    弦图与区间图「建议收藏」弦图与区间图

    2022年4月20日
    59
  • 长轮询的使用实现_长轮询和短轮询

    长轮询的使用实现_长轮询和短轮询轮询(Polling):是指不管服务器端有没有更新,客户端(通常是指浏览器)都定时的发送请求进行查询,轮询的结果可能是服务器端有新的更新过来,也可能什么也没有,只是返回个空的信息。不管结果如何,客户端处理完后到下一个定时时间点将继续下一轮的轮询。长轮询(LongPolling):长轮询的服务其客户端是不做轮询的,客户端在发起一次请求后立即挂起,一直到服务器端有更新的时候,服务器才会主动推送信息到…

    2025年6月17日
    0
  • Python下载M3U8加密视频示例[通俗易懂]

    Python下载M3U8加密视频示例[通俗易懂]大家好,我是小小明。最近看到几个视频网站的地址依然是m3u8格式,不禁有了使用python进行下载的想法,虽然下载m3u8格式视频的工具很多,但如果我们自行编码就能应对更多的情况。关于m3u8的基础知识可以参考:Python实时下载B站直播间视频(M3U8视频流)下面我们将使用Python下载m3u8格式的加密离线视频流。游览器抓包过滤能够获取该影片的m3u8播放地址:首先,测试一下该地址:importm3u8headers={“User-Agent”:”Mozilla/

    2022年6月15日
    51
  • 人力外包 vs 软件外包

    人力外包 vs 软件外包A公司:大外包公司,人力外包,号称有7000多员工,外派某国内银行IT部门工作,开工资10KB公司:小外包公司(外企性质,需要英语能力),软件外包(类似竞标,把项目拿到本公司来做),200员工,发包方是国外大银行,开工资12K。PS:6年JAVA经验这个该选那个好?从职业生涯、稳定性等方面考虑!…

    2022年5月19日
    35
  • java全局变量的定义和声明_定义全局变量的方法

    java全局变量的定义和声明_定义全局变量的方法JAVA全局变量(或称成员变量)可分两种,一种是静态变量,另一种是实例变量,即在类体中定义的变量,有三点得注意:一、成员变量不能在类体中先声明(定义)后赋值,但静态变量可以先在类体中声明,然后在方法中赋值(当然实例变量是不行的);1)如以下程序会出问题:publicclassTest{staticinta;//在类体中声明整型静态变量a。intb;

    2022年8月21日
    9
  • 2021DIY电脑配置入门篇(包含各cpu显卡天梯图对比)

    2021DIY电脑配置入门篇(包含各cpu显卡天梯图对比)前言:我本来以为一篇文章可以把电脑配置讲清楚的,但是发现电脑比我想象的要复杂,所以可能分了几篇来写如何查看自己的电脑配置最简单的右键桌面此电脑->点击属性下载个电脑管家等电脑助手软件也可以查看详细配置如何DIY自己的第一台电脑篇幅有限,这里我只详细分析一台电脑的核心配置(CPU、主板、显卡),外加内存定好预算对于电脑来说,预算是最重要的!没有预算,一切都是空谈。没预算默认外星人Area51M(价格在2万左右),现在电脑往往充当一种娱乐需求,相对来说比较次要,因此大多数人配电脑.

    2022年7月12日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号