C语言图书管理系统代码和课程报告书

时间:2024.4.13

     

  称:     程序设计实践     

                       

                       

                              

                      

学       期 : 20##-20##学年第二学期

课程报告任务书

成绩评定教师:


1 需求分析

2 概要设计

可适当参考以下提示:

  数据结构

⑵  模块划分

⑶  程序总体框架

分为七个模块!都是通过自定义函数完成!图书删除修改,图书借阅与归还都是通过编号完成,所以图书编号在我的程序里边是唯一的!

1 图书录入可以录入图书名,作者,出版社,出版日期,价格!录入图书编号时函数就会判断此编号是否存在,若存在不能成功录入!

2 图书浏览可以浏览全部图书!

3 图书查询提供按图书编号模糊查询,按图书名关键字查询,按图书编号精确查询,按图书名精确查询!模糊查询和关键字查询事通过比价字符串的相似度而实现的!

4 修改删除图书可以通过图书查询来查询操作的图书编号,通过编号操作!函数会提示用户是否调用图书查询来找到自己想要操作的图书的编号。如果某一本图书已经被借阅那么用户就不能删除该图书!

5 借阅图书通过学号和图书编号进行借阅!如果该学号是第一次借阅那么会提示用户输入自己的姓名,并存入student.txt,方便以后借阅与归还!

6 归还图书先提供学号,然后程序会输出该学号借阅的所有图书,然后再通过编号归还!

7 借阅查询可查询某个学生已借但未归还的图书!

3 详细设计

分为七个模块!都是通过自定义函数完成!

主函数为:

main(){

  if((fp=fopen("c:\\book.txt","rb+"))==NULL){

      printf("在c盘根目录下没有找到储存图书信息的book.txt文件\n请选择  1--手动导入!  2--创建此文件\n");

      scanf("%d",&xuan);

      switch(xuan){

      case 2:if((fp=fopen("c:\\book.txt","wb+"))!=NULL)

                printf("创建成功\n\n");

          break;

      case 1:printf("请把名为book.txt的文件复制到c盘根目录下\n\n");

      }

  }

  if((fpj=fopen("c:\\jieyue.txt","rb+"))==NULL){

      printf("在c盘根目录下没有找到储存借阅信息的jieyue.txt文件\n请选择  1--手动导入!  2--创建此文件\n");

      scanf("%d",&xuan);

      switch(xuan){

      case 2:if((fpj=fopen("c:\\jieyue.txt","wb+"))!=NULL)

                printf("创建成功\n\n");

         break;

      case 1:printf("请把名为jieyue.txt的文件复制到c盘根目录下\n\n");

      }

  }

  if((fps=fopen("c:\\student.txt","rb+"))==NULL){

      printf("在c盘根目录下没有找到储存学生信息的student.txt文件\n请选择  1--手动导入!  2--创建此文件\n");

      scanf("%d",&xuan);

      switch(xuan){

      case 2:if((fps=fopen("c:\\student.txt","wb+"))!=NULL)

                printf("创建成功\n\n");

         break;

      case 1:printf("请把名为student.txt的文件复制到c盘根目录下\n\n");

      }

  }

  menu();

  printf("\n  代码:");

  scanf("%d",&xuan);      

  while(xuan==1||xuan==2||xuan==3||xuan==4||xuan==5||xuan==6||xuan==7){

      fp=fopen("c:\\book.txt","rb+");

      fps=fopen("c:\\student.txt","rb+");

      fpj=fopen("c:\\jieyue.txt","rb+");

      switch(xuan){

      case 0:break;

      case 1:end();break;

      case 2:print();break;

      case 3:find();break;

      case 4:del();break;

      case 5:lend();break;

      case 6:huan();break;

      case 7:cha();break;

      }

      fclose(fp);

      fclose(fpj);

      fclose(fps);

      menu();

  printf("\n  代码:");

  scanf("%d",&xuan);

  }

}

然后通过函数调用实习以下功能

1 图书录入可以录入图书名,作者,出版社,出版日期,价格!函数名为“void end()”。

2 图书浏览可以浏览全部图书!函数名为“void print()”。

3 图书查询提供按图书编号模糊查询,按图书名关键字查询,按图书编号精确查询,按图书名精确查询!函数名为“void find()”。

4 修改删除图书可以通过图书查询来查询操作的图书编号,通过编号操作!函数名为“viod del()”。

