您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页C++编写图书管理系统

C++编写图书管理系统

来源:华佗健康网
#include 〈stdio.h〉 #include char number[10]; char book[16]; char name[8]; char type[5]; char addr[16]; char time[8]; char cost[6]; };

char filename[20]; FILE *fp=NULL;

void creat(); void output(); void search(); void append(); void modify(); void delet();

int main() { int m; creat(); while(1) { printf(”\\n\\n添加,请按1\"); printf(”\\n查询,请按2”); printf(\"\\n修改,请按3”); printf(\"\\n删除,请按4”); printf(”\\n输出,请按5”); printf(”\\n退出,请按0\\n”); scanf(\"%d”,&m); if(m>=0&&m<=5) { switch(m) { case 1:append();break; case 2:search();break; case 3:modify();break; case 4:delet();break;

}

case 5:output();break; case 0:printf(”退出程序!”);break; } printf(\"\\n\\n操作完毕,请再次选择!”); } else printf(”\\n\\n选择错误,请再次选择!\");

void creat()

{ FILE *p=NULL; struct person one;

long s1;

printf(”\\n请输入图书信息:\"); scanf(\"%s”,filename);

if((fp=fopen(filename,”w\"))==NULL) { printf(\"\\n不能建立图书信息系统!\"); return;

} fprintf(fp,\"%10s %16s %8s %5s %16s %8s %6s\\n”,\"登录号”,\"书名\”作者名”,\"分类号\”出版单位”,\"出版时间”,\"价格”); printf(\"\\n请输入登录名,书名,作者名,分类号,出版单位,出版时间,价格\\n\"); scanf(”%s\。number); while (strcmp(one.number,”0\")) { scanf(”%s %s %s %s %s %s\。name,one.type,one.addr,one。time,one.cost); fprintf(fp,\"%10s %16s %8s %5s %16s %8s %6s\\n\",one.number,one.book,one。name,one。type,one。addr,one。time,one。cost); scanf(\"%s\",one。number); } fclose(fp); }

void output() { struct person one; if((fp=fopen(filename,”r\"))==NULL) { printf(\"\\n不能打开图书管理系统!”); return; } printf(”\\n%20s\\n\",”图 书 信 息”);

while(!feof(fp)) { fscanf(fp,\"%s %s %s %s %s %s %s\\n\,one。book,one。name,one。type,one.addr,one.time,one.cost); printf(”%10s %16s %8s %5s %16s %8s %6s\,one.book,one。name,one.type,one.addr,one.time,one。cost); } fclose(fp); }

void append() { struct person one;

if((fp=fopen(filename,\"a\"))==NULL) { }

printf(\"\\n不能打开图书管理系统!”); return;

printf(\"\\n请输入添加的登录名,书名,作者,分类号,出版单位,出版时间,价格\\n\"); scanf(\"%s%s%s%s%s%s%s”,one。number,one.book,one.name,one.type,one.addr,one.time,one.cost); fprintf(fp,”%10s %16s %8s %5s %16s %8s %6s\\n\。number,one。book,one.name,one。type,one。addr,one。time,one。cost); fclose(fp); }

void search() { int k=0;

char namekey[16]; struct person one; printf(\"\\n请输入书名:\"); scanf(\"%s”,namekey); if((fp=fopen(filename,\"rb\"))==NULL) { printf(”\\n不能打开图书管理系统!\"); return; } while(!feof(fp)) { fscanf(fp,”%s%s%s%s%s%s%s\\n”,one.number,one.book,one.name,one。type,one。addr,one。time,one.cost); if(!strcmp(namekey,one。book)) { printf(”\\n\\n已查到,记录为:”); printf(\"\\n%10s %16s %8s %5s %16s %8s %6s”,one.number,one.book,

one.name,one.type,one。addr,one。time,one.cost); k=1; } } if(!k)

printf(”\\n\\n对不起,图书管理系统中没有该图书信息!”); fclose(fp); }

void modify() {

int k=0; long offset;

char namekey[16]; struct person one;

printf(”\\n请输入书名:”); scanf(\"%s”,namekey);

if((fp=fopen(filename,\"r+\"))==NULL) { printf(”\\n不能打开图书管理系统!\"); return;

} while(!feof(fp)) { offset=ftell(fp); fscanf(fp,”%s%s%s%s%s%s%s\\n\",one。number,one。book,one。name,one.type,one.addr,one.time,one。cost); if(!strcmp(namekey,one。book)) { k=1; break; } } if(k) { printf(\"\\n已查到,记录为:\"); printf(”\\n%10s %16s %8s %5s %16s %8s %6s\",one。number,one.book,one.name,one.type,one。addr,one.time,one。cost); printf(\"\\n请输入新登录名,书名,作者名,分类号,出版单位,出版时间,价格:”); scanf(\"%s%s%s%s%s%s%s\",one。number,one。book,one.name,one。type,one。addr,one。time,one.cost); fseek(fp,offset,SEEK_SET); printf(”%ld”,ftell(fp)); fprintf(fp,\"%10s %16s %8s %5s %16s %8s %6s\\n”,one.number,one.book,one。name,one.type,one。addr,one。time,one.cost);

}

} else printf(\"\\n对不起,图书管理系统中没有此书的信息!\"); fclose(fp);

void delet() { int m,k=0; long offset1;

char namekey[16],valid[8]; struct person one;

printf(\"\\n请输入书名:\"); scanf(\"%s\",namekey);

if((fp=fopen(filename,”r+”))==NULL) { printf(\"\\n不能打开图书管理系统!\"); return; }

while(!feof(fp)) {

offset1=ftell(fp); fscanf(fp,”%s%s%s%s%s%s%s\\n”,one。number,one。book,one.name,one.type,one。addr,one.time,one。cost); if(!strcmp(namekey,one.book)) { k=1; break; } } if(k) { printf(”\\n已查到,记录为:\"); printf(”\\n%10s %16s %8s %5s %16s %8s %6s\\n\",one。number,one。book,one.name,one。type,one.addr,one。time,one.cost); printf(”\\n确定要删除,按1;不删除,按0:\"); scanf(”%d\&m); if(m) { fseek(fp,offset1,SEEK_SET); fprintf(fp,”%10s %16s %8s %5s %16s %8s %6s\\n”,\"”,\"”,””,\"\",\"”,\"\ } } else printf(”\\n对不起,图书管理系统中没有此书的信息!”);

}

fclose(fp);

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务