拾光博客 | 每天进步一点点

C语言程序设计-图书信息管理系统开发

主要内容:

图书信息包括:书名、作者名、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

源代码

#include<stdlib.h>
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#include <windows.h>
#include <conio.h> 
#include <time.h>
void homepage();    //主界面
void login();        //登录界面 
void gaimi();        //修改密码 
void quit();        //退出程序 
void input();        //录入 
void search();        //查询 
void shanchu();        //图书删除
void shanchu_num();    //按编号删除
void shanchu_name();// 按名称删除 
void search_num();    //编号查询 
void search_name();    //名称查询 
void search_author();    //作者查询 
void xiugai();        //图书修改 
void xiugai_num();    //按图书编号修改
void xiugai_name();//按图书名称修改 
void sort();            //图书排序 
void shuchu();        //图书浏览 
void save();//存入文件 
void load();//读取文件 
int xianshi(int i);//显示图书信息 
int M=0;//实际的图书总数 
char c;//输入任意键 
unsigned long suiji();
struct booklibrary{
    unsigned long num;
    char id;        //图书编号 
    char bookName[20];    //名字
    char author[20];     //作者 
    char isbn[20];        //ISBN号
    char chuBan[20];    //出版单位 
    char chuBanAge[20];     //出版时间 
    char bookPrice[20];    //图书单价 
};
struct user{//存放用户名的结构体 
    char pwd[20];
}us; 
struct booklibrary book[1000];
char username[15]="admin",pwd1[100];    //username[15]原始账号,pwd1修改密码时的比较 
 main(){
    login();}
void homepage() {    //程序主界面 
    int cmd;
    time_t T;  //获取系统时间
    struct tm * timenow; 
    time ( &T ); 
    timenow = localtime ( &T ); 
    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");
    printf("---------------------------------------------------------\n");
    printf("正在排序"); 
    for(i=0;i<20;i++){
        printf(".");
        Sleep(100);        }
    if(t==1){
        printf("\n\n排序完成!请按任意键返回查看!");
        save(); //排序成功后保存文件 
    }else printf("\n\n排序失败!请按任意键返回!");
c=getch();system("cls");
homepage(); }
void shuchu()//显示所有图书信息
{
    load();    
    int i;//循环变量 
    printf(" 所有图书相关信息\n");
    printf("--------------------------------------------------------------------------------\n");
    printf("序列 图书号 图书名称 图书作者 图书ISBN 出版单位 出版时间 图书单价\n");
    for(i=0;i<M;i++){
    printf("%2d ",i+1);
    printf(" %7lu%10s%6s%9s%12s%7s%10s\n",book[i].num,book[i].bookName,book[i].author,
    book[i].isbn,book[i].chuBan,book[i].chuBanAge,book[i].bookPrice);
    }    }
void search()//查询菜单
{
    int num;
        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请选择功能 1 - 4 :");
        scanf("%d",&num);
        switch(num){
            case 1:search_num();break;
            case 2:search_name();break;
            case 3:search_author();break;
            case 4:{system("cls"); 
            homepage();break;} 
            default:printf("\n 非法操作!\n");
        }    }
void search_num()//按图书编号查询
{
    load();
    int i,j=0;
    unsigned long n;
    printf("输入需要查找的图书编号:");
    scanf("%lu",&n);
    for(i=0;i<M;i++)
    if(n==book[i].num){
    xianshi(i);
    j++;    }
    if(j==0)
    printf("查询的该图书编号不存在\n");
    printf("\n\n按任意键返回\n");
    c=getch();system("cls");    search();    }
void search_name()//按图书名称查询
{
    int i,j=0;
    char c1[10];
    load();
    printf("输入需要查找的图书名称:");
    getchar();
    gets(c1);
    for(i=0;i<M;i++)
    if(strcmp(c1,book[i].bookName)==0){
    xianshi(i);
    j++;    }
    if(j==0)
    printf(" 没有查找到此图书名称的信息!!!\n");
    printf("\n\n按任意键返回\n");
    c=getch();system("cls");    search();    }
void search_author()//按图书作者查询 
{
    int i,j=0;
    char c1[10];
    load();
    printf("输入需要查找的图书作者:");
    getchar();
    gets(c1);
    for(i=0;i<M;i++)
    if(strcmp(c1,book[i].author)==0){
    xianshi(i);
    j++;    }
    if(j==0)
    printf(" 没有查找到此图书作者的信息!!!\n");
    printf("\n\n按任意键返回\n");
    c=getch();system("cls");    search();    }