5 借阅图书通过学好和图书编号进行借阅!函数名为“void lend()”。

6 归还图书先提供学号,然后程序会输出该学号借阅的所有图书,然后再通过书号归还!函数名为“void huan()”。

7 借阅查询可查询某个学生已借但未归还的图书!函数名为“void cha()”。

4 调试分析

调试程序时主要问题出现在文件指针的移动,我图书和借阅信息的删除!因为我整个程序都是通过图书编号来完成操作,所以我必须保证图书编号不被重复,用户修改图书编号和删除时我都要考虑这本书书是否被借阅!

解决第一个问题就是利用fseek(),rewind()这两个函数来控制指针。解决第二个问题利用文件。比如删除图书,我先把不用删除的图书写到另一个文件里,然后再以新建的方式打开原文件,把图书信息又写回来!

5测试结果

1.我用了三册图书信息(如下)

和两个同学(信息如下)来测试了这个系统

输入程序后通过图书浏览可以看到已经成功输入

2.图书查询提供按图书编号模糊查询,按图书名关键字查询,按图书编号精确查询,按图书名精确查询!我这里用演示用图书名关键字查询!

输入“Eng”,程序就找出包含“Eng”的所有图书!

     3.修改删除图书,我这里演示把编号为002的图书的价格修改为63.3

4.借阅归还图书都是通过编号完成!我这里演示wang同学借编号为001的图书!

6 课程心得总结

刚开始在做这个程序的时候没有做需求分析,结果盲目的写没有目的,得到了教训!

写这个程序熟悉了很多以前学过的知识,文件运用能力有很大提高!明白了以前很多不知道的为什么,比如以前老师不建议用全局变量,但这次我用,遇到了不少麻烦!、

很多同学在写程序的时候都不用F10调试程序,我觉得用F10调试程序对我们很有帮助,因为这可以快速帮我们找到程序出现错误的地方!

由于我很多模块都是通过编号完成的,所以在修改图书的编号时必然会给借阅造成麻烦,这给我带来不少麻烦,不过我还是解决了!

代码

#include<stdio.h>

#include<stdlib.h>

#include<string.h>        

FILE *fp,*fpj,*fps;

int i,xuan;

typedef struct book{

       char name[10];

       char num[10];

       char writer[10];

       int date;

       char press[10];

       float price;

       char leibie[10];

       int kucun;

       int jiechu;

}bo;

typedef struct student{

       char name[10];

       char num[10];

       int jie;

}st;

typedef struct jieyue{

       char snum[10];

       char bnum[10];

}ji;

void menu()//菜单

{

       printf("\n\n");

       for(i=0;i<80;i++)

              printf("#");

       printf("\n\n");

       printf("\t\t1-----图书录入\t\t\t");

       printf("2-----图书浏览\n\n");

       printf("\t\t3-----图书查询\t\t\t");

       printf("4-----修改删除图书\n\n");

       printf("\t\t5-----借阅图书\t\t\t");

       printf("6-----归还图书\n\n");

       printf("\t\t7-----借阅查询\t\t\t\n");

       printf("\n\t\t\t\t输入其他任意键退出\n");

       printf("\n\n");

       for(i=0;i<80;i++)

              printf("#");

       printf("\n\n");

}

void end()//录入图书

{

       bo boo,booq;

       printf("请输入图书名(最多十个字符):");

       scanf("%s",boo.name);

       do{

              i=1;

              printf("请输入图书编号(最多十个字符):");

              scanf("%s",boo.num);

              fread(&booq,sizeof(bo),1,fp);

              while(!feof(fp)){

                     if(strcmp(booq.num,boo.num)==0){

                            printf("\n该编号已存在请重新输入\n\n");

                            i=0;

                            break;

                     }

                     fread(&booq,sizeof(bo),1,fp);

              }

              rewind(fp);

       }while(i==0);

       printf("请输入图书作者(最多十个字符):");

       scanf("%s",boo.writer);

       printf("请输入图书出版日期(例如20##年5月3日出版则输入20010503):");

       scanf("%d",&boo.date);

       printf("请输入图书价格:");

       scanf("%f",&boo.price);

       printf("请输入图书出版社(最多十个字符):");

       scanf("%s",boo.press);

       printf("请输入图书类别(最多十个字符):");

       scanf("%s",boo.leibie);

       printf("请输入图书入库数:");

       scanf("%d",&boo.kucun);

       boo.jiechu=0;

       getchar();

       fseek(fp,0,2);

       fwrite(&boo,sizeof(bo),1,fp);

       printf("\n录入成功!回到主菜单");

       system("pause");

}

