欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    图书管理方案计划系统(含源代码)c语言学习知识数据结构课程教学设计报告.doc

    • 资源ID:2641498       资源大小:177.35KB        全文页数:35页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    图书管理方案计划系统(含源代码)c语言学习知识数据结构课程教学设计报告.doc

    .数据结构大作业图书管理系统工程管理 121279044 伍杨目录一、题目要求1二、总体设计2三、编码实现21)定义图书结构体22)登记操作33)查看操作84)删除操作105)Main函数19四、调试与测试25五、五心得体会27六、用户手册27一、 题目要求1) 目的要求本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成管理系统设计,以及C语言算法的掌握,并能最终实现本系统的功能要求,通过这个程序可以学习到以前调试短程序没有的的经验。2) 题目要求实现图书管理信息系统的设计。要求实现图书添加、显示全部图书、查询、借阅和归还。主要考查利用文件的操作!二、 总体设计三、 编码实现1) 定义图书结构体struct book char bookname20; /书名 int NO; /书编号 char type20; /类型 int date; /到书日期;struct person char name10; /姓名 char classes20; /班级 int number; /学号 char telephone12; /联系电话 int NO; /书编号 char bookname20; /书名 int borrowdate; /借书日期 int returndate; /还书日期2) 登记操作void new_book() /登记新书FILE *fp;struct book b; int i,j;if(fp=fopen("shuku.txt","a")=NULL)printf("File open error!n");exit(0);printf("请朱老师输入此次收到的书本总数:"); scanf("%d",&i);for(j=0;j<i;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);fprintf(fp," %s",b.type);printf("请朱老师输入到书日期:");scanf("%d",&b.date);fprintf(fp," %d",b.date);if(fclose(fp)printf("Can not close the file!n");exit(0);void new_person() /登记借书FILE *fp;struct person p;char choice;if(fp=fopen("jieshujilu.txt","a")=NULL)printf("File open error!n");exit(0);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);printf("请朱老师输入还书日期:");scanf("%d",&p.returndate);fprintf(fp," %d",p.returndate);printf("nt您想继续吗?(y/n)");scanf(" %c",&choice);if(choice=Y|choice=y)system("cls");new_person();if(fclose(fp)printf("Can not close the file!n");exit(0);实现程序对文件的读取void Read() int i=0;int j=0;ifstream in("Libra.txt",ios:out);in>>i;all=i;if(i>0&&i<=Max)for(j=1;j<=i;j+)in>>dataj.id>>dataj.name>>dataj.type>>dataj.status>>dataj.count;in.close();3) 查看操作v void see_book() /查看书库记录FILE *fp;long NO;char bookname20;char type20;long date;if(fp=fopen("shuku.txt","r")=NULL)printf("File open error!n");exit(0);while(!feof(fp)fscanf(fp,"%s%ld%s%ld",bookname,&NO,type,&date);printf("%-10s %-10ld %-10s %ldn",bookname,NO,type,date);if(fclose(fp)printf("Can not close the file!n");exit(0);void see_person() /查看所有借书记录FILE *fp;char name10; char classes20; int number;char telephone20; int NO; char bookname20; int borrowdate; int returndate; if(fp=fopen("jieshujilu.txt","r")=NULL)printf("File open error!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 %ldn",name,classes,number,telephone,NO,bookname,borrowdate,returndate);if(fclose(fp)printf("Can not close the file!n");exit(0);4) 删除操作void delete_books() /删除旧书FILE *fp;struct book b;int number;void deletebooks();printf("请输入您要删除的书编号:");scanf("%d",&number);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("nnt*图书信息*n");printf("nt图书书名:%25s",b.bookname);printf("nt-");printf("nt图书编号:%25d",b.NO);printf("nt-");printf("nt图书类型:%23s",b.type);printf("nt-");printf("nt到书日期:%25d",b.date);printf("nt-");deletebooks();void deletebooks()FILE *fp,*fp1,*fp2,*fp3;int number;struct book b;printf("nn确认删除?请再次输入书编号:");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);if(b.NO=number)continue;else fprintf(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("不能打开此文件!n");exit(0);while(!feof(fp2) /将临时文件的内容写人源文件fscanf(fp2,"%s %d %s %d",b.bookname,&b.NO,b.type,&b.date);fprintf(fp3,"%s %d %s %d",b.bookname,b.NO,b.type,b.date);fclose(fp2);fclose(fp3);printf("n 删除成功!n");void delete_returnbook() /删除借书记录FILE *fp;int numbers;struct person p;void deletereturnbook();char choice;printf("n请输入所还书本的书编号:");scanf("%d",&numbers);if(fp=fopen("jieshujilu.txt","r")=NULL)printf("不能打开此文件!n");exit(0);while(!feof(fp) fscanf(fp,"%s %s %ld %s %ld %s %ld %ld",p.name,p.classes,&p.number,p.telephone,&p.NO,p.bookname,&p.borrowdate,&p.returndate);if(p.NO=numbers)printf("nt*图书信息*n");printf("nt借书人姓名:%20s",p.name);printf("nt-");printf("nt借书人班级:%20s",p.classes);printf("nt-");printf("nt借书人学号:%20d",p.number);printf("nt-");printf("nt借书人联系电话:%20s",p.telephone);printf("nt-");printf("nt图书编号:%24d",p.NO);printf("nt-");printf("nt图书名称:%23s",p.bookname);printf("nt-");printf("nt借书日期:%25d",p.borrowdate);printf("nt-");printf("nt还书日期:%25d",p.returndate);printf("nt-");deletereturnbook();printf("nt您想继续吗?(y/n)");scanf(" %c",&choice);if(choice=Y|choice=y)system("cls");delete_returnbook();fclose(fp);void deletereturnbook()FILE *fp,*fp1,*fp2,*fp3;struct person p;int numbers;printf("nn确认删除?请再次输入书编号:");scanf("%d",&numbers);if(fp=fopen("jieshujilu.txt","r")=NULL)printf("不能打开此文件!n");exit(0);if(fp1=fopen("tempbook.txt","w")=NULL)printf("不能打开此文件!n");exit(0);while(!feof(fp)fscanf(fp,"%s %s %d %s %d %s %d %d",p.name,p.classes,&p.number,p.telephone,&p.NO,p.bookname,&p.borrowdate,&p.returndate);if(p.NO=numbers)continue;else fprintf(fp1,"%s %s %d %s %d %s %d %d",p.name,p.classes,p.number,p.telephone,p.NO,p.bookname,p.borrowdate,p.returndate);fclose(fp);fclose(fp1);if(fp2=fopen("tempbook.txt","r")=NULL)printf("不能打开此文件!n");exit(0);if(fp3=fopen("jieshujilu.txt","w")=NULL)printf("不能打开此文件!n");exit(0);while(!feof(fp2) /将临时文件写人源文件fscanf(fp2,"%s %s %d %s %d %s %d %d",p.name,p.classes,&p.number,p.telephone,&p.NO,p.bookname,&p.borrowdate,&p.returndate); fprintf(fp3,"%s %s %d %s %d %s %d %d",p.name,p.classes,p.number,p.telephone,p.NO,p.bookname,p.borrowdate,p.returndate);fclose(fp2);fclose(fp3);printf("n 删除成功!n");5) Main函数int main(void)int choice;char choice2;struct book;struct person;doprintf("nnn 图书馆管理系统na");printf(" *n");printf(" *朱老师您好吖*功能选项: 登记*请按1,*n");printf(" * 查看/查询*请按2 *n");printf(" * 删除* 请按3 *n");printf(" * 退出* 请按0 *n");printf(" *nnn");printf(" 请选择功能:");scanf("%d",&choice);switch(choice)case 1:printf(" 登记选项:新书登记请按1,借书登记请按2,返回请按3n");printf("请选择:");scanf("%d",&choice);switch(choice)case 1: system("cls"); /清屏printf("新书资料登记:nn");new_book(); /新书登记printf("登记完毕!n");printf("n");scanf(" %c",&choice2);system("cls");break;case 2:system("cls");printf("借书资料登记:nn");new_person(); /借书登记printf("n press anykey ");scanf(" %c",&choice2);system("cls");break;case 3: system("cls");break;break; case 2:printf(" 查看/查询选项:书库查看请按1,总借书记录查看请按2,到期记录查询请按3,返回请按4n");printf("请选择:");scanf("%d",&choice);switch(choice)case 1: system("cls");printf("欢迎朱老师进入书库!nn");printf("书名 书编号 类型 到书日期n");printf("-n");see_book(); /书库显示printf("n press anykey ");scanf(" %c",&choice2);system("cls");break;case 2:system("cls");printf("欢迎朱老师进入借书记录!nn");printf("姓名 班级 学号 联系电话 书编号 书名 借书日期 到书日期n");printf("-n");see_person(); /借书记录显示printf("n press anykey ");scanf(" %c",&choice2);system("cls");break;case 3:system("cls");search_person(); /显示符合记录printf("n press anykey ");scanf(" %c",&choice2);system("cls");break;case 4: system("cls");break;break;case 3:printf(" 删除选项:旧书删除请按1,借书记录删除请按2,返回请按3n");printf("请选择:");scanf("%d",&choice);switch(choice)case 1: system("cls");delete_books(); /删除ingprintf("n press anykey ");scanf(" %c",&choice2);system("cls");break;case 2:system("cls");delete_returnbook(); /删除ingprintf("n press anykey ");scanf(" %c",&choice2);system("cls");break;case 3: system("cls");break;break;case 0: system("cls");while(choice != 0);return 0;四、 调试与测试主菜单登记查看删除生成的文件内信息五、 五心得体会经过这次大作业,我觉得代码的编写,最主要的的是编程思想,语言其实不是太重要,思路最重要! 六、 用户手册程序执行文件为 lib sys.exe,打开执行文件后按提示操作即可

    注意事项

    本文(图书管理方案计划系统(含源代码)c语言学习知识数据结构课程教学设计报告.doc)为本站会员(一***)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开