图书管理系统(含源代码)c语言-数据结构课程设计报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据结构大作业121279044伍杨数据结构大作业图书管理系统工程管理121279044伍杨目录一、题目要求...................................................................2二、总体设计...................................................................2三、编码实现...................................................................31)定义图书结构体.......................................................32)登记操作...............................................................43)查看操作...............................................................84)删除操作.............................................................115)Main函数...........................................................20四、调试与测试..............................................................26五、五心得体会..............................................................28六、用户手册.................................................................28数据结构大作业121279044伍杨一、题目要求1)目的要求本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成管理系统设计,以及C语言算法的掌握,并能最终实现本系统的功能要求,通过这个程序可以学习到以前调试短程序没有的的经验。2)题目要求实现图书管理信息系统的设计。要求实现图书添加、显示全部图书、查询、借阅和归还。主要考查利用文件的操作!二、总体设计数据结构大作业121279044伍杨三、编码实现1)定义图书结构体structbook{charbookname[20];//书名intNO;//书编号chartype[20];//类型intdate;//到书日期};structperson{charname[10];//姓名charclasses[20];//班级intnumber;//学号chartelephone[12];//联系电话intNO;//书编号charbookname[20];//书名intborrowdate;//借书日期intreturndate;//还书日期数据结构大作业121279044伍杨2)登记操作voidnew_book()//登记新书{FILE*fp;structbookb;inti,j;if((fp=fopen(shuku.txt,a))==NULL){printf(Fileopenerror!\n);exit(0);}printf(请朱老师输入此次收到的书本总数:);scanf(%d,&i);for(j=0;ji;j++){printf(请朱老师输入书名:);scanf(%s,b.bookname);fprintf(fp,%s,b.bookname);printf(请朱老师输入书编号:);scanf(%d,&b.NO);fprintf(fp,%d,b.NO);printf(请朱老师输入类型:);scanf(%s,b.type);数据结构大作业121279044伍杨fprintf(fp,%s,b.type);printf(请朱老师输入到书日期:);scanf(%d,&b.date);fprintf(fp,%d,b.date);}if(fclose(fp)){printf(Cannotclosethefile!\n);exit(0);}}voidnew_person()//登记借书{FILE*fp;structpersonp;charchoice;if((fp=fopen(jieshujilu.txt,a))==NULL){printf(Fileopenerror!\n);exit(0);}数据结构大作业121279044伍杨printf(请朱老师输入借书人姓名:);scanf(%s,p.name);fprintf(fp,%s,p.name);printf(请朱老师输入借书人班级:);scanf(%s,p.classes);fprintf(fp,%s,p.classes);printf(请朱老师输入借书人学号:);scanf(%d,&p.number);fprintf(fp,%d,p.number);printf(请朱老师输入借书人联系电话:);scanf(%s,p.telephone);fprintf(fp,%s,p.telephone);printf(请朱老师输入书编号:);scanf(%d,&p.NO);fprintf(fp,%d,p.NO);printf(请朱老师输入书名:);scanf(%s,p.bookname);fprintf(fp,%s,p.bookname);printf(请朱老师输入借书日期:);scanf(%d,&p.borrowdate);fprintf(fp,%d,p.borrowdate);数据结构大作业121279044伍杨printf(请朱老师输入还书日期:);scanf(%d,&p.returndate);fprintf(fp,%d,p.returndate);printf(\n\t您想继续吗?(y/n));scanf(%c,&choice);if(choice=='Y'||choice=='y'){system(cls);new_person();}if(fclose(fp)){printf(Cannotclosethefile!\n);exit(0);}}实现程序对文件的读取voidRead(){inti=0;intj=0;ifstreamin(Libra.txt,ios::out);ini;数据结构大作业121279044伍杨all=i;if(i0&&i=Max){for(j=1;j=i;j++){indata[j].iddata[j].namedata[j].typedata[j].statusdata[j].count;}}in.close();}3)查看操作vvoidsee_book()//查看书库记录{FILE*fp;longNO;charbookname[20];chartype[20];longdate;数据结构大作业121279044伍杨if((fp=fopen(shuku.txt,r))==NULL){printf(Fileopenerror!\n);exit(0);}while(!feof(fp)){fscanf(fp,%s%ld%s%ld,bookname,&NO,type,&date);printf(%-10s%-10ld%-10s%ld\n,bookname,NO,type,date);};if(fclose(fp)){printf(Cannotclosethefile!\n);exit(0);}}voidsee_person()//查看所有借书记录{数据结构大作业121279044伍杨FILE*fp;charname[10];charclasses[20];intnumber;chartelephone[20];intNO;charbookname[20];intborrowdate;intreturndate;if((fp=fopen(jieshujilu.txt,r))==NULL){printf(Fileopenerror!\n);exit(0);}while(!feof(fp)){fscanf(fp,%s%s%ld%s%ld%s%ld%ld,name,classes,&number,telephone,&NO,bookname,&borrowdate,&returndate);printf(%-5s%-5s%ld%-5s%ld%-5s%ld%ld\n,name,classes,number,telephone,NO,bookname,borrowdate,returndate);数据结构大作业121279044伍杨};if(fclose(fp)){printf(Cannotclosethefile!\n);exit(0);}}4)删除操作voiddelete_books()//删除旧书{FILE*fp;structbookb;intnumber;voiddeletebooks();printf(请输入您要删除的书编号:);scanf(%d,&number);数据结构大作业121279044伍杨if((fp=fopen(shuku.txt,r))==NULL){printf(不能打开此文件!\n);exit(0);}while(!feof(fp)){fscanf(fp,%s%d%s%d,b.bookname,&b.NO,b.type,&b.date);if(b.NO==number){printf(\n\n\t***************图书信息*******************\n);printf(\n\t图书书名:%25s,b.bookname);printf(\n\t-----------------------------------------);printf(\n\t图书编号:%25d,b.NO);printf(\n\t-----------------------------------------);printf(\n\t图书类型:%23s,b.type);printf(\n\t-----------------------------------------);printf(\n\t到书日期:%25d,b.date);printf(\n\t-----------------------------------------);deletebooks();}}数据结构大作业121279044伍杨}voiddeletebooks(){FILE*fp,*fp1,*fp2,*fp3;intnumber;structbookb;printf(\n\n确认删除?请再次输入书编号:);scanf(%d,&number);if((fp=fopen(shuku.txt,r))==NULL){printf(不能打开此文件!\n);exit(0);}if((fp1=fopen(tempshuku.txt,w))==NULL){//建立一个临时文件printf(不能打开此文件!\n);exit(0);}while(!feof(fp)){fscanf(fp,%s%d%s%d,b.bookname,&b.NO,b.type,&b.date);数据结构大作业121279044伍杨if(b.NO==number)continue;elsefprintf(fp1,%s%d%s%d,b.bookname,b.NO,b.type,b.date);}fclose(fp);fclose(fp1);if((fp2=fopen(tempshuku.txt,r))==NULL){printf(不能打开此文件!\n);exit(0);}if((fp3=fopen(shuku.txt,w))==NULL){//清空书库printf(不能打开此文件!\

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功