void print()//浏览图书

{

       bo boo;

       printf("书名      编号      作者      价格      出版社    类别      原始库存  借出\n");

       fread(&boo,sizeof(bo),1,fp);

       while(feof(fp)==0){

              printf("%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4d\n",boo.name,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);

              fread(&boo,sizeof(bo),1,fp);

              }

       printf("\n浏览图书完毕!回到主菜单");

       system("pause");

}

int dui(char *p,char *p1)//对比两个字符串的相关度(用于精确搜索)

{

       int bao=0,fan=1;

       for(i=0;i<(int)strlen(p1);i++){

              if(p[0]==p1[i]){

                     bao=i;

                     break;

              }

       }

       if((int)strlen(p)>(int)strlen(p1)-bao+1)

              return 0;

       else

              for(i=0;i<(int)strlen(p);i++){

                     if(p[i]!=p1[bao+i])

                            fan=0;

              }

              return fan;

}

void find()//查询图书

{

       char hao[10];

       int fan=1;

       int bian=1;

       bo boo;

       printf("请选择查询类型:\n\n\t\t1-按图书编号模糊查询     2-按图书名关键字查询\n");

       printf("                \n\t\t3-按图书编号精确查询     4-按图书名精确查询\n\n代码:");

       scanf("%d",&xuan);

       if(xuan==1){

              printf("请输入编号(最多十个字符):");

              scanf("%s",hao);

              printf("序号 书名      编号      作者      价格      出版社    类别      原始库存  借出\n");

              fread(&boo,sizeof(bo),1,fp);

              while(!feof(fp)){

                     fan=dui(hao,boo.num);

                     if(fan==1){

                            printf("%-5d%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4d\n",bian,boo.name,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);

                            bian++;}

                     fread(&boo,sizeof(bo),1,fp);

              }

       }

       else if(xuan==2){

              printf("请输入图书名关键字(最多十个字符):");

              scanf("%s",hao);

              printf("序号 书名      编号      作者      价格      出版社    类别      原始库存  借出\n");

              fread(&boo,sizeof(bo),1,fp);

              while(!feof(fp)){

                     fan=dui(hao,boo.name);

                     if(fan==1)

                            printf("%-5d%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4d\n",bian,boo.name,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);

                     fread(&boo,sizeof(bo),1,fp);

              }

       }

       else if(xuan==4){

              printf("请输入图书名(最多十个字符):");

              scanf("%s",hao);

              printf("序号 书名      编号      作者      价格      出版社    类别      原始库存  借出\n");

              while(!feof(fp)){

                     if(strcmp(hao,boo.name)==0)

                            printf("%-5d%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4d\n",bian,boo.name,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);

                     fread(&boo,sizeof(bo),1,fp);

              }

       }

       else if(xuan==3){

              printf("请输入图书编号(最多十个字符):");

              scanf("%s",hao);

              printf("序号 书名      编号      作者      价格      出版社    类别      原始库存  借出\n");

              while(!feof(fp)){

                     if(strcmp(hao,boo.num)==0)

                            printf("%-5d%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4d\n",bian,boo.name,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);

                     fread(&boo,sizeof(bo),1,fp);

              }

       }

       else{

              printf("输入错误,正在退出!");

              system("pause");

              return;

       }

       printf("\n查询图书完毕! ");

       system("pause");

}

void del()//修改删除图书