void shanchu(){        //删除主菜单 
    int num;
        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┃ *                     3.返回主菜单界面                    *  ┃\n");  
        printf("\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n"); 
        printf("请输入你的选择1-3:");
        scanf("%d",&num);
        switch(num){
            case 1:shanchu_num();break;
            case 2:shanchu_name();break;
            case 3:{system("cls");
            homepage();break;    }
            default:printf("\n 非法操作!\n");
        }     }
void shanchu_num(){    //根据编号删除 
    load();
    int i,j=0,k;
    char c1;//是否删除变量 
    unsigned long n;
    printf("输入需要删除的图书编号:");
    scanf("%lu",&n);
    for(i=0;i<M;i++)
    if(n==book[i].num){
    xianshi(i);
    k=i;
    j++;    break;    }
    if(j==0){
    printf("该图书编号不存在\n");
    k=-1;
    printf("\n\n按任意键返回\n");
    c=getch();system("cls");
    shanchu();    }
    printf("确认删除?是 输入 y 或 Y。不是按任意键\n");
    getchar();
    scanf("%c",&c1);
    if(c1=='y'||c1=='Y'){
    for(i=k;i<M-1;i++)
    book[i]=book[i+1];
    M=M-1;
    save();
    printf("删除成功\n");}    
    printf("\n\n按任意键返回\n");
    c=getch();system("cls");    shanchu();    }
void shanchu_name(){    //根据图书名称删除 
    load();
    int i,j=0,k;
    char c1;//是否删除变量 
    char bookName1[20];    //名字
    printf("输入需要删除的图书名称:");
    scanf("%s",bookName1);
    for(i=0;i<M;i++)
    if(strcmp(bookName1,book[i].bookName)==0){
    xianshi(i);    
    k=i;
    j++;    break;    }
    if(j==0){
    printf("该图书名称不存在\n");
    k=-1;
    printf("\n\n按任意键返回\n");
    c=getch();system("cls");
    shanchu();    }
    printf("确认删除?是 输入 y 或 Y。不是按任意键\n");
    getchar();
    scanf("%c",&c1);
    if(c1=='y'||c1=='Y'){
    for(i=k;i<M-1;i++)
    book[i]=book[i+1];
    M=M-1;
    save();
    printf("删除成功\n");}    
    printf("\n\n按任意键返回\n");
    c=getch();system("cls");    shanchu();    }
void xiugai(){    //修改菜单 
    int num;
        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┃ *                     3.返回主菜单界面                    *  ┃\n");  
        printf("\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n"); 
        printf("请输入你的选择1-3:");
        scanf("%d",&num);
        switch(num){
            case 1:xiugai_num();break;
            case 2:xiugai_name();break;
            case 3:{    system("cls"); 
            homepage();break;} 
            default:printf("\n 非法操作!\n");
        }     }
void xiugai_num(){    //根据编号修改 
    load();
    int i,j=0,k;//k查找到后把编号给K 
    char c2; //是否修改 
    unsigned long n;
    printf("输入需要修改的图书编号:");
    scanf("%lu",&n);
    for(i=0;i<M;i++)
    if(n==book[i].num){
    xianshi(i);
    k=i;
    j++;    break;    }
    if(j==0){
    printf("该图书编号不存在\n");
    k=-1;
    printf("\n\n按任意键返回\n");
    c=getch();system("cls");
    xiugai();    }
    i=k;
    printf("输入新的图书名称: ");
    scanf("%s",book[i].bookName);
    printf("输入新的图书作者:");
    scanf("%s",book[i].author);
    printf("输入新的图书ISBN号:");
    scanf("%s",book[i].isbn);
    printf("输入新的出版单位:");
    scanf("%s",book[i].chuBan);
    printf("输入新的出版时间:");
    scanf("%s",book[i].chuBanAge);
    printf("输入新的图书单价:");
    scanf("%s",book[i].bookPrice);
    printf("确认修改?是 输入 y 或 Y。不是按任意键\n");
    getchar();
    scanf("%c",&c2);
    if(c2=='y'||c2=='Y'){
    save();
    printf("修改成功!\n");
    printf("\n\n按任意键返回\n");
    c=getch();system("cls");    xiugai();
    }else{
    printf("\n\n按任意键返回\n");
    c=getch();system("cls");    xiugai();
    }    }
