| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1032 人关注过本帖
标题:图书管理系统,大家帮忙指教。
只看楼主 加入收藏
ljtqfq
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2004-11-11
收藏
 问题点数:0 回复次数:1 
图书管理系统,大家帮忙指教。

#define M 100 #include "stdio.h" #include "string.h" typedef struct book {char bookname[20]; char indexnum[10]; char writer[15]; char publish[20]; char pressdate[10]; int flag; }booktype;

void print(booktype b[],int n) {int i; printf("\n图书名 编 号 作 者 出版社 出版日期 是否借出.\n"); for(i=0;i<n;i++) printf("%-10s %-10s %-15s%-15s%-10s %-3d\n",b[i].bookname,b[i].indexnum,b[i].writer, b[i].publish,b[i].pressdate,b[i].flag); }

void initenter(booktype a[],int *n) {int i; printf("输入记录的数量:"); scanf("%d",n); printf("\n请输入记录的信息."); printf("请输入包括以下的信息\n(图书名 编 号 作 者 出版社 出版日期 是否借出)\n"); for(i=0;i<*n;i++) { printf("\n请输入第 %dst 记录的信息:\n",i+1); scanf("%s%s%s%s%s%d",a[i].bookname,a[i].indexnum,a[i].writer, a[i].publish,a[i].pressdate,&a[i].flag); }

}

void sort(booktype b[],int n) {int i,j; booktype temp; printf("\nt请从低到高编号."); for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strcmp(b[i].indexnum,b[j].indexnum)>0) {temp=b[i];b[i]=b[j];b[j]=temp;} print(b,n); }

void sort1(booktype b[],int n) {int i,j; booktype temp; printf("\n从作者的姓名."); for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strcmp(b[i].writer,b[j].writer)>0) {temp=b[i];b[i]=b[j];b[j]=temp;} print(b,n); }

int insert(booktype b[],int n) {int i; booktype new; printf("\n请输入新书的资料."); printf("\n图书名 编 号 作 者 出版社 出版日期 是否借出.\n"); scanf("%s%s%s%s%s%d",new.bookname,new.indexnum,new.writer, new.publish,new.pressdate,&new.flag); b[n]=new; n++; sort(b,n); return(n); }

int delete(booktype b[],int n) {int i,d; char c,str[10]; printf("\ndecaration: 从编号删除操作."); sort(b,n); printf("\n请输入删除书的编号:"); scanf("%s",str); for(i=0;i<n;i++) {if(strcmp(b[i].indexnum,str)==0) { d=i; printf("\n%-10s %-10s %-15s%-15s%-10s %-3d\n",b[d].bookname,b[d].indexnum,b[d].writer, b[d].publish,b[d].pressdate,b[d].flag); printf("\n确定删除这个记录,Yes/No?"); printf("\n选择 ''y''----->您确定删除."); printf("\n选择任何键------>您退出删除."); printf("\n请选择------> Y or N:"); c=getche(); if(c==''y'') {for(i=d;i<n;i++) b[i]=b[i+1]; n--;} else {printf("\n您已经退出删除."); print(b,n); return(n);} } } {printf("\n没有这本书!\n");return(n);} }

void search1(booktype b[],int n) {int i; char numstr[20]; printf("\n从作者姓名排序:\n"); sort1(b,n); printf("\n请输入作者的姓名:"); scanf("%s",numstr); for(i=0;i<n;i++) if(strcmp(numstr,b[i].writer)==0) printf("\n%-10s %-10s %-15s%-15s%-10s %-3d\n",b[i].bookname,b[i].indexnum,b[i].writer, b[i].publish,b[i].pressdate,b[i].flag); }

void search2(booktype b[],int n) {int i; char numstr[20]; printf("\n从出版社的名称进行排序:\n"); sort1(b,n); printf("\n请输入出版社的名称:"); scanf("%s",numstr); for(i=0;i<n;i++) if(strcmp(numstr,b[i].publish)==0) printf("\n%-10s %-10s %-15s%-15s%-10s %-3d\n",b[i].bookname,b[i].indexnum,b[i].writer, b[i].publish,b[i].pressdate,b[i].flag); }

void search3(booktype b[],int n) {int i; char numstr[20]; printf("\n从编号进行排序:\n"); sort1(b,n); printf("\n请输入书的编号:"); scanf("%s",numstr); for(i=0;i<n;i++) if(strcmp(numstr,b[i].indexnum)==0) printf("\n%-10s %-10s %-15s%-15s%-10s %-3d\n",b[i].bookname,b[i].indexnum,b[i].writer, b[i].publish,b[i].pressdate,b[i].flag); }