{

       FILE *p;

       ji jie;

       int j=0;

       char num[10];

       bo boo,booq;

       int xu;

       char or;

       char cha[10];

       printf("\n删除修改图书只能通过图书编号来完成!\n是否调用图书查询来查询你要操作的图书编号(Y/N)\n");

       getchar();

       scanf("%c",&or);

       if(or=='Y'||or=='y'){

              find();

              rewind(fp);}

       printf("\n请输入你要操作的图书的编号(如果输入错误的编号,将不做任何操作):");

       scanf("%s",cha);

       fread(&jie,sizeof(ji),1,fpj);

       while(!feof(fpj)){

              if(strcmp(jie.bnum,cha)==0){

                     printf("\n这本书已有人借阅,不能操作!\n正在退出 ");

                     system("pause");

                     return;

              }

              fread(&jie,sizeof(ji),1,fpj);

       }

       printf("\n\n1-删除图书   2-修改图书\n\n");

       printf("请选择操作类型:");

       scanf("%d",&xuan);

       fread(&boo,sizeof(bo),1,fp);

       p=fopen("c:\\books1.txt","wb+");

       while(!feof(fp)){

              j++;

              if(strcmp(boo.num,cha)==0){      

                     if(xuan==2){               

                            printf("\n\n1-书名    2-编号    3-作者    4-价格    5-出版社   6-类别    7-库存\n\n");

                            printf("请选择要修改的项目:");

                            scanf("%d",&xu);

                            if(xu==1){

                                   printf("你要把%s改为:",boo.name);

                                   scanf("%s",boo.name);}

                            else if(xu==2){

                                   do{

                                          i=1;

                                          printf("你要把%s改为:",boo.num);

                                          scanf("%s",num);

                                          rewind(fp);

                                          fread(&booq,sizeof(bo),1,fp);

                                          while(!feof(fp)){

                                                 if(strcmp(booq.num,num)==0){

                                                        printf("\n该编号已存在请重新输入\n\n");

                                                        i=0;

                                                        break;

                                                 }

                                                 fread(&booq,sizeof(bo),1,fp);

                                          }

                                   }while(i==0);

                                          rewind(fp);

                                   for(i=0;i<j;i++){

                                          fread(&boo,sizeof(bo),1,fp);

                                          strcpy(boo.num,num);

                                   }

                            }

                            else if(xu==3){

                                   printf("你要把%s改为:",boo.writer);

                                   scanf("%s",boo.writer);}

                            else if(xu==4){

                                   printf("你要把%.2f改为:",boo.price);

                                   scanf("%f",&boo.price);}

                            else if(xu==5){

                                   printf("你要把%s改为:",boo.press);

                                   scanf("%s",boo.press);}

                            else if(xu==6){

                                   printf("你要把%s改为:",boo.leibie);

                                   scanf("%s",boo.leibie);}

                            else if(xu==7){

                                   printf("你要把%d改为:",&boo.kucun);

                                   scanf("%d",&boo.kucun);}

                            fwrite(&boo,sizeof(bo),1,p);

                     }

              }

              else

                     fwrite(&boo,sizeof(bo),1,p);

              fread(&boo,sizeof(bo),1,fp);

       }

       fclose(p);

       p=fopen("c:\\books1.txt","rb+");

       fclose(fp);

       fp=fopen("c:\\book.txt","wb+");

       fread(&boo,sizeof(bo),1,p);

       while(!feof(p)){

              fwrite(&boo,sizeof(bo),1,fp);

              fread(&boo,sizeof(bo),1,p);  

       }

       fclose(fp);

       printf("操作成功   回到主菜单");

       system("pause");

}

void lend()//借阅图书

