C语言课题设计大作业-图书借阅系统

题目:图书借阅系统
功能:系统要求实现以下功能:
1、管理员模式:管理图书信息与客户信息;
2、客户模式:完成客户借阅查询要求。
3、增删改查功能:完成图书的增删改查并显示。
分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。2、完成信息的录入和显示3、完成修改功能,即输入图书编号,可修改该学生的信息4、进一步要求,在使用修改功能时要求输入密码,密码正确才能修改信息否则不行。
要求:1、用C语言实现程序设计;
2、利用结构体数组、链表等实现图书信息表达、查询等,充分体现数据结构的知识;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序要有注释。
5、程序中所用到的排序查找方法需采用数据结构中所学方法实现,要求方法实用效率高。

一、总体设计

1. 数据结构

struct book
{
    long num;
    char name[20];
    char publish[20];/*出版社*/
    struct time
    {
        int day;
        int month;
        int year;
    }t;
    int jie;/*借阅*/
}bk[20];

2. 函数原型声明

void xinxi()
int mymainmenu()
int mimayanzheng()
void xiugaimima()
int adm()
int peo()
void show_all_book()
void showbook_name()
void showbook_num()
void yijieyue()
void weijieyue()
void show()
void jie_name()
void jie_num()
void jieyue()
void xiugai_name()
void xiugai_num()
void dele_all()
void dele_name()
void dele_num()
void dele()
void xiugai()
void main()

二、源代码

/* 【自学去】网站收集 http://www.zixue7.com */

//#include "stdafx.h"

#include"stdio.h"
#include"conio.h"
#include"string.h"
#include"stdlib.h"
int N;
char mima[20]="mm";
/**********定义图书结构体类型book*******/
struct book
{
    long num;
    char name[20];
    char publish[20];/*出版社*/
    struct time
    {
        int day;
        int month;
        int year;
    }t;
    int jie;/*借阅*/
}bk[20];
/********建立图书信息库********/
void xinxi()
{
    int i;
    system("CLS");
    printf("\t\t         =====================        \n");
    printf("\t\t               录入图书信息              \n");
    printf("\t\t         =====================        \n\n");
	printf("\t\t请输入您要录入的数量:");
	scanf("%d",&N);
    for(i=0;i<N;i++)
    {
		printf("\t\t请输入第%d本书的编号:",i+1);
        scanf("%d",&bk[i].num);
        printf("\t\t请输入第%d本书的名称:",i+1);
        scanf("%s",bk[i].name);
        printf("\t\t请输入第%d本书的出版社:",i+1);
        scanf("%s",bk[i].publish);
        printf("\t\t请输入第%d本书的出版时间(用逗号隔开):",i+1);
        scanf("%d,%d,%d",&bk[i].t.year,&bk[i].t.month,&bk[i].t.day);
        printf("\t\t该书是否已经被借阅,已被借阅输入'1',未被借阅输入'0':");
        scanf("%d",&bk[i].jie);
		printf("--------------------------------------------------------------------------------\n");
    }
	system("CLS");
    printf("\t\t         =====================        \n");
    printf("\t\t               信息录入完成              \n");
    printf("\t\t         =====================        \n");
    printf("\n\t\t             按任意键继续...\n");
}
/******主菜单******/
int mymainmenu()
{
    int x;
	printf("\n\n\n\n");
    printf("\t\t|-------------------------------------------------------------|\n");
    printf("\t\t|                                         |\n");
    printf("\t\t|        ======================        |\n");
    printf("\t\t|           欢迎光临图书管理系统          |\n");
    printf("\t\t|        ======================        |\n");
    printf("\t\t|                                         |\n");
    printf("\t\t|           1.管理员模式                   |\n");
    printf("\t\t|           2.客户模式                     |\n");
    printf("\t\t|           3.退出系统                     |\n");
    printf("\t\t|--------------------------------------------------------------|\n");
    printf("\n\t\t请输入您的选择:");
    scanf("%d",&x);
    return x;
}
/**************管理员密码验证*****************/
int mimayanzheng()
{
	char temp_mima[20];/*用来存放用户输入的密码*/
    printf("\n");
    printf("\t\t         ======================        \n");
    printf("\t\t            欢迎使用管理员模式            \n");
    printf("\t\t         ======================        \n");
    printf("\n");
    printf("\t\t          请输入密码:");
    scanf("%s",temp_mima);
	if(strcmp(temp_mima,mima)==0)/*比较密码*/
		return 1;
	else
		return 0;
}
/**************修改密码***********/
void xiugaimima()
{
	char temp_mima[20],temp1[20],temp2[20];/* temp_mima[20]用来存放用户输入的密码,temp1[20],temp2[
20]分别用来存放用户输入的两次修改的密码*/    
printf("\n");
    printf("\t\t         ======================        \n");
    printf("\t\t                 修改密码                 \n");
    printf("\t\t         ======================        \n");
    printf("\n");
	printf("\t\t           请输入原始密码:");
	scanf("\t\t%s",temp_mima);
    while(1)
    {
	if(strcmp(temp_mima,mima)==0)/*比较密码*/
	{
		printf("\t请输入新密码:");
		scanf("%s",temp1);
		printf("\t请再输入一次:");
		scanf("%s",temp2);
		if(strcmp(temp1,temp2)==0)/*如果输入的两次新密码都相同*/
		{
			printf("\t修改密码成功!!请记牢密码,任意键返回...");
			strcpy(mima,temp1);
			getch();break;
		}
		else
		{
			printf("\t输入两次密码不相同,修改失败!任意键返回...");
			getch();
			break;
		}
	}
	else
	{
		printf(
  • 4
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值