void xiugai_name(){    //根据图书名称修改 
    load();
    int i,j=0,k;//k查找到后把编号给K 
    char c2;//是否修改 
    char bookName1[20];    //名字
    printf("输入需要修改的图书名称:");
    scanf("%s",bookName1);
    for(i=0;i<M;i++)
    if(strcmp(bookName1,book[i].bookName)==0){
    xianshi(i);
    k=i;
    j++;    break;    }
    if(j==0){
    printf("该图书名称不存在\n");
    k=-1;
    printf("\n\n按任意键返回\n");
    c=getch();system("cls");
    xiugai();    }
    i=k;
    printf("输入新的图书名称: ");
    scanf("%s",book[i].bookName);
    printf("输入新的图书作者:");
    scanf("%s",book[i].author);
    printf("输入新的图书ISBN号:");
    scanf("%s",book[i].isbn);
    printf("输入新的出版单位:");
    scanf("%s",book[i].chuBan);
    printf("输入新的出版时间:");
    scanf("%s",book[i].chuBanAge);
    printf("输入新的图书单价:");
    scanf("%s",book[i].bookPrice);
    printf("确认修改?是 输入 y 或 Y。不是按任意键\n");
    getchar();
    scanf("%c",&c2);
    if(c2=='y'||c2=='Y'){
        save();
        printf("修改成功!\n");
        printf("\n\n按任意键返回\n");
        c=getch();system("cls");    xiugai();    
    }else{
        printf("\n\n按任意键返回\n");
        c=getch();system("cls");    xiugai();    
        }     }
void input(){//添加图书 
    load();
    int m,i,j;
    printf("\t ════════════════════════════ \n");
    printf("\t               ***** 录入图书信息 *****                   \n");
    printf("\t ════════════════════════════ \n");
    for(i=0;i<10;i++){
    printf("请输入需要添加的图书数量:");
    scanf("%d",&j);
    if(j<1000-M){
    m=j;
    break;    }
printf("该系统只能存放 1000 本以内的图书信息,剩余%d 本空间,请重新输入\n",1000-M);
}
    if(i==10){
    printf("输入的图书数量超过范围\n");
    exit(0);}
    M=M+m;
    for(i=0;i<m;i++){
        printf("输入第%d 个图书名称: ",i+1);
        scanf("%s",book[M+i-m].bookName);
        printf("输入第%d 个图书作者:",i+1);
        scanf("%s",book[M+i-m].author);
        printf("输入第%d 个图书ISBN号:",i+1);
        scanf("%s",book[M+i-m].isbn);
        printf("输入第%d 个出版单位:",i+1);
        scanf("%s",book[M+i-m].chuBan);
        printf("输入第%d 个出版时间:",i+1);
        scanf("%s",book[M+i-m].chuBanAge);
        printf("输入第%d 个图书单价:",i+1);
        scanf("%s",book[M+i-m].bookPrice);
        book[M+i-m].num=suiji();
        printf("该图书的编号被系统定为:%lu\n",book[M+i-m].num);}
    save();}
