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

📄 function.cpp

📁 我自己用C语言做的图书管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:

int read_message() 
{ 
    FILE *fp; 
    int i=0; 
     if((fp=fopen("book.txt","rb"))==NULL) 
	 {
		 printf("\n\n*****暂时还没有任何信息,按回车键进入主菜单选择基本信息的录入!*****\n"); 
         
		 getchar();
		 getchar();
		 return 0; 
	 } 
     while(feof(fp)!=1) 
	 {
		 fread(&book[i],sizeof(struct book_type),1,fp); 
         if(book[i].num==0) break; 
           else i++; 
	 } 
   fclose(fp); 
   return 1;
} 



void input_message() /*图书信息输入······*/
{  system("cls");
printf("\n\n 录入图书信息:\n"); 
   FILE *fp;
   int i=0,num=0;
   fp=fopen("book.txt","a+");
       printf("您要录入的图书的数目(1~50)\n");
      scanf("%d",&num);
do 
	{
	  printf("\n\n 第%d种图书",i+1); 
      printf("\n 图书编号:" ); 
      scanf("%d",&book[i].num); 
      printf("\n 图书名称:" ); 
      scanf("%s",&book[i].name); 
      printf("\n 图书作者:" ); 
      scanf("%s",&book[i].writer); 
      printf("\n 图书出版社:" ); 
      scanf("%s",&book[i].chubanshe); 
      printf("\n 图书数量:" ); 
      scanf("%d",&book[i].amount); 
      book[i].totalamount=book[i].amount;
     fwrite(&book[i],sizeof(struct  book_type),1,fp);
      i++; 
   }while(i<num); 
     printf("\n --%d种图书信息输入完毕!--\n",i); 
fclose(fp);
 printf("输入完毕,任意键返回\n");  
   getchar();
	 getchar();
}



 
int inq_name() /*按书名查询*/ 
{
	int  i,choice,j=0; 
    char  inquire_name[15]; 
    system("cls"); 
    printf("\n\n\n  输入要查询的书名:"); 
    scanf("%s",&inquire_name);
	 printf("\n \t\t\t----图书信息----\n"); 
          PRINT1; 
          PRINT2; 
    for(i=0;i<sum;i++) 
      if(strcmp(book[i].name,inquire_name)==0&&book[i].num!=0) 
	  { 
		 
          PRINT3;
		  printf("\n");
	   getchar();
		 getchar();
	  } 
	//    printf("按回车键返回·············\n");
	//	 getchar();
	//	 getchar();
		
		  
    else  j++; 
	if(j==sum) {
     printf("\n  该图书不存在!请输入任意键返回··········"); 
	 getchar();
	 getchar();
	 return 0;
	}
 
} 

/*按图书作者查询*/
void inq_writer() 
{
	int  i,choice,j=0; 
    char  inquire_writer[15]; 
    system("cls");  
    printf("\n\n\n  输入要查询的著书作者:"); 
    scanf("%s",&inquire_writer); 
	 printf("\n  ----图书信息----\n"); 
           PRINT1; 
           PRINT2; 

     for(i=0;i<sum;i++) 
       if(strcmp(book[i].writer,inquire_writer)==0&&book[i].num!=0) 
	   { 
		   
		  
           PRINT3;
		   printf("\n");
		 printf("按回车键返回·············\n");
		  getchar();
		  getchar();
		   
	   } 
     else  j++; 
        if(j==sum) 
     printf("\n  该图书不存在!");
	

  
} 


/*按出版社查询*/ 
void inq_chubanshe() 
{
	int  i,choice,j=0; 
    char  inquire_chubanshe[15]; 
    system("cls"); 
    printf("\n\n\n  输入要查询的出版社:"); 
    scanf("%s",&inquire_chubanshe); 
		printf("\n  ----图书信息----\n"); 
            PRINT1; 
            PRINT2; 
      for(i=0;i<sum;i++) 
        if(strcmp(book[i].chubanshe,inquire_chubanshe)==0&&book[i].num!=0) 
		{  
		
            PRINT3;
			printf("\n");
		  printf("按回车键返回·············\n");
		  getchar();
		  getchar();
		} 
       else  j++; 
         if(j==sum) 
         printf("\n  该图书不存在!"); 
 
} 

/*按图书编号查询*/ 
void inq_num() 
{
	int  i,choice,j=0; 
    int  inquire_num; 
    system("cls");
    printf("\n\n\n  输入要查询的图书编号:\n\n"); 
    scanf("%d",&inquire_num); 
     for(i=0;i<sum;i++) 
       if(book[i].num==inquire_num&&book[i].num!=0) 
	   {  
		   printf("\n  ----图书信息----\n"); 
           PRINT1; 
           PRINT2; 
           PRINT3;
		   printf("\n");
		  printf("按回车键返回·············\n");
		  getchar();
		  getchar();
	   } 
      else  j++; 
       if(j==sum) 
       printf("\n  该图书不存在!"); 
 
} 

 

