C语言图书管理系统课程设计.docx
- 文档编号:8870363
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:13
- 大小:16.80KB
C语言图书管理系统课程设计.docx
《C语言图书管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《C语言图书管理系统课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
C语言图书管理系统课程设计
题目:
图书管理系统
要求:
能录入新图书;
能浏览图书信息;
能自主查询图书信息;
能修改图书信息;
能删除图书信息.
程序如下:
#include〈stdio.h>
#include h> #include〈string。 h〉 typedefstruct{ charnumber[10];//书号 charname[20];//书名 charauthor[20];//作者 charpublish[50];//出版社 chartime[20];//出版时间 floatprice; }mbook; typedefstruct{ intcount;//书的本数 mbookbook[100];//最大可有100本书 }mlibrary; mlibrarylibrary; voidsave()//保存图书信息。 { FILE*fp; if((fp=fopen(”library.doc","w”))==NULL) { printf(”\n不能保存图书信息\n"); return; } fwrite(&library.count,sizeof(int),1,fp); fwrite(library。 book,sizeof(library.book[0]),library。 count,fp); } voidputin()/*定义录入函数*/ { inty=1; system("cls”); while(y) { printf("\t请输入您的书籍的书号: "); scanf("%s",library。 book[library。 count]。 number); printf(”\t请输入书名: "); scanf("%s",library.book[library。 count]。 name); printf(”\t请输入作者名: "); scanf(”%s”,library.book[library。 count]。 author); printf(”\t请输入出版社: "); scanf(”%s",library。 book[library。 count].publish); printf("\t请输入出版时间: "); scanf(”%s”,library.book[library。 count].time); printf("\t请输入该书的价格: "); fflush(stdin); scanf(”%f”,&library。 book[library.count]。 price); library。 count++; printf("\n是否继续录入(1。 继续;0,退出录入): ”); fflush(stdin); scanf("%d",&y); if(y! =1) { y=0; break; } } save(); } voidlookup() { system("cls”); printf("图书号\t图书名\t作者名\t出版社\t出版日期\t图书价格\n”); for(inti=0;i count;i++) { printf(”%s\t%s\t%s\t%s\t%s\t%6.2f\n",library。 book[i].number,library.book[i]。 name,library。 book[i]。 author,library.book[i]。 publish,library.book[i]。 time,library。 book[i]。 price); } fflush(stdin); getchar(); } voidsearch_by_name()/*定义按书名查询*/ { chars2[20]; intflag=1; printf("\n请输入要查询的书名: "); fflush(stdin); scanf("%s”,s2); printf("图书号\t图书名\t作者名\t出版社\t出版日期\t图书价格\n”); for(inti=0;i count;i++) if(strcmp(s2,library。 book[i].name)==0) { flag=0; printf("%s\t%s\t%s\t%s\t%s\t%6.2f\n",library.book[i].number,library.book[i].name,library.book[i]。 author,library。 book[i].publish,library。 book[i]。 time,library.book[i]。 price); } if(flag) { printf("cannotfound! ”); } fflush(stdin); getchar(); } voidsearch_by_author()/*定义按作者名查询*/ { chars3[20]; intflag=1; printf("请输入要查询的书的作者: "); fflush(stdin); scanf("%s",s3); printf("图书号\t图书名\t作者名\t出版社\t出版日期\t图书价格\n”); for(inti=0;i if(strcmp(s3,library.book[i]。 author)==0) { flag=0; printf(”%s\t%s\t%s\t%s\t%s\t%6.2f\n",library.book[i]。 number,library.book[i].name,library。 book[i]。 author,library.book[i]。 publish,library。 book[i]。 time,library.book[i].price); } if(flag) { printf(”cannotfound! "); } fflush(stdin); getchar(); } voidsearch()/*定义查询函数*/ { inta; system("cls”);/*进行清屏*/ printf(”\t\t******************************\n”); printf(”开始查询\n”); printf(”\t\t\t1-—--——-—-—-----search_by_name\n”); printf(”\t\t\t2—-———---—-—————search_by_writer\n"); printf(”\t\t\t0—-—-——-—---——-—exit\n”); printf(”\t\t******************************\n”); printf("\t\t请选择你想要的查询方式: ”); fflush(stdin); scanf("%d",&a); switch(a) { case1: search_by_name(); break; case2: search_by_author(); break; case0: return; } } voiddel()/*定义删除函数*/ { charnumber[10]; system(”cls");/*清屏*/ printf(”\nPleasetypeinthenumberofthebookyouwanttodelete: "); fflush(stdin); scanf("%s",number); inti; for(i=0;i count;i++) { if(strcmp(number,library.book[i]。 number)==0)break; } if(i! =library.count) { for(;i count-1;i++) { strcpy(library。 book[i]。 name,library.book[i+1]。 name); strcpy(library。 book[i]。 number,library。 book[i+1]。 number); strcpy(library.book[i]。 publish,library.book[i+1].publish); strcpy(library.book[i].author,library.book[i+1].author); strcpy(library.book[i]。 time,library.book[i+1]。 time); library。 book[i].price=library。 book[i+1]。 price; } library.count—-; } else printf("\ncannotfound! \n”); save(); fflush(stdin); getchar(); } voidupdate()//修改图书信息 { charnumber[10]; system(”cls");/*清屏*/ printf(”\nPleasetypeinthenumberofthebookyouwanttodelete: "); fflush(stdin); scanf("%s",number); inti; for(i=0;i { if(strcmp(number,library.book[i]。 number)==0) { printf(”图书号\t图书名\t作者名\t出版社\t出版日期\t图书价格\n”); printf(”%s\t%s\t%s\t%s\t%s\t%6.2f\n",library.book[i]。 number,library。 book[i]。 name,library.book[i].author,library。 book[i]。 publish,library.book[i].time,library.book[i].price); break; } } if(i! =library.count) { mbookbook; printf(”\n\t\t请输入修改后此图书的信息\n”); printf("\t请输入图书号: ”); scanf("%s”,book。 number); printf("\t请输入图书名: "); scanf("%s”,book。 name); printf(”\t请输入作者名: "); scanf(”%s",book。 author); printf(”\t请输入出版社: ”); scanf("%s”,book.publish); printf(”\t请输入出版时间: "); scanf("%s”,book.time); printf(”\t请输入该书的价格: "); fflush(stdin); scanf("%f",&book.price); strcpy(library。 book[i].name,book。 name); strcpy(library.book[i]。 number,book.number); strcpy(library.book[i]。 publish,book。 publish); strcpy(library。 book[i].author,book.author); strcpy(library.book[i].time,book。 time); library.book[i].price=book.price; save(); } else printf(”\ncannotfound! \n"); fflush(stdin); getchar(); } voidmain() { FILE*fp; if((fp=fopen(”library.doc","r"))==NULL) { printf("\n不能打开图书信息库\n"); fp=fopen(”library.doc","w+”); printf(”\n初始化图书信息库,初始化之后要重启程序\n"); library。 count=0; fwrite(&library。 count,sizeof(int),1,fp); fclose(fp); return; } fread(&library。 count,sizeof(int),1,fp); fread(library.book,sizeof(library.book[0]),library.count,fp); fclose(fp); inta; do { system(”cls”); printf("\n\n\n\n\n\t\t\t\t图书信息管理系统\t\t\t\t\n"); printf("\t\t*********************************************\n"); printf(”\t\t\t1--—----————---—---图书信息录入\n”); printf(”\t\t\t2—----——-———-——-—-—图书信息浏览\n”); printf(”\t\t\t3-——--——-—--—-—----图书信息查询\n”); printf("\t\t\t4—-—--——-—-—----—-—图书信息删除\n"); printf("\t\t\t5—-—--——---———-----图书信息修改\n”); printf("\t\t\t0——---———-—--————-退出图书信息系统\n"); printf("\t\t*********************************************\n"); printf("\t\tPleaseEnterChoose: "); fflush(stdin); scanf("%d”,&a); switch(a) { case1: putin(); break; case2: lookup(); break; case3: search(); break; case4: del(); break; case5: update(); break; case0: printf("\n\n退出\n\n"); break; default: printf("\n序号不对\n”); } }while(a! =0); save(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 图书 管理 系统 课程设计