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

2022-11-10 15:25:37 浏览数 (1)

文末获取源码

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

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

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

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

代码语言:javascript复制
void user_menu(void)
{
	int choose;
	system("cls");
	printf("nntt*****************************************");
	printf("ntt*ttttt*");
	printf("ntt*ttttt*");
	printf("ntt*t 欢迎来到小型图书管理系统t*");
	printf("ntt*ttttt*");
	printf("ntt*t      登录账号请按1tt*");
	printf("ntt*ttttt*");
	printf("ntt*t      注册账号请按2tt*");
	printf("ntt*ttttt*");
	printf("ntt*t      修改密码请按3tt*");
	printf("ntt*ttttt*");
	printf("ntt*t      退出系统请按0tt*");
	printf("ntt*ttttt*");
	printf("ntt*****************************************");
	printf("ntttt");
	printf("nttt       请输入选项:ntttt   ");
	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("nttt   输入错误,请重新输入nnttt    ");
			system("PAUSE");
	system("cls");
			user_menu();
	}
}

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

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

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

代码语言:javascript复制
void choose_menu(void)//选择菜单
{
	int choose;
	while(1)
	{
		system("cls");
		printf("nntt*****************************************");
		printf("ntt*ttttt*");
		printf("ntt*ttttt*");
		printf("ntt*t     欢迎来到选择菜单管理t*");
		printf("ntt*ttttt*");
		printf("ntt*t      图书功能管理请按1tt*");
		printf("ntt*ttttt*");
		printf("ntt*t      开发人员介绍请按2tt*");
		printf("ntt*ttttt*");
		printf("ntt*t      图书功能介绍请按3tt*");
		printf("ntt*ttttt*");
		printf("ntt*t      返回到上一层请按0tt*");
		printf("ntt*ttttt*");
		printf("ntt*****************************************");
		printf("ntttt");
		printf("nttt       请输入选项:ntttt   ");
		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("nttt   输入错误,请重新输入nnttt    ");
			system("PAUSE");
	        system("cls");
		}
	}
}

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

代码语言:javascript复制
void function_menue(void)//功能菜单
{
	int choose;
	while(1)
	{
		system("cls");
		printf("nntt*****************************************");
		printf("ntt*ttttt*");
		printf("ntt*t      录入功能请按1tt*");
		printf("ntt*ttttt*");
		printf("ntt*t      查找功能请按2tt*");
		printf("ntt*ttttt*");
		printf("ntt*t      排序功能请按3tt*");
		printf("ntt*ttttt*");
		printf("ntt*t      添加功能请按4tt*");
		printf("ntt*ttttt*");
		printf("ntt*t      删除功能请按5tt*");
		printf("ntt*ttttt*");
		printf("ntt*t      修改功能请按6tt*");
		printf("ntt*ttttt*");
		printf("ntt*t      浏览功能请按7tt*");
		printf("ntt*ttttt*");
		printf("ntt*t     返回上一层请按0tt*");
		printf("ntt*ttttt*");
		printf("ntt*****************************************");
		printf("ntttt");
		printf("nttt       请输入选项:ntttt   ");
		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("nttt   输入错误,请重新输入nnttt    ");
			system("PAUSE");
		}
	}
}

写在末尾:

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

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

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

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

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

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

0 人点赞