200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 用c语言实现图书信息管理系统

用c语言实现图书信息管理系统

时间:2019-07-06 08:10:12

相关推荐

用c语言实现图书信息管理系统

图书信息管理系统

本文主要是用C语言有关内容实现图书信息管理系统,主要使用了文件、函数、指针、清屏等有关内容。图书信息则包括书名,ISBN码,出版社,价格,出版年月,图书数量,所属学科以及主编等。围绕以上内容设计了此系统,主要提供以下内容:

(1)用户注册账号,登陆系统。

(2) 添加图书信息。

(3)遍历图书。

(4)按ISBN号或书名查询图书。

(5)按ISBN号或所属学科查询图书。

(6)求全部图书的价值。

#include <stdio.h>#include <stdlib.h>#include<windows.h> #include <string.h>//定义字符数组#include<conio.h>#define N 20 //宏定义//图书信息struct book{char num[N]; //ISBN号 char name[N]; //书名 char xue[N]; //所属学科 char zhubian[N];//主编 double price; //价格 char she[N]; //出版社 char yue[N]; //出版年月 int n;//数量 struct book *p; //结构指针};struct book su; //结构体变量void cal (int sel); //功能 void tsmenu();//添加图书信息void jmenu(); //遍历void lmenu(); //按ISBN号查询 void main1(); //按书名查询 void tsmain();//按ISBN号(学科)删除图书 void zjts(); //求全部图书的价值 void jmain(); //用户登录void xinjian();//用户注册 void zxc(); //主目录 int condition=0; //登录状态int main(){int n;while(condition==0){printf("*******欢迎登录图书信息管理系统*******\n");printf("******** 1.注册 2.登录 ********\n");//登陆界面printf("********请输入序号: ********\n");scanf("%d",&n);if(n==1)xinjian();else if(n==2)jmain();else{system("cls");printf("******* 输入错误,请重新输入 ********\n");}}return 0;}//主目录void zxc(){system("cls");int sel;printf("********欢迎登录图书信息管理系统********");printf("\n******1.添加图书信息*****\n");printf("\n******2.遍历 ******\n");printf("\n ****** 3.按ISBN号查询******\n");printf("\n ******4.按书名查询****** \n");//系统主界面printf("\n****5.按ISBN号(所属学科)删除图书****\n");printf("\n ****** 6.求全部图书的价值 ******\n");printf("\n ****** 7.退出 ******\n");printf("\n****** 请选择: ******\n"); scanf("%d",&sel);if(sel<1||sel>8){printf("*** 你输入的序号有误,请重新输入 ***\n") ; zxc();}else cal(sel);}void cal(int sel){switch(sel){case 1:tsmenu();break;case 2:jmenu();break;case 3:lmenu();break;case 4:main1();break;case 5:tsmain();break;case 6:zjts();break;case 7:condition=0;break;}}//用户注册 void xinjian(){FILE *fp;//文件指针char zhanghao[N];char password[N],password1[N];if ((fp=fopen("C:\\Users\\某某\\Desktop\\实践作业\\账号密码.txt","a"))==NULL){printf("file open error!\n");exit(0);}for(;;){printf("\n*请输入账号(九位数)密码(六位数)(注册)*\n");printf("******请输入: ******\n");scanf("%s %s",zhanghao,password);system("pause");system("cls");printf("****** 再次输入密码: ******\n");scanf("%s",password1);if(strcmp(password,password1)==0){system("cls");printf("****** 创建成功 ******\n");fprintf(fp,"%s %s\n",zhanghao,password);fclose(fp);jmain();}else{system("pause");system("cls");printf("****两次输入密码不一致,请重新输入****\n");break;}}}//用户登录 void jmain(){int aa=0;//登录状态 char deng1[N],deng2[N],deng3[N],deng4[N];int cc;FILE *fp;if((fp=fopen("C:\\Users\\Administrator\\Desktop\\实践作业\\账号密码.txt","r"))==NULL){printf("File open error!\n");//文件地址需要根据自己电脑上的实际地址填写exit(0);}printf("****** 请输入账号和密码(登录): ******\n");scanf("%s%s",deng1,deng2);while(1){while(!feof(fp)){fscanf(fp,"%s%s",deng3,deng4);if((strcmp(deng1,deng3)==0)&&(strcmp(deng2,deng4)==0)){printf("****** 登录成功!******\n");fclose(fp);zxc();aa=1;}}if(aa==0){system("cls");printf("输入错误,重新输入请按1,返回上一级请按2\n");printf("******请输入你的选择 :******\n");scanf("%d",&cc);if(cc==1) jmain();elsexinjian();}}}//添加图书信息void tsmenu(){system("cls");int xx;FILE *fp;if((fp=fopen("C:\\Users\\某某\\Desktop\\实践作业\\图书信息.txt","a"))==NULL){printf("file open error!\n");exit(0);}printf("****** 请输入图书ISBN号: ******\n");scanf("%s",su.num);printf("****** 请输入图书书名: ******\n");scanf("%s",su.name);printf("****** 请输入图书所属学科:******\n");scanf("%s",su.xue);printf("****** 请输入图书主编: ******\n");scanf("%s",su.zhubian);printf("****** 请输入图书价格: ******\n");scanf("%lf",&su.price);printf("****** 请输入图书出版社: ******\n");scanf("%s",su.she);printf("****** 请输入图书出版年月:******\n");scanf("%s",su.yue);printf("****** 请输入图书数量: ******\n");scanf("%d",&su.n);fprintf(fp,"%s %s %s %s %lf %s %s %d\n",su.num,su.name,su.xue,su.zhubian,su.price,su.she,su.yue,su.n);if(fclose(fp)){printf("Can not close the file!\n");exit(0);}while(1){system("cls");printf("添加完毕,返回上一级请按1,继续添加请按2\n");scanf("%d",&xx);if(xx==1)zxc();else if(xx==2)tsmenu();elseprintf("****** 输入错误,请重新输入 ******\n");}}//图书价值 void zjts(){system("cls");int q=0,i;FILE *fp;double sum;sum=0;if((fp=fopen("C:\\Users\\某某\\Desktop\\实践作业\\图书信息.txt","r"))==NULL){printf("file open error!\n");exit(0);}while(!feof(fp)){fscanf(fp,"%s %s %s %s %lf %s %s %d",su.num,su.name,su.xue,su.zhubian,&su.price,su.she,su.yue,&su.n);sum+=su.price*su.n;}fclose(fp);printf("图书的价值为%.2lf元\n",sum);system("pause");zxc(); } //删除图书 void tsmain(){system("pause");system("cls");int n=0,i=0;struct book m[20];struct book m2[20];FILE *fp,*fp1;char b[20];if((fp=fopen("C:\\Users\\Administrator\\Desktop\\实践作业\\图书信息.txt","r"))==NULL){printf("file open error");exit(0);}printf("请输入图书ISBN码或所属学科\n"); scanf("%s",b);while(!feof(fp)){fscanf(fp,"%s%s%s%s%lf%s%s%d",m[n].num ,m[n].name,m[n].xue,m[n].zhubian, &m[n].price, m[n].she, m[n].yue, &m[n].n);if(strcmp(m[n].xue,b)!=0&&strcmp(m[n].num,b)!=0 ){strcpy(m2[i].num ,m[n].num);strcpy(m2[i].name,m[n].name );strcpy(m2[i].xue ,m[n].xue );strcpy(m2[i].zhubian,m[n].zhubian );m2[i].price =m[n].price ;strcpy(m2[i].she ,m[n].she );strcpy(m2[i].yue ,m[n].yue );m2[i].n =m[n].n ;i++;}n++;}fclose(fp);if((fp=fopen("图书信息.txt","w"))==NULL){printf("file open error");exit(0);} int j;for(j=0;j<i-1;j++){fprintf(fp,"%s %s %s %s %.0lf %s %s %d\n",m2[j].num ,m2[j].name,m2[j].xue,m2[j].zhubian, m2[j].price, m2[j].she, m2[j].yue, m2[j].n);}fclose(fp);printf("删除成功!"); system("pause");system("cls");zxc();}//遍历void jmenu(){FILE *fp;if ((fp=fopen ("图书信息.txt","r"))==NULL){printf("File open error!\n");exit (0);}while(!feof (fp)){fscanf (fp,"%s %s %s %s %lf %s %s %d",su.num,su.name,su.xue,su.zhubian,&su.price,su.she,su.yue,&su.n);printf("%s %s %s %s %lf %s %s %d\n",su.num,su.name,su.xue,su.zhubian,su.price,su.she,su.yue,su.n);}if (fclose(fp)){printf ("Can not close the file! \n");exit (0);}system("pause") ;zxc();}//按ISBN号查询图书 void lmenu(){system("cls");FILE *fp;int flag=0;char fnum[N];printf("请输入ISBN码\n");scanf("%s",fnum);if ((fp=fopen("C:\\Users\\Administrator\\Desktop\\实践作业\\图书信息.txt","r"))==NULL){printf("File open error!\n");exit (0);}while(!feof(fp)){fscanf(fp,"%s %s %s %s %lf %s %s %d",su.num,su.name,su.xue,su.zhubian,&su.price,su.she,su.yue,&su.n);if(strcmp(su.num,fnum)==0){printf("%s %s %s %s %.2f %s %s %d\n",su.num,su.name,su.xue,su.zhubian,su.price,su.she,su.yue,su.n);flag=flag+1;}}if(flag==0)printf("没有此ISBN号!\n"); if (fclose(fp)){printf ("Can not close the file! \n");exit (0);}system("pause");zxc();}//按书名查询图书 void main1(){system("cls");FILE *fp;int flag=0;char fname[N];printf("请输入图书书名\n");scanf("%s",fname);if ((fp=fopen ("C:\\Users\\Administrator\\Desktop\\实践作业\\图书信息.txt","r"))==NULL){printf("File open error!\n");exit (0);}while(!feof (fp)){fscanf (fp,"%s %s %s %s %lf %s %s %d",su.num,su.name,su.xue,su.zhubian,&su.price,su.she,su.yue,&su.n);if(strcmp(su.name,fname)==0){printf("%s %s %s %s %.2f %s %s %d\n",su.num,su.name,su.xue,su.zhubian,su.price,su.she,su.yue,su.n);flag=flag+1;}}if(flag==0)printf("没有这本书!\n"); if (fclose(fp)){printf ("Can not close the file! \n");exit (0);}system("pause");zxc();}

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