图书管理程序

2016-02-19 15:57 5 1 收藏

今天图老师小编给大家展示的是图书管理程序,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - 编程语言 】

#includestdio.h
  #includestring.h
  #includeconio.h
  #includestdlib.h
  #includectype.h
  #define STACK_IN99v_SIZE 10
  #define OK 1
  #define TRUE 1
  #define FALSE  0
  #define ERROR 0
  strUCt student           /*定义学生类型,用于存放借出的书籍*/
  {
  int carnum;
  char lendbook[10];
  }student[1000];
  struct employ            /*定义职工类型*/
  {
  int employnum;
  char employname[15];
  int employage;
  char employsex[2];
  char employleve[10];
  long int employtage;
  }employ[50];
  struct book              /*定义书的类型*/
  {
  int booknum;
  char bookname[10];
  char bookcreat[10];
  int turefalse;           /*用于借书和还书模块判定一本书是否借出的条件*/
  }book[1000];
  struct car               /*借书卡的数据类型*/
  {
  int carnum;
  char studentname[10];
  int studentclass;
  }car[100];huanbook()               /*还书函数*/
  {
  FILE *fp,*fp2;           /*定义两个文件指针,fp2用于修改数据时设立临时文件用,防止数据遭破坏*/
  int i,n;
  int carnum;
  char lendbook[10];
  printf("请你输入你的卡号");
  scanf("%d",&carnum);
  fp=fopen("car.txt","r");       /*读取卡号记录*/
  for(i=0;fread(&car[i],sizeof(struct car),1,fp)!=0;i++)   /*for循环判定卡号是否存在*/
  {
  if(car[i].carnum==carnum)      /*卡号存在,进入下一循环*/
  {
  n=i;
  fclose(fp);
  printf("请输入你要还的书的名字");
  scanf("%s",lendbook);
  fp=fopen("record.txt","r");
  for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++)   /*判定是否借阅了输入的书*/
  {
  if(strcmp(student[i].lendbook,lendbook)==0)      /*借阅了该书,进入下一循环,否则出错显示*/
  {
  fclose(fp);
  fp=fopen("record.txt","r");
  fp2=fopen("bookl.txt","w");
  for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++)
  {
  if(strcmp(student[i].lendbook,lendbook)==0)
  {
  continue;                                       /*删除还掉的书的借书记录*/
  }
  fwrite(&student[i],sizeof(struct student),1,fp2);  /*写入原来没还的书的记录*/
  }
  fclose(fp);
  fclose(fp2);
  fp=fopen("record.txt","w");
  fp2=fopen("bookl.txt","r");
  for(i=0;fread(&student[i],sizeof(struct student),1,fp2)!=0;i++)
  {
  fwrite(&student[i],sizeof(struct student),1,fp);     /*将借书记录信息写回*/
  }
  fclose(fp);
  fclose(fp2);
  fopen("bookl.txt","w");                    /*清临时文件的记录*/
  fclose(fp2);
  fp=fopen("book.txt","r");
  fp2=fopen("bookl.txt","w");
  for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++)    /*将书的记录写入临时文件,防止因为修改信息破坏以前的记录*/
  {
  if(i==n)
  {
  book[i].turefalse=1;
  fwrite(&book[i],sizeof(struct book),1,fp2);          /*将还的书的原来状态设为无人借阅的*/                     
  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);
  fclose(fp2);
  fopen("bookl.txt","w");              /*清临时文件*/
  fclose(fp2);
  printf("还书完毕,按任意键返回");
  getch();
  return;
  }
  }
  printf("你没有借这样的书,不要耍我,任意键返回");    /*出错提示*/
  fclose(fp);
  getch();
  return;
  }
  }
  printf("系统没这样的卡,和治理员联系,按任意键返回");   /*出错提示*/
  fclose(fp);
  getch();
  }
  lendcount()             /*其他的自己看就懂了,不行也可以QQ联系:258032791,c++版本要的话跟我说,愿意交爱好编程的交友,毕业没时间了,找工作忙,有些模块没写,发现什么问题自己改,*/
  {
  FILE *fp;
  int i,n=0;
  fp=fopen("record.txt","r");
  for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++)
  {
  printf("卡号:%d 借出的书籍:%s ",student[i].carnum,student[i].lendbook);
  n=n+1;
  }
  fclose(fp);
  printf("目前共有%d本书借出",n);
  printf("按任意键");
  getch();
  }
  chabook()
  {
  char ch5;
  do
  {
  printf("---------------欢迎进入图书查询系统!--------------");
  printf("               1:按书名查找");
  printf("               2:按作者查找");
  printf("               0:返回");
  printf("请输入0--2,其他输入非法!");
  scanf("%s",&ch5);
  switch(ch5)
  {
  case '1':findbook();getch();break;
  case '2':printf("按作者查找,有时间再写");getch();break;
  case '0':break;
  default:printf("无此操作");getch();break;
  }
  }while(ch5!='0');
  }
  lendbook()
  {
  FILE *fp,*fp2;
  int i,n;
  int carnum;
  printf("请你输入你的卡号");
  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("请输入你要借阅的书的名字");
  scanf("%s",student[n].lendbook);
  fp=fopen("book.txt","r");
  for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++)
  {
  if(strcmp(book[i].bookname,student[n].lendbook)==0)
  {
  if(book[i].turefalse==0) {printf("对不起,此书有人借出,请借其他书");fclose(fp);getch();return;}
  else
  fclose(fp);
  fp=fopen("record.txt","a+");
  student[n].carnum=carnum;
  fwrite(&student[n],sizeof(struct student),1,fp);
  fclose(fp);
  fp=fopen("book.txt","r");
  fp2=fopen("bookl.txt","w");
  for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++)
  {
  if(strcmp(book[i].bookname,student[n].lendbook)==0)
  {
  book[i].turefalse=0;
  fwrite(&book[i],sizeof(struct book),1,fp2);
  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);
  fclose(fp2);
  fopen("bookl.txt","w");
  fclose(fp2);
  printf("借书完毕,按任意键返回");
  getch();
  return;
  }
  }
  printf("不存在这样的书,任意键返回");
  fclose(fp);
  getch();
  return;
  }
  }
  printf("你的卡号不存在,请申请新卡,按任意键返回");
  fclose(fp);
  getch();
  }
  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张卡卡号:%d 姓名:%s 班级:%d",i+1,car[i].carnum,car[i].studentname,car[i].studentclass);
  n=n+1;
  }
  fclose(fp
  

来源:https://www.tulaoshi.com/n/20160219/1610762.html

延伸阅读
标签: PHP
  //主程序download.php源代码如下: <?session_start();? <html <head <meta http-equiv="Content-Language" content="zh-cn" <meta http-equiv="Content-Type" content="text/html; charset=gb2312" <meta name="GENERATOR" content="Microsoft FrontPa...
标签: PHP
  //后台程序sign.php源代码如下: <?require("../opendata.php");? <? if($action=="sign") { if($say==""||$title==""||$url==""||$size=="") { header("location:../message.php?message=资料不完整&redirect=download/download.php?page=0%26actio...
标签: Web开发
本管理程序的主要功能有:1、图书列表展示功能;2、图书放置购物车、移去购物车和清空购物车功能;3、购书结帐功能;4、新会员注册功能。 Iindex.asp 首页。框架结构。上框架连接Top.htm页面,下框架连接Booklist页面。 htmlheadmeta http-equiv="Content-Type" content="text/html; charset=gb2312"title网上图...
标签: 饥荒
《饥荒》图书管理员魔法书图文详解 随着《饥荒》这款游戏版本的不断更新,游戏内容也越来越丰富,在新版本中有不少新的游戏角色,其中图书管理员便是其中之一,她可以制造各种魔法书,下面是图老师图老师小编带来的《饥荒》图书管理员魔法书图文详解,一起来看看吧。 魔法书籍制作方法 这本书是鸟类世界,可以使用3次,召唤20到30的小鸟,但...
标签: 电脑入门
据消息称,微软Windows 8.1将恢复开始按钮,但是一些网友别高兴的太早,因为单击了按钮,只是会引导用户跳转到Metro风格的开始屏幕界面。因此,开始按钮或许能在Win8.1版本里恢复,但以往的Windows开始菜单也许将会一去不复返。 图老师小编在之前文章强调过,开始菜单在Win8里面,已经完全让Metro开始界面代替。以往Windows开始菜单,到了Win...

经验教程

43

收藏

56
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部