用C语言编一个简单的图书管理系统(包括借阅查询还书三部分)(学生作业用)

(1)该系统包括三部分:借阅查询还书(2)要记录借书人借了多少本书(3)要判断该书是否已被借出,假定每本书只有一本(4)不要太复杂,只是学生作业而已

第1个回答  2013-09-16
#include<stdio.h>
#include<string.h>
struct sale/*商品名的定义*/
{int number;<br>char name[20];<br>float price;<br>long count;<br>long time;<br>long date;};

/*各个函数*/
void input(struct sale s[7]);/*输入函数*/
void output(struct sale s[7]);/*输出函数*/
void seek(struct sale s[7]);/*查找函数*/
void row(struct sale s[7]);/*排序函数*/
void change(struct sale s[7]);/*删除、修改、或插入*/

void main()/*主函数执行区域*/
{struct sale s[7]={{2,"pen",0.5,200,20050604,20090102},{1,"milk",3.5,100,20050403,20090202},
{5,"coke",3.5,500,20060203,20070503},{6,"chewing",0.3,200,20060305,20080205},
{4,"eraser",0.4,20,20060304,20500607},{3,"pencil",0.9,100,20040607,20060709}};/*定义初始值*/;
/*input(s);【已付初始值暂不运行!!】*/
output(s);
seek(s);
row(s);
change(s);
}

/*void input(struct sale s[7])【注释:已付初始值,暂不运行!!】
{int i;<br>printf("请分别输入产品编号、名称、单价、库存数量、入库时间、有效日期:\n");<br> for(i=0;i<7;i++)<br> scanf("%d%s%f%ld%ld%ld",&s.number,&s.name,&s.price,&s.count,&s.time,&s.date);}*/

void output(struct sale s[7])/*定义输出*/
{int i;<br>printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");<br> for(i=0;i<7;i++)<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date);}

void seek(struct sale s[7])/*定义查找*/
{int i;<br> int m;<br> int k;<br> k=1;<br> printf("请输入要查找的编号\n");<br> printf("m== ");<br> scanf("%d",&m);<br> for(i=0;i<7;i++)<br> {<br> if(m==s.number)<br> {printf("你想查找的物品是:\n");<br> printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date);<br> k=m;}
}
if(k==1)
printf("没有此类商品!!!\n");
}

void row(struct sale s[7])/*排序*/
{
struct sale t;
int i,j;
int m,a;
printf("\n");
printf("输出已排好序的商品\n");
for(j=0;j<6;j++)
for(i=0;i<6-j;i++)

if(s.number>s.number)
{
t=s;
s=s;
s=t;
}
printf("重新排序后是; \n");
printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");
for(a=0;a<7;a++)
printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s[a].number,s[a].name,s[a].price,s[a].count,s[a].time,s[a].date);

}

void change(struct sale s[7])/*删除、修改、或插入*/
{
struct sale c;
int i,m,q,n,k;
k=0;
printf("请输入您要删除、修改或要插入的物品编号\n");/*前奏*/
scanf("%d",&m);
for(i=0;i<7;i++)
if(m==s.number)
{{printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date);}
printf("你确实要删除它么???还是要修改??\n");
printf("如果想删除请输入1,如果要修改请输入2。\n");
printf("您要输入的是: ");
scanf("%d",&q);
if(q==1)/*执行删除命令*/
{printf("您删除后的结果是:\n");<br> for(i=0;i<7;i++)<br> if(m!=s.number)<br> {printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date);}}
if(q==2)/*执行修改命令*/
{printf("输入你想修改的库存数量: ");<br> scanf("%d",&n);<br> s[m].count=n;<br> printf("修改后的商品信息为:\n");<br> printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");<br> for(i=0;i<7;i++)<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date);}
k=i;
}

if(k==0)/*执行插入命令*/
{printf("\n\n");<br> printf("由于插入语句没有要求,所以插入语句尚未完成,有些功能尚未完善,所以会有错误,请老师见谅。\n\n\n");<br> printf("此类商品不存在,请插入\n");<br> printf("请分别输入要插入产品的编号、名称、单价、库存数量、入库时间、有效日期:\n");<br> i=m-1; <br> scanf("%d%s%f%ld%ld%ld",&s.number,&s.name,&s.price,&s.count,&s.time,&s.date);<br> printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date);<br> for(i=0;i<7;i++)<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date);<br> <br> <br> row(s);<br> <br> <br> }}
这是我大一时候做的大作业,虽然不是图书管理系统,你只要改改就行了,原理都一样,呵呵
相似回答