void search(booktype b[],int n) {char c; printf("\n选择 ''a''------>从作者的姓名进行查找."); printf("\n选择 ''p''------>从出版社的名称进行查找."); printf("\n选择 ''i''------>从编号进行查找."); printf("\n选择任何键---->返回."); printf("\n请选择服务的项目:"); c=getche(); switch(c) {case ''a'':search1(b,n);break; case ''p'':search2(b,n);break; case ''i'':search3(b,n);break; default:return; } }

void modify(booktype b[],int n) {int i,d; char c; char numstr[10]; booktype vary; sort(b,n); printf("\n请输入被修改的编号:"); scanf("%s",numstr); for(i=0;i<n;i++) if(strcmp(numstr,b[i].indexnum)==0) { d=i; printf("\n%-10s %-10s %-15s%-15s%-10s %-3d\n",b[d].bookname,b[d].indexnum,b[d].writer, b[d].publish,b[d].pressdate,b[d].flag); printf("\n请确定修改的记录,Yes/No"); printf("\n选择 ''y''-------->您确定修改."); printf("\n选择任何键 ------->您退出修改."); printf("\n请选择 Y or N:"); c=getche(); if(c==''y'') { printf("\n请输入新书名 编号 作者 出版社 出版日期 是否借出\n"); scanf("%s%s%s%s%s%d",vary.bookname,vary.indexnum,vary.writer, vary.publish,vary.pressdate,&vary.flag); b[d]=vary; } sort(b,n); } else {printf("\nwe haven''t this book!\n");return;} }

void borrow(booktype b[],int n) {int i; char numstr[10]; sort(b,n); printf("\n请输入您想借的书的编号:"); scanf("%s",numstr); for(i=0;i<n;i++) {if(strcmp(numstr,b[i].indexnum)==0) {if(b[i].flag==1) {printf("\n您可以借此书."); b[i].flag=NULL; print(b,n); return; } else {printf("\n此书已经借出.\n请挑选其它的书."); print(b,n); return;} } } print(b,n); printf("\n不好意思!!!我们没有此书.\n"); }

void takeback(booktype b[],int n) {int i; char numstr[10]; printf("\n请输入还书的编号:"); scanf("%s",numstr); for(i=0;i<n;i++) {if(strcmp(numstr,b[i].indexnum)==0) {if(b[i].flag==NULL) {printf("\n您已经还了此书.\n请选择任何键继续"); getch(); b[i].flag=1; print(b,n); return; } else {print(b,n); printf("\n此书还在馆中!!!\n请检查您要书的编号."); return; } } } print(b,n); printf("\不好意思!!我们没有此书.\n"); }

void select(booktype b[],int n) {char c; printf("\n 欢迎进入图书管理系统."); printf(" 操作的目录:\n"); printf(" ******************* \n"); printf(" 选择 ''a''------->添加图书. \n"); printf(" ************************************ \n"); printf(" 选择 ''d''------->删除图书. \n"); printf(" *********************** \n"); printf(" 选择 ''m''------->修改资料. \n"); printf(" ************************************* \n"); printf(" 选择 ''s''------->查找资料. \n"); printf(" ****************************** \n"); printf(" 选择 ''b''-------> 借图书 . \n"); printf(" ************************************* \n"); printf(" 选择 ''r''-------> 还图书 . \n"); printf(" ******************************* \n"); printf(" 选择任何键----->退出. \n"); printf(" ************************************* \n"); printf("请选择服务的项目:"); c=getche(); switch(c) {case ''a'':n=insert(b,n);select(b,n);break; case ''d'':n=delete(b,n);select(b,n);break; case ''m'':modify(b,n);select(b,n);break; case ''s'':search(b,n);select(b,n);break; case ''b'':borrow(b,n);select(b,n);break; case ''r'':takeback(b,n);select(b,n);break; default:exit(0); } }

main() { int n; booktype a[M]; clrscr(); initenter(a,&n); sort(a,n); select(a,n); }

搜索更多相关主题的帖子: 图书管理系统 指教 
2004-11-24 14:34
yushui
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:1355
专家分:22
注 册:2006-7-19
收藏
得分:0 
什么程序啊 错的地方好怪啊

fighting!from now on!
2006-07-19 11:51
快速回复:图书管理系统,大家帮忙指教。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029445 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved