当前位置: 代码迷 >> C语言 >> 跪求关于图书管理的程序,急急急,好心人帮帮忙!!!!
  详细解决方案

跪求关于图书管理的程序,急急急,好心人帮帮忙!!!!

热度:311   发布时间:2008-06-04 12:29:35.0
跪求关于图书管理的程序,急急急,好心人帮帮忙!!!!
采用文件的形式完成对图书信息和学生信息的存取和读写,用结构体定义多种变量,1.输入:用整形输入学生学号图书学号,字符串形输入学生姓名图书书名。2.输出:输出信息报春在文件里,读取文件时,将信息打印在屏幕上。3:功能:a,登记;b,注销;c,借阅(如果一种书的现存量大于零,则借出一本,登记借阅者的图书证号和归还期限);d,归还(注销对借阅者的登记,改变该书的现存量)。
4:测试数据:
1、输入图书书号和书名 1001 datastruct
2、输入学生学号和姓名 101 zhang
3、添加图书书名书名作者 1002 pb wang
4、输入书号删除一本书1002
5、输入书号,学号借一本书1001 102
6、输入书号,学号还一本书
我知道这个很费时费力,先说声对不起了!!期待您的回答!!!我会把积分全部送出的!!!
搜索更多相关的解决方案: 图书  学号  整形  报春  

----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-05 14:04:45
flz1222333

等 级:新手上路
帖 子:5
专家分:0
注 册:2007-9-24
  得分:0 
太费了
----------------解决方案--------------------------------------------------------
图书管理 以前貌似写过.....不全 你改下



#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int n=0;
struct BOOK              //上面是结构体的定义,用于存放书籍及借书的信息。

{
int xuhao,usr[10],shuliang,store,days[10];
char name[25],zuozhe[21];
}books[100];



int chaxun()
{
int e,i;
printf("请输入图书序号:");
scanf("%d",&e);
for(i=0;i<n;i++)
  {
  if(books[i].xuhao==e)
   {
   printf("书名:%s\n",books[i].name);
   printf("作者:%s\n",books[i].zuozhe);
   printf("存数:%d \n ",books[i].store);
   printf("%d\n",books[i].shuliang);
   return i;
   }
  }
printf("\n输入错误或无效图书序号.\n");
return -1;
}
/*上面的函数是在数组中找到图书号匹配的记录,显示其信息并返
  回数组下标,如果找不到相应记录则提示错误并返回-1。*/
/*
void bookout()
{
int s,i,d,b;
printf("借阅图书");
printf("请输入书的序号");
scanf("%d",&b);
if(((b==chaxun())!=-1)&&books[n].store>0)
  {

  printf("请输入可借天数:");
  scanf("%d",&d);
  for(i=0;i<10;i++)
   {
   if(books[n].usr[i]==0)
    {
    books[n].usr[i]=s;
    books[n].days[i]=d;
    break;
    }
   }
  books[n].store--;
  }
if(n!=-1&&books[n].store==0)
     printf("*********此书已经全部借出或者注销.***********\n\n");

}

void bookin()              //ci gongneng bu  quan
{
int n,s,i;
printf("归还图书");


     if((n=chaxun())!=-1&&books[n].store<books[n].shuliang)

  {
  printf("借阅者图书证列表:\n");
  for(i=0;i<10;i++)
   if (books[n].usr[i]!=0)
    printf("[%d] - %d天\n",books[n].usr[i],books[n].days[i]);
  printf("请输入借书证序号:");
  scanf("%d",&s);
  for(i=0;i<10;i++)
   {
   if(books[n].usr[i]==s)
    {
    books[n].usr[i]=0;
    books[n].days[i]=0;
    break;   
    }
   }
  books[n].store++;
  }
if((n!=-1)&&(books[n].store==books[n].shuliang))
  printf("全部入藏.\n");
printf("***************************************************\n");

}
/*
void bookin()
{
printf("*************该功能没开放*************\n");
}*/
/*void bookadd()
{

printf("**************注册新书***************\n");

printf("序号:");
scanf("%d",&books[n].xuhao);
printf("书名:");
scanf("%s",&books[n].name);
fflush (stdin);
printf("作者:");
scanf("%s",&books[n].zuozhe);

printf("数量:");
scanf("%d",&books[n].shuliang);
n++;
printf("***************注册完成*****************\n\n");
}
void bookdel()
{
int c,j,i;
printf("注销旧书\n");
printf("输入要注销书序列号\n");
scanf("%d",&c);
for(j=0;j<n;j++)
if(c==books[j].xuhao)
{     for(i=c;i<n;i++)
         books[i].xuhao=books[i+1].xuhao;

      printf("**************该书已注销.***************\n");

}
else printf("***************没你输入的序列号不存在************\n");
}
int main()
{
    int a;
printf("************************** 图 书 管 理 系 统 ********************************\n\n");
do{
printf("请用数字键选择操作\n\n");
printf("1 借阅图书\t2 归还图书\t");
printf("3 注册新书\t4 注销旧书\t");
printf("0 退出\n\n");
scanf("%d",&a);
switch(a)
  {
  case 0 :break;
  case 1 : bookout(); break;
  case 2 : bookin(); break;
  case 3 : bookadd(); break;
  case 4 : bookdel(); break;
  
  }
}while(a);
return 0;
}
----------------解决方案--------------------------------------------------------
回复 4# yd4433 的帖子
谢谢你的程序,可是有点小问题我还是不会,输出来乱码了呢~~
----------------解决方案--------------------------------------------------------
除非楼上在用TC



[color=white]
----------------解决方案--------------------------------------------------------
  相关解决方案