主要内容:

图书信息包括:书名、作者名、ISBN号、出版单位、出版年份、价格等。试设计一个图书信息管理系统,使之能提供以下功能:
(1)系统以菜单方式工作
(2)图书信息录入功能(图书信息用文件保存)
(3)图书信息浏览功能
(4)查询和排序功能:(至少一种查询方式)
(5)修改图书信息:对某图书信息进行修改
(6)删除图书:将某图书的信息删除
(7)退出

添加功能:

(1)登录界面,用户输入正确的用户名和密码进入系统,密码从文件中读取
(2)查询图书信息,分3种方式,分别是按图书编号、名称、作者查询
(3)删除图书信息,分2种方式,分别是按图书编号、名称删除,其中会提示是否删除
(4)修改图书信息,分2种方式,分别是按图书编号、名称修改
(5)修改原始密码,会先输入原始密码,然后两次确认,修改完后存入文件
(6)系统默认提供图书编号,范围2018000-2018999

系统设计目的与意义

随着科技的发展,在当今社会中,读书也变得尤为重要,读书可以丰富我们的知识量。多读一些好书,能让我们开阔视野,增长知识,培养良好的自学能力和阅读能力。那么怎么快速找到一本好书呢?所有我设计这个系统帮助读者快速的找到自己想要的图书。
图书馆的存书量和业务量逐渐扩大,所以设计本系统可以帮助管理员方便管理图书,可快速检索图书,查找方便,容易修改图书和删除图书。

系统功能描述与设计

根据系统需要设计的功能,可以将其分为主要的八个模块,如图 2-1 所示。

  1. 进入系统用户需要输入正确的用户名和密码,本系统设计了三次机会,如果三次全错则退出系统,输入正确则进入系统主界面。
    录入图书信息模块,进入录入模块时系统会提示本次需要录入几本图书,然后用户需要依次输入图书相关的信息,最后系统会分配默认编号。
  2. 图书信息浏览模块,用来向用户显示当前系统所有的图书信息,用户可以一目了然的看到图书信息, 浏览方便。
  3. 图书信息查询模块,用户可以根据图书的编号、名称、作者三种方式来查询图书,查找方便,若系统没有此书,则输出没有此书。
  4. 图书信息删除模块,用来删除不想要的图书,用户根据图书编号或图书名称,删除相关的图书信息,在删除的时候系统会提示是否真的要删除图书。
  5. 图书信息修改模块,可以用来修改图书信息, 如图书名称(图书默认编号不能修改)。
  6. 图书信息排序模块,该模块设计了根据图书的编号由小到大的排序,排序完后需要进入图书浏览模块查看。
  7. 修改原始密码模块,用户需要提供自己的原始密码然后修改密码,会有两次确认,如果原始密码不正确或输入的两次密码不一样,都不可以修改原始密码,修改后需要重新登录。
  8. 退出信息模块,如果用户选择了退出,系统会把用户本次操作的事项存入文件,并退出系统。

目录结构:

20191018133645.png

项目截图

20191018133818.png

20191018134225.png

20191018134242.png

项目带有完整得课程设计报告

20200528173648.png

部分源代码

    while(1){
        printf("\n\n");
        printf("\t 当前系统时间是: %s",asctime (timenow) );
        printf("\t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
        printf("\t┃ ╔════════════════════════════╗ ┃\n");
        printf("\t┃ ║           欢 迎 使 用 图 书 管 理 信 息 系 统          ║ ┃\n");
        printf("\t┃ ╚════════════════════════════╝ ┃\n");
        printf("\t┃ ***********************************************************  ┃\n"); 
        printf("\t┃ *                          *                              *  ┃\n"); 
        printf("\t┃ *         1.录入图书信息   *      2.浏览图书信息          *  ┃\n"); 
        printf("\t┃ *                          *                              *  ┃\n"); 
        printf("\t┃ ***********************************************************  ┃\n"); 
        printf("\t┃ *                          *                              *  ┃\n"); 
        printf("\t┃ *         3.图书信息查询   *      4.图书信息删除          *  ┃\n"); 
        printf("\t┃ *                          *                              *  ┃\n"); 
        printf("\t┃ ***********************************************************  ┃\n"); 
        printf("\t┃ *                          *                              *  ┃\n");
        printf("\t┃ *         5.图书信息修改   *      6.图书信息排序          *  ┃\n");
        printf("\t┃ *                          *                              *  ┃\n");
        printf("\t┃ ***********************************************************  ┃\n"); 
        printf("\t┃ *                          *                              *  ┃\n");
        printf("\t┃ *         7.修改原始密码   *      8.退出信息系统          *  ┃\n");
        printf("\t┃ *                          *                              *  ┃\n");
        printf("\t┃ ***********************************************************  ┃\n"); 
        printf("\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n"); 
        printf("\t请选择功能 1 - 8 :");
        scanf("%d",&cmd);
        getchar();
        system("cls");
        switch(cmd){
               case 1:input();break;
            case 2:shuchu();break;
            case 3:search();break;
            case 4:shanchu();break;
            case 5:xiugai();break;
            case 6:sort();break;
            case 7:gaimi();break;
            case 8:quit();break;
            default:printf("\n 非法操作!\n");}
            system("pause");
            system("cls");
    }    }
void sort(){//图书信息排序 
    load();
    int i,j,t=0;//t测试是否排序成功 
    struct booklibrary temp;
    for(i=0;i<M-1;i++){
        for(j=0;j<M-i-1;j++){
            if(book[j].num>book[j+1].num){ 
                temp=book[j];
                book[j]=book[j+1];
                book[j+1]=temp;    t=1;    }
                    }    }
    printf("欢迎进入图书排序模块,本系统按照图书编号由小到大排序!\n");
    

完整代码下载地址