void login(){    //登录界面 
    int i=0,k=0,j; 
    FILE *fp;
    if((fp=fopen("name.txt","r"))==NULL){
        strcpy(us.pwd,"123456"); }//如果文件打开错误初始密码 
    fscanf(fp,"%s",&us.pwd);
    char username1[15];   //定义与原始密码相比较的变量 
    system("color 3f");        //系统函数,color显示颜色,3湖蓝色,f是亮白色 
    printf("\n\n");
    printf("\t 系统默认用户名:admin,密码:123456\n");
    printf("\t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
    printf("\t┃**********************************************************┃\n");
    printf("\t┃***┏━━━━━━━━━━━━━━━━━━━━━━━━┓***┃\n");
    printf("\t┃***┃************************************************┃***┃\n");
    printf("\t┃***┃***                                         ****┃***┃\n");
    printf("\t┃***┃***         欢迎使用图书管理信息系统        ****┃***┃\n");
    printf("\t┃***┃***                                         ****┃***┃\n");
    printf("\t┃***┃***                                         ****┃***┃\n");
    printf("\t┃***┃***                 黄康权                  ****┃***┃\n");
    printf("\t┃***┃***                                         ****┃***┃\n"); 
    printf("\t┃***┃***               2018年3月6日              ****┃***┃\n");
    printf("\t┃***┃***                                         ****┃***┃\n");
    printf("\t┃***┃************************************************┃***┃\n");
    printf("\t┃***┗━━━━━━━━━━━━━━━━━━━━━━━━┛***┃\n");
    printf("\t┃**********************************************************┃\n");
    printf("\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
    for(i=0;i<3;i++){
    printf("\n请输入用户名:");
    gets(username1);
    printf("\n请输入6位密码:");
    for(j=0;j<100;j++){
        pwd1[j]=getch();
        if(pwd1[j]=='\r')
        break;
        printf("*");    }
    pwd1[j]='\0';
    if((strcmp(username,username1)==0)&&(strcmp(us.pwd,pwd1)==0)){
        printf("\n\n您已经成功登录");
        k=1; 
        for(i=0;i<20;i++){
            printf(".");
            Sleep(100);    } 
    system("cls");
    homepage();            //跳转到主界面 
    break;    }
else
printf("\n\n用户名或密码无效,请重新输入:\n");
continue;
}
    if(k==0) 
    printf("\n连续输入错误3次将退出程序\n");
    Sleep(2000);            //程序暂停函数(单位毫秒),本次暂停2000毫秒 
    return;//连续三次错误跳转退出界面 
}
void save(){    //文件存盘
    FILE *fp;
    int i;
    if((fp=fopen("book.txt","w"))==NULL){
    printf("文件打开错误!\n");
    exit(0);    }
    for(i=0;i<M;i++)
    fwrite(&book[i],sizeof(struct booklibrary),1,fp);
    fclose(fp);    }
void load(){//磁盘信息读入到内存
    FILE *fp;
    int i;
    if((fp=fopen("book.txt","r"))==NULL){
        printf("文件打开错误!\n");
        exit(0);    }
    for(i=0;!feof(fp);i++)
    fread(&book[i],sizeof(struct booklibrary),1,fp);
    fclose(fp);
    M=i-1;    }
unsigned long suiji(){//生成随机的职工号
    unsigned long h;
    srand(time(NULL));
    h=rand()%1000+2018000;
    return h;    }
void gaimi(){    //修改密码程序 
    int j;
    FILE *fp;
    if((fp=fopen("name.txt","w"))==NULL){
        printf("文件打开错误!");exit(0); }
    printf("\n请输入您的原始密码:\n");
    fflush(stdin);         //清除缓冲 
    for(j=0;j<100;j++){
        us.pwd[j]=getch();
        if(us.pwd[j]=='\r')
        break;
        printf("*");    }
        us.pwd[j]='\0';
    if((strcmp(us.pwd,pwd1)==0)){
        printf("\n请输入您要修改的密码\n");
        for(j=0;j<100;j++){
        us.pwd[j]=getch();
        if(us.pwd[j]=='\r')
        break;
        printf("*");    }
        us.pwd[j]='\0';
        fflush(stdin);         //清除缓冲 
        printf("\n请再次确认你的密码\n");    
        for(j=0;j<100;j++){
        pwd1[j]=getch();
        if(pwd1[j]=='\r')
        break;
        printf("*");    }
        pwd1[j]='\0';
        if((strcmp(us.pwd,pwd1)==0)){
            printf("\n\n密码修改成功,请重新登录。\n");
            fprintf(fp,"%s",&us.pwd);
            Sleep(2000);
            system("cls");
            login();    }
        else {
            printf("\n\n两次密码不符合,本次服务到此结束!\n\n");
            printf("\n\n按任意键返回\n");
            c=getch();
            system("cls");                
            homepage();
        }    }
    else{
        printf("\n密码输入错误!\n\n");    
        printf("\n\n按任意键返回\n");
        c=getch();
        system("cls");
        homepage();    
        }    }
void quit(){    //退出程序 
    system("cls");
    printf("\n\n\t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
    printf("\t┃ ***********************************************************┃\n"); 
    printf("\t┃ *                       谢谢使用本程序                    *┃\n"); 
    printf("\t┃ ***********************************************************┃\n");
    printf("\t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n\n");
    exit(0);    }     
int xianshi(int i){
    int j=0; 
    printf(" 所有图书相关信息\n");
    printf("--------------------------------------------------------------------------------\n");
    printf("序列 图书号 图书名称 图书作者 图书ISBN 出版单位 出版时间 图书单价\n");
    printf("%2d ",j+1);
    printf(" %7lu%10s%6s%9s%12s%7s%10s\n",book[i].num,book[i].bookName,book[i].author,
    book[i].isbn,book[i].chuBan,book[i].chuBanAge,book[i].bookPrice);
    return 0; 
} 
欢迎您的转载:拾光博客 | 每天进步一点点 » C语言程序设计-图书信息管理系统开发

评论 抢沙发

  • 昵称*
  • 邮箱*
  • 网址