300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > C语言课程设计:图书信息管理系统

C语言课程设计:图书信息管理系统

时间:2022-07-04 12:14:06

相关推荐

C语言课程设计:图书信息管理系统

设计一个图书信息管理系统,功能需求如下:

录入图书信息 2.添加图书信息 3.查询图书信息

4.修改图书信息 5.删除图书信息 6.按出版社排序

7.浏览所有图书信息 8.退出系统

话不多说,代码如下:

#include<stdio.h>#include<stdlib.h>#include<string.h>int count=0;//全局变量,定义书籍数typedef struct book{//结构体long bianhao;char bookname[20];char writer[20];char press[20];char time[20];int money;}boo;void gongnengqu(){//菜单目录printf("欢迎使用图书管理系统\n请按提示选择以下功能\n");printf("**********************************\n\n");printf(" 录入图书信息按1\n");printf(" 添加图书信息按2\n");printf(" 查询图书信息按3\n");printf(" 修改图书信息按4\n");printf(" 删除图书信息按5\n");printf(" 按出版社排序图书信息按6\n");printf(" 浏览所有图书信息按7\n");printf(" 退出按0\n\n");printf("*********************************\n\n");}void wenjian1(boo books[]){//存储文件的,正常排序FILE *fp;fp=fopen("D:Demo/tushu.txt","w");fprintf(fp,"图书编号 书名 作者 出版社 出版时间 价格\n");for(int i=0;i<count;i++){if(books[i].bookname==NULL)break;fprintf(fp,"%ld ",books[i].bianhao);fprintf(fp,"%s ",books[i].bookname);fprintf(fp,"%s ",books[i].writer);fprintf(fp,"%s ",books[i].press);fprintf(fp,"%s ",books[i].time);fprintf(fp,"%d ",books[i].money);fprintf(fp,"\n");}fclose(fp);}void wenjian2(boo books[]){//存储文件的,按出版社排序FILE *fp;fp=fopen("D:Demo/tushu1.txt","w");fprintf(fp,"图书编号 书名 作者 出版社 出版时间 价格\n");for(int i=0;i<count;i++){if(books[i].bookname==NULL)break;fprintf(fp,"%ld ",books[i].bianhao);fprintf(fp,"%s ",books[i].bookname);fprintf(fp,"%s ",books[i].writer);fprintf(fp,"%s ",books[i].press);fprintf(fp,"%s ",books[i].time);fprintf(fp,"%d ",books[i].money);fprintf(fp,"\n");}fclose(fp);}void paixu1(boo books[]);void luru(boo books[]){//对自己要输入的书籍进行录入,录入只能进行一次,再次进行会进行覆盖for(int i=0;;i++){if(i>0){printf("如果要停止录入请打0,继续输入请打1:");int q;scanf("%d",&q);if(q==0) break;}printf("请输入其图书编号:");scanf("%ld",&books[i].bianhao);printf("请输入书名:");scanf("%s",&books[i].bookname);printf("请输入作者名:");scanf("%s",&books[i].writer);printf("请输入其出版社:");scanf("%s",&books[i].press);printf("请输入其出版时间:");scanf("%s",&books[i].time);printf("请输入其价格:");scanf("%d",&books[i].money);count++;system("cls");//清屏}paixu1(books);wenjian1(books);}void paixu1(boo books[]) {char a[20];int t;long x;if(count>1){for(int i=0;i<count-1;i++){for(int j=i+1;j<count;j++)if(books[i].bianhao>books[j].bianhao){t=books[i].money;books[i].money=books[j].money;books[j].money=t;x=books[i].bianhao;books[i].bianhao=books[j].bianhao;books[j].bianhao=x;strcpy(a,books[i].bookname);strcpy(books[i].bookname,books[j].bookname);strcpy(books[j].bookname,a);strcpy(a,books[i].writer);strcpy(books[i].writer,books[j].writer);strcpy(books[j].writer,a);strcpy(a,books[i].press);strcpy(books[i].press,books[j].press);strcpy(books[j].press,a);strcpy(a,books[i].time);strcpy(books[i].time,books[j].time);strcpy(books[j].time,a);}}}}void tianjia(boo books[]){//添加 ,对书籍进行添加printf("请输入其图书编号:");scanf("%ld",&books[count].bianhao);printf("请输入书名:");scanf("%s",&books[count].bookname);printf("请输入作者名:");scanf("%s",&books[count].writer);printf("请输入其出版社:");scanf("%s",&books[count].press);printf("请输入其出版时间:");scanf("%s",&books[count].time);printf("请输入其价格:");scanf("%d",&books[count].money);printf("添加成功\n");system("pause");paixu1(books);FILE *fp;fp=fopen("D:Demo/tushu.txt","a");fprintf(fp,"%ld ",books[count].bianhao);fprintf(fp,"%s ",books[count].bookname);fprintf(fp,"%s ",books[count].writer);fprintf(fp,"%s ",books[count].press);fprintf(fp,"%s ",books[count].time);fprintf(fp,"%d ",books[count].money);fprintf(fp,"\n");fclose(fp);count++;}void chaxun(boo books[]){//对于你所要的书籍进行查询printf("请输入你要查询的书名:");char abc[20];int flag=0;scanf("%s",&abc);for(int i=0;i<101;i++){char a;if(books[i].money==NULL)break;if(strcmp(books[i].bookname,abc)==0)//比较字符串{flag=1;printf("图书编号为:%ld\n",books[i].bianhao);printf("书名为:%s\n",books[i].bookname);printf("作者名为:%s\n",books[i].writer);printf("出版社为:%s\n",books[i].press);printf("出版时间为:%s\n",books[i].time);printf("价格为:%d\n",books[i].money);system("pause");break;}}if(flag==0)printf("【书籍为找到或不存在】\n");system("pause");}void xiugai(boo books[]){//对于你需要的书籍进行修改printf("请输入你要查询的书名:");char abc[20];scanf("%s",&abc);for(int i=0;i<101;i++){char a;if(books[i].money==NULL)break;if(strcmp(books[i].bookname,abc)==0){printf("原图书编号为:%ld\n",books[i].bianhao);printf("原书名为%s\n",books[i].bookname);printf("请输入新书名:\n");scanf("%s",&books[i].bookname);printf("原作者名为:%s\n",books[i].writer);printf("请输入新作者:\n");scanf("%s",&books[i].writer);printf("原出版社为:%s\n",books[i].press);printf("请输入新出版社:\n");scanf("%s",&books[i].press);printf("原出版时间为:%s\n",books[i].time);printf("请输入新出版时间\n");scanf("%s",&books[i].time);printf("原价格为:%d\n",books[i].money);printf("请输入新价格:\n");scanf("%d",&books[i].money);system("pause");break;}}wenjian1(books); }void shanchu(boo books[]){//删除书籍printf("请输入你要删除的书号:\n");int x,i,flag=1;scanf("%ld",&x);for(;i<count;i++){if(x==books[i].bianhao&i<count-1){printf("【%s】书籍已删除\n",books[i].bookname);for(int z=i;z<count;z++){books[z].bianhao=books[z+1].bianhao;strcpy(books[z].bookname,books[z+1].bookname);strcpy(books[z].writer,books[z+1].writer);strcpy(books[z].press,books[z+1].press);strcpy(books[z].time,books[z+1].time);books[z].money=books[z+1].money;count--;} flag=0;system("pause");break;}else if(x==books[i].bianhao&i==count-1){printf("【%s】书籍已删除\n",books[i].bookname);flag=0; count--; system("pause");break;}}if(flag==1){printf("书籍未找到\n");system("pause");}paixu1(books);wenjian1(books);}void paixu(boo books[]){//对出版社进行排序char a[20];int t;long x;for(int i=0;i<count-1;i++){for(int j=i+1;j<count;j++){if((strcmp(books[i].press,books[j].press))>0){t=books[i].money;books[i].money=books[j].money;books[j].money=t;x=books[i].bianhao;books[i].bianhao=books[j].bianhao;books[j].bianhao=x;strcpy(a,books[i].bookname);strcpy(books[i].bookname,books[j].bookname);strcpy(books[j].bookname,a);strcpy(a,books[i].writer);strcpy(books[i].writer,books[j].writer);strcpy(books[j].writer,a);strcpy(a,books[i].press);strcpy(books[i].press,books[j].press);strcpy(books[j].press,a);strcpy(a,books[i].time);strcpy(books[i].time,books[j].time);strcpy(books[j].time,a);}}}printf("已排序完成\n");printf("图书编号 书名 作者 出版社 出版时间 价格\n");for(int i=0;i<count;i++){printf("%ld ",books[i].bianhao);printf("%s ",books[i].bookname);printf("%s ",books[i].writer);printf("%s ",books[i].press);printf("%s ",books[i].time);printf("%d \n",books[i].money);}system("pause");wenjian2(books);paixu1(books);wenjian1(books);}void read(boo books[])//将你所有的书籍进行浏览{FILE *fp;int i;if ((fp = fopen("D:Demo/tushu.txt","r")) == NULL){printf("Failure to open 1.txt!\n");exit(0);}char b[1000];fscanf(fp,"%[^n]",b);//输出所有文件的东西printf("%s",b); system("pause");fclose(fp);}int main(){boo books[100];for(;;){gongnengqu();int key=0;scanf("%d",&key);switch(key){case 1:printf("【录入】\n");luru(books);break;case 2:printf("【添加】\n");tianjia(books);break;case 3:printf("【查询】\n");chaxun(books);break;case 4:printf("【修改】\n");xiugai(books);break;case 5:printf("【删除】\n");shanchu(books);break;case 6:printf("【排序】\n");paixu(books);break;case 7:printf("【浏览】\n");read(books);break;case 0:printf("【退出】\n");printf("退出成功!感谢您的使用!\n");system("pause");//暂停,避免输出过快exit(0);break;default:printf("【error】\n");}system("cls");}return 0;}

使用dev可运行,vc6++可能存在错误!!!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。