{

       bo boo;

       FILE *p;

       st stu;

       ji jie;

       int j=0;

       char or,num[10],xnum[10];

       printf("\n借阅图书只能通过图书编号完成!\n是否调用图书查询来查询你要操作的图书编号(Y/N)\n");

       getchar();

       scanf("%c",&or);

       if(or=='Y'||or=='y')

              find();

       printf("\n请输入你要借阅的图书的编号:");

       scanf("%s",num);

       fread(&boo,sizeof(bo),1,fp);

       while(!feof(fp)){

              if(strcmp(num,boo.num)==0){

                     j=1;

                     break;           

              }

              fread(&boo,sizeof(bo),1,fp);

       }

       if(j==0){

              printf("\n书库没有该图书 正在退出\n");

              system("pause");

              return;

       }

       printf("\n你需要借阅的图书是:\n");

       printf("书名      编号      作者      价格      出版社    类别      原始库存  借出\n");

       printf("%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4d\n",boo.name,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);

       if(boo.kucun==boo.jiechu){

              printf("\n该册图书已全部借出!正在退出\n");

              system("pause");

              return;

       }

       printf("\n请输入你的学号:");

       scanf("%s",xnum);

       j=0;

       fread(&jie,sizeof(ji),1,fpj);

       while(!feof(fpj)){

              if((strcmp(jie.bnum,num)==0)&&(strcmp(jie.snum,xnum)==0)){

                     j=1;

                     break;           

              }

              fread(&jie,sizeof(ji),1,fpj);

       }

       if(j==1){

              printf("\n你已经借阅过该书  正在退出\n");

              system("pause");

              return;

       }

       fread(&stu,sizeof(st),1,fps);

       j=0;

       while(!feof(fps)){

              if(strcmp(xnum,stu.num)==0){

                     j=1;

                     break;

              }

              fread(&stu,sizeof(st),1,fps);

       }

       if(j==0){

              printf("\n你是第一次借阅图书,为了方便管理请输入你的姓名:");

              scanf("%s",stu.name);

              strcpy(stu.num,xnum);

              stu.jie=1;

              fseek(fps,0,2);

              fwrite(&stu,sizeof(st),1,fps);

       }

       else{

              if(stu.jie==5){//这里可以控制每个学生最多借几本书

                     printf("\n你已经借了5本书,不能再借\n");

                     system("pause");

                     return;}

              p=fopen("c:\\jie.txt","wb+");

              rewind(fps);

              fread(&stu,sizeof(st),1,fps);

              while(!feof(fps)){

                     if(strcmp(xnum,stu.num)==0)

                            stu.jie++;

              fwrite(&stu,sizeof(st),1,p);

              fread(&stu,sizeof(st),1,fps);

              }

              fclose(p);

              fclose(fps);    

              p=fopen("c:\\jie.txt","rb+");

              fps=fopen("c:\\student.txt","wb+");

              fread(&stu,sizeof(st),1,p);

              while(!feof(p)){

                     fwrite(&stu,sizeof(st),1,fps);

                     fread(&stu,sizeof(st),1,p);    

              }

       }

       strcpy(jie.bnum,num);

       strcpy(jie.snum,xnum);

       fseek(fpj,0,2);

       fwrite(&jie,sizeof(ji),1,fpj);

       rewind(fp);

       p=fopen("c:\\jie.txt","wb+");

       fread(&boo,sizeof(bo),1,fp);

       while(!feof(fp)){

              if(strcmp(num,boo.num)==0)

                     boo.jiechu++;

              fwrite(&boo,sizeof(bo),1,p);

              fread(&boo,sizeof(bo),1,fp);

       }

       fclose(p);

       p=fopen("c:\\jie.txt","rb+");

       fclose(fp);

       fp=fopen("c:\\book.txt","wb+");

       fread(&boo,sizeof(bo),1,p);

       while(!feof(p)){

              fwrite(&boo,sizeof(bo),1,fp);

              fread(&boo,sizeof(bo),1,p);  

       }

       printf("\n借阅成功!回到主菜单");

       system("pause");

}

void huan(){//归还图书

       FILE *p;

       bo boo;

       ji jie;

       st stu;

       int j=0;

       char snum[10],bnum[10];

       i=0;

       printf("\n请输入你的学号:");

       scanf("%s",snum);

       printf("\n你借阅了以下图书\n");

       fread(&jie,sizeof(ji),1,fpj);

       printf("书名      编号      作者      价格      出版社    类别      原始库存  借出\n");

       while(!feof(fpj)){

              if(strcmp(jie.snum,snum)==0){

                     fread(&boo,sizeof(bo),1,fp);

                     while(!feof(fp)){

                            if(strcmp(jie.bnum,boo.num)==0){

                                   printf("%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4d\n",boo.name,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);

                                   j=1;

                            }

                            fread(&boo,sizeof(bo),1,fp);

                     }

              }

              fread(&jie,sizeof(ji),1,fpj);

       }

       if(j==0){

              printf("\n你没有借阅任何图书!\n\n正在退出");

              system("pause");

              return;

       }

       rewind(fp);

       rewind(fpj);

       printf("\n请输入你归还的图书的编号:");

       scanf("%s",bnum);

       fread(&jie,sizeof(jie),1,fpj);//改变jieyue.txt里的数据

       p=fopen("c:\\jie.txt","wb+");

       while(!feof(fpj)){

              if((strcmp(jie.bnum,bnum)==0)&&(strcmp(jie.snum,snum)==0))

                     i=1;

              else

                     fwrite(&jie,sizeof(jie),1,p);

              fread(&jie,sizeof(jie),1,fpj);

       }

       if(i==0){

              printf("\n你没有借过该图书\n正在退出");

              system("pause");

              return;

       }

       fclose(p);

       fclose(fpj);    

       p=fopen("c:\\jie.txt","rb+");

       fpj=fopen("c:\\jieyue.txt","wb+");

       fread(&jie,sizeof(ji),1,p);

       while(!feof(p)){

              fwrite(&jie,sizeof(ji),1,fpj);

              fread(&jie,sizeof(ji),1,p);     

       }

       fclose(p);//改变book.txt里的数据

       p=fopen("c:\\jie.txt","wb+");

       fread(&boo,sizeof(bo),1,fp);

       while(!feof(fp)){

              if(strcmp(bnum,boo.num)==0)

                     boo.jiechu--;

              fwrite(&boo,sizeof(bo),1,p);

              fread(&boo,sizeof(bo),1,fp);

       }

       fclose(p);

       p=fopen("c:\\jie.txt","rb+");

       fclose(fp);

       fp=fopen("c:\\book.txt","wb+");

       fread(&boo,sizeof(bo),1,p);

       while(!feof(p)){

              fwrite(&boo,sizeof(bo),1,fp);

              fread(&boo,sizeof(bo),1,p);  

       }

       fclose(p);//改变student.txt里的数据

       p=fopen("c:\\jie.txt","wb+");

       rewind(fps);

       fread(&stu,sizeof(st),1,fps);

       while(!feof(fps)){

              if(strcmp(snum,stu.num)==0)

                     stu.jie--;

              fwrite(&stu,sizeof(st),1,p);

              fread(&stu,sizeof(st),1,fps);

       }

       fclose(p);

       fclose(fps);    

       p=fopen("c:\\jie.txt","rb+");

       fps=fopen("c:\\student.txt","wb+");

       fread(&stu,sizeof(st),1,p);

       while(!feof(p)){

              fwrite(&stu,sizeof(st),1,fps);

              fread(&stu,sizeof(st),1,p);    

       }

       printf("\n归还成功!回到主菜单");

       system("pause");

}

