⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main3.c

📁 图书馆管理模板。包括图书管理
💻 C
📖 第 1 页 / 共 4 页
字号:
					scanf("%c",&ch);
					if((ch=='Y')||(ch=='y'))
					  { 
                             printf("*********删除完成**********\n");
                             getch();
                      }
					else  //1
					{
						 fp1=fopen("book1.txt","a+");    
                         if(fp1==NULL)
						  { 
                              printf("文件不存在导致打开失败!");
                               exit(0);
						  }
                         else
						  {   
                             
					         fprintf(fp1,"%d %s %s %s %d\n",oldbook.booknum,oldbook.bookname//写进myfile1
			                        ,oldbook.bookcreat,oldbook.writer,oldbook.lendture); 
							 fclose(fp1);
						  }   
					   }  //else1
				    }   //else2	
		       }  //while
		if(ch==' ')
		printf("没有找到这本书\n");
		fp=fopen("book.txt","w"); //清空myfile
		fclose(fp);
            fp=fopen("book.txt","a+");    
            fp1=fopen("book1.txt","r+");
            while(!feof(fp1))//将文件myfile1复制到myfile
			{   
				fscanf(fp1,"%d %s %s %s %d\n",&oldbook.booknum,oldbook.bookname//从file1读出一条记录
		                        ,oldbook.bookcreat,oldbook.writer,&oldbook.lendture);
                fprintf(fp,"%d %s %s %s %d\n",oldbook.booknum,oldbook.bookname//写进file
			                       ,oldbook.bookcreat,oldbook.writer,oldbook.lendture);
			}
			fclose(fp);
            fclose(fp1);
	
        fp1=fopen("book1.txt","w"); 
		fclose(fp1);  
	}   //else3
}

void modbook( )               //修改图书
{  
    char ch; 
	int number;
	struct book oldbook; //书库中的书*
    FILE *fp,*fp1;
    fp=fopen("book.txt","a+");    
    if(fp==NULL)
	{ 
        printf("文件不存在导致打开失败!");
        exit(0);
    }
    else   //3
      {   
          printf("===================================\n");
          printf("请输入要修改的书的编号:\n");
          scanf("%d",&number);
          getchar();
           while(!feof(fp)) 
           {
                fscanf(fp,"%d %s %s %s %d\n",&oldbook.booknum,oldbook.bookname
		                        ,oldbook.bookcreat,oldbook.writer,&oldbook.lendture);
				if(oldbook.booknum!=number)
				  {
				       fp1=fopen("book1.txt","a+");    
                       if(fp1==NULL)
				          { 
                             printf("文件不存在导致打开失败!");
                             exit(0);
				          }
                       else
				           {   
					          fprintf(fp1,"%d %s %s %s %d\n",oldbook.booknum,oldbook.bookname
			                     ,oldbook.bookcreat,oldbook.writer,oldbook.lendture);
					          fclose(fp1);
			               }
				   }
                 else   //2
				   {
					    printf(" %d %s %s %s %d\n",oldbook.booknum,oldbook.bookname
			                 ,oldbook.bookcreat,oldbook.writer,oldbook.lendture);
			            printf("您是否确定删除这本书的记录:\n");
				 	    printf("***修改输'Y'****不修改输'N'****\n");
					    scanf("%c",&ch);
					    if((ch=='Y')||(ch=='y'))
                           {    
                                fp1=fopen("book1.txt","a+");    
                               if(fp1==NULL)
                                 { 
                                    printf("文件不存在导致打开失败!");
                                    exit(0);
						         }
                               else
						         {   
                                     oldbook.booknum=number;
					                 printf("请输入要修改的书名:\n");
                                     scanf("%s",oldbook.bookname);
                                     printf("请输入要修改的出版社:\n");
                                     scanf("%s",oldbook.bookcreat);
                                     printf("请输入要修改的作者:\n");
                                     scanf("%s",oldbook.writer);
                                     printf("请输入要修改的借还标志:\n");
                                     scanf("%d",&oldbook.lendture);
					                 getchar();
					                 fprintf(fp1,"%d %s %s %s %d\n",oldbook.booknum,oldbook.bookname
			                               ,oldbook.bookcreat,oldbook.writer,oldbook.lendture); 
							         fclose(fp1);
						          }  
					            printf("*********修改完成**********\n");					          
					          }//if
					      else         //1
					        {
						       fp1=fopen("book1.txt","a+");    
                               if(fp1==NULL)
						         { 
                                     printf("文件不存在导致打开失败!");
                                     exit(0);
						         }
                                else
						         {   
					                 fprintf(fp1,"%d %s %s %s %d\n",oldbook.booknum,oldbook.bookname
			                              ,oldbook.bookcreat,oldbook.writer,oldbook.lendture); 
							          fclose(fp1);
						         }
					 	 
					          }      //else1
				        }//else2
				
		      } //while
	     	fp=fopen("book.txt","w"); 
		    fclose(fp);
            fp=fopen("book.txt","a+");    
            fp1=fopen("book1.txt","r+");
            while(!feof(fp1)) 
			 {   
				fscanf(fp1,"%d %s %s %s %d\n",&oldbook.booknum,oldbook.bookname
		                        ,oldbook.bookcreat,oldbook.writer,&oldbook.lendture);
                fprintf(fp,"%d %s %s %s %d\n",oldbook.booknum,oldbook.bookname
			                       ,oldbook.bookcreat,oldbook.writer,oldbook.lendture);
			 }
			fclose(fp);
            fclose(fp1);
            fp1=fopen("book1.txt","w"); 
		    fclose(fp1);
	}   //else3
}
      