void inquire_message() //查询图书信息
{
	int choice; 
    do 
	{  system("cls");
	   
         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※                 4:<按书籍编号查询>                  ※\n");  
         printf(" \t\t※                 0:<返回上一级菜单>                  ※\n"); 
         printf(" \t\t※              请输入0--4,其他输入是非法的哦!         ※\n"); 
         printf(" \t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
        scanf("%d",&choice); 
          switch(choice) 
		  {
	           case 1:inq_name();break; 
               case 2:inq_writer();break; 
               case 3:inq_chubanshe();break; 
               case 4:inq_num();break; 
               case 0:break; 
			default:printf("你在开玩笑吧?无此操作啦·····\n");break;
		  } 
	 }while(choice!=0); 

}   


/* void del_message()//此处功能有待实现    
{ 
   int i,choice; 
   int del_num; 
   system("cls"); 
   if(*h==NULL)return 0; 
      printf("\n\n\n 请输入要删除的图书编号") 
   scanf(%d,&del_num); 
     for(i=0,i<sum;i++) 
       if(book[i].num==inquire_num&&book[i].num!=0) 
	   {
		   printf("\n ----图书信息----\n"); 
           PRINT1; 
           PRINT2; 
           PRINT3; 
           printf("\n\n 确定要删除本图书信息(Y/N)"); 
	   } 
 if(choice=='y'||choice=='Y')
 {//此处功能有待实现
  
 } 
 else j++; 
 if(j==sum) 
 printf("\n\n\n 该图书不存在!"); 

} */


/*修改模块*/ 
void renew_message() 
{ 
 int i=0,choice,revise_num,flag; 
   do 
   { 
	 system("cls"); 
     printf("\n 输入要修改的图书编号:"); 
     scanf("%d",&revise_num); 
       for(i=0;i<sum;i++) 
         if(book[i].num==revise_num) 
		 {
			 printf("\n ----图书信息----\n"); 
             PRINT1; 
             PRINT2; 
             PRINT3; 
             printf("\n 您要修改那一项 \n"); 
             printf("\n 1.书名\n"); 
             printf("\n 2.作者\n"); 
             printf("\n 3.出版社\n"); 
             
             printf("\n 0.放弃修改,返回上一级菜单\n"); 
             printf("\n 请选择(0-4):"); 
             scanf("%d",&choice); 
               switch(choice) 
			   {
			       case 1:printf("\n 输入修改后的名称:"); 
				      scanf("%s",&book[i].name);break; 
                   case 2:printf("\n 输入修改后的作者:"); 
                      scanf("%s",&book[i].writer);break; 
                   case 3:printf("\n 输入修改后的出版社:"); 
                      scanf("%s",&book[i].chubanshe);break; 
                  
                   case 0:break; 
				   default:printf("你在开玩笑吧?无此操作啦·····\n");break;
			   } 
            PRINT1; 
            PRINT2; 
            PRINT3; 
            break; 
		 } 
      if(i==sum) 
	  {
		  printf("\n 该图书不存在!"); 
	  } 
   printf("\n\n 确定放弃修改 (Y/N)"); 
   choice=getchar();  
       if(choice=='N'||choice=='n') 
	   {
	   flag=1; 
       printf("\n 继续!\n"); 
	   } 
 else flag=0; 
   } 
 while(flag==1); 
 printf("\n 按任意键返回主菜单!"); 

} 


 int lendbook() //图书借阅 
{

    FILE *fp,*fp2; 
     int i,n; 
     int carnum; 
      printf("请你输入你的卡号\n"); 
        scanf("%d",&carnum); 
    fp=fopen("car.txt","r"); 
        for(i=0;fread(&car[i],sizeof(struct car),1,fp)!=0;i++) 
		{ 
           if(car[i].carnum==carnum) 
		   { 
              n=i; 
              fclose(fp); 
               printf("请输入你要借阅的书的名字\n"); 
                scanf("%s",student[n].lendbook); 
          fp=fopen("book.txt","r"); 
              for(i=0;fread(&book[i],sizeof(struct book_type),1,fp)!=0;i++) 
			  { 
                    if(strcmp(book[i].name,student[n].lendbook)==0) 
					{ 
                       if(book[i].amount==0) {printf("对不起,此书已经无库存,请借其他书\n");
					   fclose(fp);
					   getchar();
					   getchar();
					   } 
                        else 
                           fclose(fp); 
                           fp=fopen("record.txt","a+"); 
                              student[n].carnum=carnum; 
                             fwrite(&student[n],sizeof(struct student),1,fp); 

⌨️ 快捷键说明

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