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

📄 061420984.cpp

📁 简单的图书管理系统! 可实现基本的功能!
💻 CPP
📖 第 1 页 / 共 2 页
字号:
{ 
FILE *fp,*fp2; 
int i; 
int carnum; 
char choice; 
fp=fopen("car.txt","r"); 
fp2=fopen("bookl.txt","w"); 
printf("要删除的卡号(不存在则不作改动):\n"); 
scanf("%d",&carnum); 
for(i=0;fread(&car[i],sizeof(struct car),1,fp)!=0;i++) 
{ 
   if(car[i].carnum!=carnum) 
   { 
    fwrite(&car[i],sizeof(struct car),1,fp2); 
   } 
} 
fclose(fp); 
fclose(fp2);
system("color 25"); 
printf("确认删除?(Y/N)!\n"); 
scanf("%s",&choice); 
if(choice=='y'||choice=='Y') 
{ 
   fp=fopen("car.txt","w"); 
   fp2=fopen("bookl.txt","r"); 
   for(i=0;fread(&car[i],sizeof(struct car),1,fp2)!=0;i++) 
   { 
    fwrite(&car[i],sizeof(struct car),1,fp); 
   } 
   fclose(fp); 
   fclose(fp2); 
   fp2=fopen("bookl.txt","w"); 
   fclose(fp2); 
   printf("操作超成功!\n按任意键返回...\n"); 
   getch(); 
   return 0; 
} 
else 
{ 
   printf("操作已取消!\n按任意键返回...\n"); 
   getch(); 
   return 0; 
} 
}
//////(3).会员卡统计
carcount() 
{ 
FILE *fp; 
int i,n=0; 
fp=fopen("car.txt","r"); 
for(i=0;fread(&car[i],sizeof(struct car),1,fp)!=0;i++) 
{ 
   printf("第%d张卡 \n",i+1); 
   printf("卡号   性别        姓名  班级   \n"); 
   printf("  %d    %5s    %10s   %3d \n\n",car[i].carnum,car[i].sex,car[i].studentname,car[i].studentclass); 
   n=n+1; 
} 
fclose(fp); 
printf("目前共有%d个会员。\n",n); 
printf("按任意键返回...\n"); 
getch(); 
}
////////////////////////////////////////////////////////
/////////////////图书管理模块///////////////////////////
//////////(1).增加图书信息
addbook() 
{ 
FILE *fp; 
int i=0; 
char choice='y'; 
fp=fopen("book.txt","a+"); 
while(choice=='y'||choice=='Y') 
{ system("color 6e"); 
   printf("书号:\n");
   scanf("%d",&book[i].booknum); 
   printf("书名:\n"); 
   scanf("%s",book[i].bookname); 
   printf("作者:\n"); 
   scanf("%s",book[i].bookcreat); 
   printf("单价:\n");
   scanf("%f",&book[i].bookprice);
   printf("请你设定书的状态(1在架/0不在):\n");  
   scanf("%d",&book[i].turefalse); 
   fwrite(&book[i],sizeof(struct book),1,fp); 
   printf("是否要输入下本书(y/n)\n"); 
   scanf("%s",&choice); 
} 
fclose(fp); 
}
/////////////(2).删除图书信息 
delbook() 
{ 
FILE *fp,*fp2; 
int i; 
char bookname[10],choice; 
fp=fopen("book.txt","r"); 
fp2=fopen("bookl.txt","w"); 
printf("书名:\n"); 
scanf("%s",bookname); 
for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++) 
{ 
   if(strcmp(bookname,book[i].bookname)!=0) 
   { 
    fwrite(&book[i],sizeof(struct book),1,fp2); 
   } 
} 
fclose(fp); 
fclose(fp2); 
printf("确认删除(y/n)?\n"); 
scanf("%s",&choice); 
if(choice=='y'||choice=='Y') 
{ 
   fp=fopen("book.txt","w"); 
   fp2=fopen("bookl.txt","r"); 
   for(i=0;fread(&book[i],sizeof(struct book),1,fp2)!=0;i++) 
   { 
    fwrite(&book[i],sizeof(struct book),1,fp); 
   } 
   fclose(fp); 
   fclose(fp2); 
   fp2=fopen("bookl.txt","w"); 
   fclose(fp2); 
   printf("按任意键返回...\n"); 
   getch(); 
   return 0; 
} 
else 
{ 
   printf("按任意键返回...\n"); 
   getch(); 
   return 0; 
} 
}
/////////////(3)修改图书
changebook() 
{ 
FILE *fp,*fp2; 
char bookname[10],choice; 
int i; 
fp=fopen("book.txt","r"); 
fp2=fopen("bookl.txt","w"); 
printf("书名:\n"); 
scanf("%s",bookname); 
for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++) 
{ 
   if(strcmp(book[i].bookname,bookname)==0) 
   { system("color 5e");
    printf("你所要修改的书的资料如下,请选择你要修改的内容:\n"); 
    printf("序号       书名      作者 \n"); 
    printf("%d   %s  %s\n",book[i].booknum,book[i].bookname,book[i].bookcreat); 
	printf("1: 修改书号:\n"); 
    printf("2: 修改书名:\n"); 
    printf("3: 修改作者:\n"); 
	printf("4: 修改单价:");
    printf("请输入1━3:"); 
     choice=getch(); 
    switch(choice) 
    { 
     case '1': 
     { 
      printf("新的书号:\n"); 
      scanf("%d",&book[i].booknum); 
      fwrite(&book[i],sizeof(struct book),1,fp2); 
     }break; 
     case '2': 
     { 
      printf("新的书名:\n"); 
      scanf("%s",book[i].bookname); 
      fwrite(&book[i],sizeof(struct book),1,fp2); 
     }break; 
     case '3': 
     { 
      printf("新的作者:\n"); 
      scanf("%s",book[i].bookcreat); 
      fwrite(&book[i],sizeof(struct book),1,fp2); 
     }break; 
	 case '4':
	{
		printf("新的单价:");
		scanf("%f",book[i].bookprice);
        fwrite(&book[i],sizeof(struct book),1,fp2);
	}
     default:printf("没有这样的操作!");break; 
    } 
    continue; 
   } 
   fwrite(&book[i],sizeof(struct book),1,fp2); 
} 
fclose(fp); 
fclose(fp2); 
fp=fopen("book.txt","w"); 
fp2=fopen("bookl.txt","r"); 
for(i=0;fread(&book[i],sizeof(struct book),1,fp2)!=0;i++) 
{ 
   fwrite(&book[i],sizeof(struct book),1,fp); 
} 
fclose(fp); 
fp2=fopen("bookl.txt","w"); 
fclose(fp2); 
printf("按任意键返回...\n"); 
getchar(); 
return 0; 
} 
////////////(4).图书统计
bookcount() 
{ 
FILE *fp; 
int i,n=0; 
fp=fopen("book.txt","r"); 
for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++) 
{ 
   if(book[i].booknum!=0&&strlen(book[i].bookname)!=0&&strlen(book[i].bookcreat)!=0) 
   { 
    printf("第%d本书\n序号           书名               作者       单价    状态 \n",i+1); 
    printf(" %d       %10s    ",book[i].booknum,book[i].bookname); 
	printf("%15s      %4.2f    %d(1在/0不在)\n",book[i].bookcreat,book[i].bookprice,book[i].turefalse);
	n=n+1; 
   } 
} 
fclose(fp); 
printf("目前共有%d本书.\n",n); 
printf("按任意键返回...\n"); 
}
//////////////////////结束界面函数
end()
{   system("cls");
	printf("\t\t┏┳━━━━━━━━━━━━┳┓\n");
	printf("\t\t┣╋━━━━━━━━━━━━╋┫\n");
	printf("\t\t┃┃ 谢谢使用本系统 , 再见! ┃┃\n");
      printf("\t\t┣╋━━━━━━━━━━━━╋┫\n");
      printf("\t\t┗┻━━━━━━━━━━━━┻┛\n");	
}/////////////////////////////////////////////////////////////
////////////////////主函数///////////////////////////
main() 
{ 
char ch1,ch2,ch4; 
system("color 2e");
do
{  system("cls");
   printf("\t\t┏┳━━━━━━━━━━━━┳┓\n");
   printf("\t\t┣╋━━━━━━━━━━━━╋┫\n");
   printf("\t\t┃┃  欢迎进入图书管理系统  ┃┃\n");
   printf("\t\t┣╋━━━━━━━━━━━━╋┫\n");
   printf("\t\t┗┻━━━━━━━━━━━━┻┛\n");
   printf(" 请选择:\n"); 
   printf(" 1:查阅图书 \n"); 
   printf(" 2:借阅图书 \n"); 
   printf(" 3:管理系统 \n"); 
   printf(" 4:还书 \n"); 
   printf(" 0:退出 \n"); 
   printf("请输入0━4:\n"); 
   ch1=getch(); 
   switch(ch1) 
   { 
    case '1':chabook();break; 
    case '2':lendbook();;break; 
    case '3':{ 
       do 
       { system("color 4e");
	    system("cls");
        printf("\t\t●●●欢迎进入管理系统●●●\n"); 
        printf(" 1:增加图书 \n"); 
        printf(" 2:删除图书 \n"); 
        printf(" 3:修改图书 \n"); 
        printf(" 4:图书统计 \n"); 
    
        printf(" 5:会员管理系统 \n"); 
        printf(" 0:返回 \n"); 
        printf("请输入0━5:\n"); 
         ch2=getch(); 
        switch(ch2) 
        { 
         case '1':addbook(); 
         break; 
         case '2':delbook();break; 
         case '3':changebook();break; 
         case '4':bookcount();getch();break; 
        
         case '5':{
            do 
            { system("color 4e");
			system("cls");
            printf("\t\t◎◎◎欢迎进入学生管理系统◎◎◎\n"); 
            printf(" 1: 申请新卡 \n"); 
            printf(" 2: 删除卡号 \n"); 
            printf(" 3: 借书统计 \n"); 
            printf(" 4: 卡号统计 \n"); 
            printf(" 0: 返回 \n"); 
            printf("请输入0━4:\n"); 
             ch4=getch(); 
            switch(ch4) 
             { 
              case '1':addcar();break; 
              case '2':delcar();break; 
              case '3':lendcount();break; 
              case '4':carcount();break; 
              case '0':break; 
              default:printf("无此操作!\n");getch();break; 
             } 
            }while(ch4!='0');}break; 
            case '0':break; 
            default:printf("无此操作!\n");getch();break; 
           } 
        }
			 while(ch2!='0');}break; 
        case '4':huanbook();break; 
        case '0':break; 
        default:printf("无此操作!\n");getch();break; 
   } 
}while(ch1!='0'); 
}

⌨️ 快捷键说明

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