void countbook()//统计图书
{   
	int i=0;
	FILE *fp;
    struct book oldbook;
    fp=fopen("book.txt","a+");    
    if(fp==NULL)
	 { 
        printf("文件不存在导致打开失败!");
        exit(0);
     }
	else
	 {  
       while(!feof(fp))
	     {
	 	    fscanf(fp,"%d %s %s %s %d\n",&oldbook.booknum,oldbook.bookname
		                        ,oldbook.bookcreat,oldbook.writer,&oldbook.lendture);
            if(oldbook.booknum!=0)
			       i++;
	      }
	    fclose(fp);
      	printf("图书馆书籍管理库中一共有%d:\n",i);
	 }
}

//借阅模块函数 
void findbook()  //查找图书 
 { 
    struct book bookst;                     //调用书库中的书 
    int booknumber;
    int i;
    int choosenumf,cyclef;
    cyclef=1;
    getchar();
    FILE *fp;
     fp=fopen("book.txt","r+");        //打开文件 
     if(fp==NULL)
       {
           printf("文件不存在导致打开失败!\n");      //文件不存在报错 
           getch();
           exit(0);
       } 
     else
        while(cyclef!=-1)                                 //应用一个循环使查找书目不存在时能查找其他书目
        {  printf("请输入所要查找的书的编号:\n");        //文件存在就提示输入所要查找的书目 
               scanf("%d",&booknumber);
               getchar();
               while(!feof(fp)) 
               {   
                   i=0;
                   fscanf(fp,"%d %s %s %s %d\n",&bookst.booknum,bookst.bookname,
                      bookst.bookcreat,bookst.writer,&bookst.lendture);  //读出所搜索到的指针所指的书的信息 
                  if(bookst.booknum == booknumber)
                  { 
                        printf("%d %s %s %s %d\n",bookst.booknum,bookst.bookname,
                           bookst.bookcreat,bookst.writer,bookst.lendture);  //在编译器上显示书的信息      
                        i=1; 
                        fseek(fp,0,0);     //查找完成后将指针指向首头      
                        break;                     //查找成功,跳出循环并显示 
                  }                         
               }
               fseek(fp,0,0);            //查找完成后将指针指向首头
               if(i==0) 
                    printf("抱歉!您所要查找的书本馆没有收藏!\n");          
           printf("您可以1.退出该系统  2.查找其他书目 请选择:\n");   //查找不成功,选择1退出系统;选择其他继续查找 
           scanf("%d",&choosenumf);
           switch(choosenumf) 
           {
              case 1:printf("谢谢使用本系统!\n");
                      cyclef=-1;break;
              case 2:printf("===========================\n");
                      break;
              default:printf("===========================\n");
                      break;
            }
         } 
     fclose(fp);
 }
 
void lendbook()     //外借图书 
{   
     struct reader one;
     struct card oldcard;
     struct card newcard;
     int cardnumber;
     int i=0;
     FILE *fp,*fp1,*fp2;
     fp=fopen("lendcard.txt","a+");
     if(fp==NULL)
       {
           printf("文件不存在导致打开失败!\n");      //文件不存在报错 
           getch();
           exit(0);
       } 
     else   //2
       {     
           fp=fopen("lendcard.txt","r+");          //打开借书卡 
           printf("请输入您的卡号:\n");
           scanf("%d",&cardnumber);
           while(!feof(fp))
              {   
                  fscanf(fp,"%d %s %d %d %d\n",&oldcard.one.cardnum,oldcard.one.readername,   
                       &oldcard.one.classes,&oldcard.booknum,&oldcard.lenddate);       //读取借书卡信息 
                  if(oldcard.one.cardnum==cardnumber&&oldcard.booknum==0) //if      判定读书卡号存在而且对应所借书目为空 
				    {
				      fp1=fopen("lendcard1.txt","a+");    
                      if(fp1==NULL)
				        { 
                          printf("该文件不存在!");
                          exit(0);
				         }
                       else
				         {   
                              printf("请输入所借阅的图书的编号:\n");
                              scanf("%d",&oldcard.booknum);
                              printf("请输入借阅本书的日期:\n");
                              scanf("%d",&oldcard.lenddate);
					         fprintf(fp1,"%d %s %d %d %d\n",oldcard.one.cardnum,oldcard.one.readername,
                                 oldcard.one.classes,oldcard.booknum,oldcard.lenddate);   //将满足IF条件的语句修改即加上booknum和lenddate 
					       fclose(fp1);
				         }
                            fp=fopen("lendcard.txt","a+");       //将修改好了后的这条信息加到借书卡文件中 
                            fp1=fopen("lendcard1.txt","r+");
                            while(!feof(fp1)) 
			                 {   
				                fscanf(fp1,"%d %s %d %d %d\n",&oldcard.one.cardnum,&oldcard.one.readername,
                                     &oldcard.one.classes,&oldcard.booknum,&oldcard.lenddate);
                                fprintf(fp,"%d %s %d %d %d\n",oldcard.one.cardnum,oldcard.one.readername,
                                        oldcard.one.classes,oldcard.booknum,oldcard.lenddate);
			                  }
			                    fclose(fp);
                                fclose(fp1);
                                fp1=fopen("lendcard1.txt","w"); 
	          	                fclose(fp1);
	          	                i=1;
	          	                printf("借书登记完毕!\n");
	          	                getch();
	          	                exit(0);    
                        }//if   
                } //while 
             if(i==0)            //用个while判定读书卡可用信息 
				    {    
                         printf("本卡不可以使用!\n");
                         getch();
                         exit(0);
                    }
         }   //else 2
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -