#include
#include
struct sale/*商品名的定义*/
{int number;
char name[20];
float price;
long count;
long time;
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;
printf("请分别输入产品编号、名称、单价、库存数量、入库时间、有效日期:\n");
for(i=0;i<7;i++)
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;
printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");
for(i=0;i<7;i++)
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;
int m;
int k;
k=1;
printf("请输入要查找的编号\n");
printf("m== ");
scanf("%d",&m);
for(i=0;i<7;i++)
{
if(m==s.number)
{printf("你想查找的物品是:\n");
printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");
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=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");
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");
for(i=0;i<7;i++)
if(m!=s.number)
{printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");
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("输入你想修改的库存数量: ");
scanf("%d",&n);
s[m].count=n;
printf("修改后的商品信息为:\n");
printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");
for(i=0;i<7;i++)
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");
printf("由于插入语句没有要求,所以插入语句尚未完成,有些功能尚未完善,所以会有错误,请老师见谅。\n\n\n");
printf("此类商品不存在,请插入\n");
printf("请分别输入要插入产品的编号、名称、单价、库存数量、入库时间、有效日期:\n");
i=m-1;
scanf("%d%s%f%ld%ld%ld",&s.number,&s.name,&s.price,&s.count,&s.time,&s.date);
printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n");
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);
for(i=0;i<7;i++)
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);
row(s);
}}
这是我大一时候做的大作业,虽然不是图书管理系统,你只要改改就行了,原理都一样,呵呵
一般资料库相关题目,从新增删除修改查询四个功能思考较大概80分了。刚好四个人可以分模块来写,记得多考虑面向对象的三个特性,老师会给你高分的!