void cha(){//借阅查询

       char num[10];

       bo boo;

       ji jie;

       printf("\n请输入你的学号:");

       scanf("%s",num);

       fread(&jie,sizeof(ji),1,fpj);

       printf("书名      编号      作者      价格      出版社    类别      原始库存  借出\n");

       while(!feof(fpj)){

              if(strcmp(jie.snum,num)==0){

                     fread(&boo,sizeof(bo),1,fp);

                     while(!feof(fp)){

                            if(strcmp(jie.bnum,boo.num)==0)

                                   printf("%-10s%-10s%-10s%-10.2f%-10s%-10s%-10d%-4d\n",boo.name,boo.num,boo.writer,boo.price,boo.press,boo.leibie,boo.kucun,boo.jiechu);

                            fread(&boo,sizeof(bo),1,fp);

                     }

              }

              fread(&jie,sizeof(ji),1,fpj);

       }

       printf("\n查询完毕!回到主菜单");

       system("pause");

}

main(){

       if((fp=fopen("c:\\book.txt","rb+"))==NULL){

              printf("在c盘根目录下没有找到储存图书信息的book.txt文件\n请选择  1--手动导入!  2--创建此文件\n");

              scanf("%d",&xuan);

              switch(xuan){

              case 2:if((fp=fopen("c:\\book.txt","wb+"))!=NULL)

                               printf("创建成功\n\n");

                     break;

              case 1:printf("请把名为book.txt的文件复制到c盘根目录下\n\n");

              }

       }

       if((fpj=fopen("c:\\jieyue.txt","rb+"))==NULL){

              printf("在c盘根目录下没有找到储存借阅信息的jieyue.txt文件\n请选择  1--手动导入!  2--创建此文件\n");

              scanf("%d",&xuan);

              switch(xuan){

              case 2:if((fpj=fopen("c:\\jieyue.txt","wb+"))!=NULL)

                               printf("创建成功\n\n");

                     break;

              case 1:printf("请把名为jieyue.txt的文件复制到c盘根目录下\n\n");

              }

       }

       if((fps=fopen("c:\\student.txt","rb+"))==NULL){

              printf("在c盘根目录下没有找到储存学生信息的student.txt文件\n请选择  1--手动导入!  2--创建此文件\n");

              scanf("%d",&xuan);

              switch(xuan){

              case 2:if((fps=fopen("c:\\student.txt","wb+"))!=NULL)

                               printf("创建成功\n\n");

                     break;

              case 1:printf("请把名为student.txt的文件复制到c盘根目录下\n\n");

              }

       }

       menu();

       printf("\n  代码:");

       scanf("%d",&xuan);            

       while(xuan==1||xuan==2||xuan==3||xuan==4||xuan==5||xuan==6||xuan==7){

              fp=fopen("c:\\book.txt","rb+");

              fps=fopen("c:\\student.txt","rb+");

              fpj=fopen("c:\\jieyue.txt","rb+");

              switch(xuan){

              case 0:break;

              case 1:end();break;

              case 2:print();break;

              case 3:find();break;

              case 4:del();break;

              case 5:lend();break;

              case 6:huan();break;

              case 7:cha();break;

              }

              fclose(fp);

              fclose(fpj);

              fclose(fps);

              menu();

       printf("\n  代码:");

       scanf("%d",&xuan);

       }

}

更多相关推荐:
c语言图书管理系统课程设计报告

合肥学院计算机科学与技术系课程设计报告20xx20xx学年第二学期课学学专指业导班教生姓程C语言课程设计图书管理系统名号级师课程设计名称20xx年6月一需求分析为了满足图书管理的要求通过计算机技术给图书管理人员...

c语言课程设计报告·图书管理系统

第一章11题目描述图书管理系统设计要求图书管理信息包括图书名称图书编号单价作者存在状态借书人姓名性别学号等试设计一图书管理系统使之能提供以下功能1新图书基本信息的输入2图书基本信息的查询3对撤销图书信息的删除4...

C语言图书管理系统课程设计报告[1]

第三章图书管理系统的设计与实现3.1系统的需求分析图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。根据系统界面的提示信息对图书馆信息进行查询、初始化等操作系统…

c语言图书管理系统课程设计报告

沈航北方科技学院课程设计说明书课程名称教学部专业数控班级B042111学号B04211123学生姓名指导教师赵小磊20xx年6月链表实现图书信息操作田文目录摘要31绪论32系统分析321功能需求322数据需求4...

c语言图书管理系统课程设计报告

河南工业大学C语言课程设计报告20xx20xx学年第2学期课程C语言课程设计课程设计名称图书管理系统姓名晁永兵学号20xx16040220学院信息科学与工程学院专业软件工程班级2班20xx年05月04日一需求分...

C语言课程设计报告-图书管理系统

课程设计报告图书馆管理系统目录1题目与要求22系统总体设计要给出必要的文字说明及必要的图示321功能需求分析明确选题的功能需求322系统功能模块划分要给出系统功能模块图43详细设计431重要数据的数据结构设计即...

C语言图书管理系统课程设计报告

C语言图书管理系统课程设计报告引言随着社会经济的迅速发展和现代科学技术的进步,人类社会正逐渐走向现代化。计算机事业的飞速发展,使得以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。同时,随着经济文化水平的…

通讯录管理系统课程设计报告书(C语言)[1]

课程设计报告书课程名称班级学号姓名指导老师通讯录管理系统一需求分析设计题目及要求建立通讯录信息信息至少包含编号姓名年龄电话通讯地址电子邮箱等能够提供添加删除和修改通讯录信息的功能能够提供安不同方式查询的功能如按...

C语言课程设计报告—图书信息管理系统

C语言课程设计报告图书信息管理系统设计指导老师:C语言程序设计编程实践是学习C语言程序设计的一重要环节,上机实习和课程设计是提高同学们程序设计能力的有效途径,能够使同学们初步掌握程序设计的基本方法和调试技能。学…

C语言图书馆管理系统课程设计报告

一目的要求C语言程序设计是一门讲述C语言的基本知识和编程方法的课程在讲述C语言数据类型的基础上对C语言的五类语句做了简单的介绍另外还讨论了C语言的三种程序结构顺序选择和循环对函数的使用指针的概念结构体的应用文件...

C语言图书馆管理系统课程设计报告12

C语言课程设计学生姓名袁盛升学生学号所在班级任课教师姜林10211121图书馆管理系统设计目的图书信息包括登录号书名作者名分类号出版单位出版时间价格等试设计一图书信息管理系统使之能提供以下功能1系统以菜单方式工...

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

图书管理课程设计学生姓名学生学号所在班级任课教师图书馆管理系统设计目的图书信息包括登录号书名作者名分类号出版单位出版时间价格等试设计一图书信息管理系统使之能提供以下功能1系统以菜单方式工作2图书信息录入功能图书...

c语言图书管理系统课程设计报告(26篇)