太费了
----------------解决方案--------------------------------------------------------
图书管理 以前貌似写过.....不全 你改下
#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;
}
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
除非楼上在用TC
[color=white]
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
图书管理 以前貌似写过.....不全 你改下
#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]
----------------解决方案--------------------------------------------------------